“We built the company of the future…” SoftwareMill’s Distributed Team and How to Do it Yourself
“What we care most about is the end-result of the project, not whether the team is in the same room together.”
- A watertight communication protocol is of paramount importance.
- You need the right people, and due diligence plays a massive part in that.
- Pair programming is possible, and encouraged.
- Conducting retrospectives will result in fewer mistakes and help you move forward faster.
Unusual company structures are nothing new. Distributed teams. Flat-hierarchies. Blended workforces. It’s easy to toss around buzzwords and speculate how it would all work in theory – but SoftwareMill are out there showing you that, yes! It can be done, and it can be done really, really well.
Founded in 2009, SoftwareMill have quickly made a name for themselves as a company possessing not only world-class technical expertise and excellent project management skills, but the courage to do things their own way and prove that flat hierarchies are scalable.
So, what do we mean by flat hierarchies?
In SoftwareMill’s case, it’s giving every developer the power to make decisions by removing management from the equation.
The simplicity of having a developer talk directly with a client made so much more sense than creating a feedback loop of developer > project manager > client, and then back again.
The accomplished two things:
- Firstly, the feedback loop is shortened.
- Secondly, by making a developer their own product owner, SoftwareMill found that their developers were much more interested in the projects they were working on and were motivated to do further research. Developers also found interfacing with clients inspiring.
There’s a lot to be learned from SoftwareMill’s example, and we’re going to show you how a well-organized, distributed team brimming with confidence and trust in one another can emulate their success.
SoftwareMill is among the top 5%
of all companies screened by Digital Knights
Pain Point: Communication
“It is very easy to “leave” your people feeling alone or left without any connection to the rest of your company.”
You don’t need us to tell you that communication is important. But we are going to tell you anyway:
Communication. Is. Important.
SoftwareMill found that encouraging an informal structure to their daily meetings allowed the team to learn what makes each other tick, revealing more about each individual on a personal level, and ultimately allowing everyone to understand and communicate with one another better – including their clients.
Additionally, by introducing an informal structure it gave the team a way of comfortably voicing their concerns. In a high-pressure environment it’s difficult to get people to say what’s on their mind, and ultimately it’s this suppression that causes these lapses in communication in the first place. Introducing a ‘looser’ feel to how everyone communicates puts people at ease and removes any obstacles that would have otherwise stopped someone from voicing a concern in the first place.
Team size dictates optimal setup
In their first year and half, SoftwareMill employed a routine of daily standups following a scrum methodology, and usually following the same pattern:
- What did I do yesterday?
- What am I doing today?
- Is there anything impeding my work?
This worked for SoftwareMill, as long as the team was small. Once the team grew to ten people the meetings got longer and longer, and quickly became a bore. Despite the daily contact nobody was learning anything about their coworkers. Take a more informal approach to learn about each other, and not just what they’re up to in their work.
Have a real conversation
Body language makes up 55% of our overall communication.
When we have a conversation with someone in person, there’s so much going on besides what’s being said.
SoftwareMill’s own findings confirm this, who discovered that they need to see other people for it to feel like a proper conversation.
The problem is finding the right tool to facilitate this kind of online conference with video, that can also support a larger number of users simultaneously.
The answer is that, no, there isn’t the right tool per se, but the right tools. Plural.
SoftwareMill combine TeamSpeak with Slack to form a virtual office with a general channel allowing company wide comms, and chatrooms for projects that allow collaborators to chat in real time. Slack gives them a repository of project info to search through when they need it, and TeamSpeak’s voice activation is especially useful for developers, whose hands are almost always on their keyboards.
Their daily standups take place over TeamSpeak and BigBlueButton, and on the client side they’ve found Zoom or Skype to be the most convenient.
SoftwareMill’s communication methods have been developed over years of trial and error, so learn from their mistakes – and their wins – and level up your remote communication strategy.
Tools they use:
- Slack – messaging / chat communication
- BigBlueButton – video streaming
- TeamSpeak – voice communication
- Confluence – an enterprise wiki for documentation and knowledge sharing
- Trello, Jira – agile project management tools
- Skype, Hangout, Zoom – standups with clients
- Join.me – pair programming tool
Other necessary tools:
- Git – a flexible source control system
- IntelliJ IDEA – the best Scala/Java development environment
- TeamCity, Jenkins – for continuous integration and testing
- GitHub, Stash, Codebrag – tools for code reviews
Don’t be overwhelmed. You’ll find what works for you within your team, and that list should get you started.
Pain Point: The Right People
Distributed teams mean that you can feasibly hire the best people available, irrespective of location.
Suddenly, the right people with all the skills and competencies you’re looking for are viable, without the headache of relocation. People, generally speaking, like where they live, don’t enjoy commutes, and will choose companies that are compatible with their home life too. Everyone’s a winner.
Do your due diligence, too.
Finding the best developers and ensuring they’re a good fit is a question of due diligence. Distributed teams also require a business acumen to complement technical brilliance, and preferably validated by reliable sources. Due diligence programs, like the one offered by Digital Knights, includes checking: technical expertise, code and documentation, customer satisfaction, external communication, company culture, and other key elements.
But despite access to top talent, the absence of a physical office is not without its limitations.
It may be highly productive to work from home, according to Stanford, but real life gets in the way. Remote working requires self-discipline. Ask any freelancer, or digital nomad. It’s crucial to establish a rhythm to your working day – but this doesn’t just mean setting a 9-5 schedule and leaving it at that. Flexi-time is an attractive and often expected part of working in a distributed team, but setting expectations about when a task should be performed is essential.
There is a massive upside to no physical office space and – you guessed it – fewer overheads. SoftwareMill reinvest the money they would’ve spent on having an actual office and redistribute it into better training, employee benefits, and the best equipment and tools.
Pain Point: The Right Culture, Better Tools and Better Work.
SoftwareMill, despite being distributed, still practice pair programming.
For the uninitiated, pair programming is an agile software development technique in which two programmers work together at one workstation. One writes code while the other reviews each line as it’s typed.
Screensharing and a method of interacting with each other is all that’s required to effectively pair program, and solve problems before they’re ever an issue.
Sharing is caring
SoftwareMill is a company that shares. The team welcome feedback and are all too happy to share their experiences for the benefit of everybody. (Including clients).
If you have dedicated channels within a communication platform where you share observations, problems, or just industry news, then people will discuss, learn, and grow. Within this is the ability to test new solutions, conduct further R&D, and allows a better sense of preparation to more effectively complete projects to clients’ satisfaction.
Another way in which SoftwareMill stimulate an academic streak is through reading clubs. They find it a powerful way of sharing observations on a chosen text. Seminars at university were always the place where you learned something new, and recreating that environment within your company is highly recommended.
Retros help you learn from your mistakes, but also help you recognise your strengths. A good team is able to say, “sorry, we messed up”, or “yes! we did a great job.”
It may seem more difficult to conduct a retro within a distributed team, but, like everyone else we’ve talked about so far, it doesn’t have to be.
How SoftwareMill conduct a retrospective:
Use an online whiteboard, and get your clients to pitch in, too.
CoSketch and Twiddla are great tools for getting your team to draw and express their sentiments toward a finished project in a fun and accessible way. But, like much of what we’ve learned from SoftwareMill, it’s not the tool but the tools that make or break a distributed team.
Sticky notes are love. Sticky notes are life.
Project management tools can be repurposed into skeuomorphic methods of conducting retros. It’s very visual and a faithful recreation of what a whiteboard tends to look like after an intense retro, which works for some people, but not for others.
Closing Thoughts and Setting expectations
Remote working is already transforming the workplace, and most of the data coming from this shift is pretty positive. It’s up to us to make the most of this game-changing method of working by doing it right.
Setting expectations and putting the correct processes in place will allow you to take advantage of the distributed model and allow you to:
- Hire from anywhere
- Build a more reliable communication system for both the team and the client
- Foster an environment of continuous learning
- Be better.
It’s hard, but if SoftwareMill is anything to go by, it’s possible, it’s effective, and its potential is enormous.
SoftwareMill is among the top 5% of all companies screened by Digital Knights.