Distributed software development is to business as email is to correspondence; the versatile wave of the future.
As romantic as it is to remember the Pony Express, and as invaluable as our Postal Service remains, it can be far less practical logistically – especially in our pandemic times – to go the long route and conduct business in person that could otherwise be remote.
If the physical workplace can become ‘non-essential’, what does that open us up for in terms of innovation? And how do we retain a healthy workplace culture?
Often in the distributed software world, doing things in person can mean flying in half a staff of engineers from Montana to work on a project at an office in Nashville, rather than orchestrating the infrastructure for remote access.
The question you should be asking is why? Why, if distributed models are more efficient, (and more cost effective…but we’ll get into that), are they not more popular? The answer is astonishingly basic; because we didn’t need them until now.
Necessity is the mother of invention, but what does it say about us when the invention already exists? Perhaps we can say instead – in this case – that necessity is the mother of use.
There are two workable approaches to distribution when it comes to distance. You’re not limited to one or the other but let’s break them down separately.
Nearshore means your team is all in the same time zone. Remote work may have been sprung upon you and your team was already centralized to one physical location. Just because it’s new, doesn’t mean it can’t last. Your team may be centralized and able to resume in-person work when conditions allow, but it might make sense to have only a few in-office days; both for your team and for your bottom line.
If this is your current model, you were likely pre-prepared for pandemic conditions without realizing it. If this isn’t your model, don’t let a location-less intimidate you. Distributed operations can be made easy with communication apps, project management resources, and an effort to create a team culture.
TIP: Organize weekly team calls – even video calls – to help keep everyone connected and add some communication that isn’t strictly done via messaging.
Software development takes place primarily virtually. So from the perspective of engineering, the location of the developer’s environment doesn’t matter. Distributed development calls back to that classic high school debate class question; if you were stranded on a desert island, what few things would you bring with you to survive? Here are the essentials…
Just as you would if you were sitting in a room with your colleagues, you need to be able to push your updates to dev, and then push them further to live. You need your script editors, compilers, and all the basics that you already have installed – and you need a reliable internet connection to transmit your updates.
The advantage to working in person is that all your people are conveniently in one place. Distributed development requires a slight shift in perspective to the internet as your ‘one place.’ Apps like Slack, Trelly, Microsoft Teams, etc. support secure messaging and communication between your team, complete with file sharing. To make sure you’re ready to go, check out our provisions list.
We’ve already talked about communication platforms but communication is more than just an instant messaging service; especially where we’re talking about delegation, accountability, and reliability but one of the biggest hurdles in a distributed model is maintaining and enforcing routine.
Instead of importing your resources to build a physical infrastructure, focus on building a stable digital one. Brick and mortar cornerstones like accountants, project leads, and your general workforce can keep their traditional structure through platforms and services; supporting necessities like payroll, scheduling, project development and management.
A main difference is in the perception of supervision and accountability but it’s not a loss so much as a trade. Instead of physically overseeing your team and having in-person morning meetings, you remotely manage with file sharing, timelines, and structured task lists with check-ins.
According to research done by Global Workplace Analytics there are some serious wallet-friendly advantages to distributed models.
Not only does a distributed model reduce operation costs, it neutralizes workplace conflicts and discriminations by removing competitive workplace interactions.
Now that we’ve talked dollars and cents, let’s circle back to the core issue of developing software in a distance setting.
We mentioned earlier that it’s crucial to have a reliable way to project strategy and outline projects. Roadmaps are the best way to handle project management with platforms like trello, Monday.com, or Asana, which can assign and alert to tasks.
A more philosophical roadmap topic is where we are on the timeline in terms of distributed development as a stepping stone to future working models.
The precursor to the distributed model was the release of the internet as a public tool; engineers and professionals could start to bring their work home with them at the end of the day, communication accelerated, and doors opened to new ways of making deals and furthering projects.
We were heading toward widespread distributed work but Covid-19 accelerated our timeline. Now the question remains, do we simply get comfortable with distributed teams and remote models? Or, do we push the envelope to further break down productivity and communication barriers through AI, automated testing, and team-fueled ingenuity that is not affected by geography.
Need help navigating this new world? We’ve got your back, reach out today for an Assessment to discover what your business needs are for your next digital transformation – and how TECKpert can make it happen.