Rewind one year from now and our development team at Webgains was struggling with what most software development teams are struggling with. We had lots of things to build; our platform needed updating and we had plenty of ideas for new innovative products and features that we wanted to do.
The solution that usually comes to mind is to hire more developers. Surely more developers would mean more code would get written, which would help us to reach our ambitious goals quicker, right?
Bigger teams mean more complexity and complexity leads to slower progress and more errors. Instead, we decided to improve our processes and “go slower so that we could go faster”. Here are the key things that we changed.
1. Ruthless Prioritisation
Trying to build everything at the same time in parallel is a recipe for disaster. We practised ruthless prioritisation to get clear on what needed to happen first and limited ourselves to deliver the top priorities, before moving on to the next project.
This is not an easy task. All projects were on our backlog for a reason, but in order to deliver them to agreed schedules, we needed to get focused.
That meant some important projects had to go on the back burner for a couple of months so that we could really focus on the top items fully. As a result, we were able to tick some big-ticket items successfully off the list, while avoiding chaos.
2. Getting clearer on requirements
Instead of rushing to build more things, we spent more time on getting clear on what needed building. We talked face-to-face with many of our clients to understand what they valued and needed most from our platform.
In many cases, we were able to streamline the requirements or solve problems in ways that didn’t require a technical solution. By the time a requirement went to our developers, we were very clear on what was needed and why which in turn reduced development time.
3. Leveraging team expertise
Before a requirement goes to development, we discuss it in cross-disciplinary teams to ensure all aspects have been considered. This supergroup consists of members of our design, backend, product and development teams. We consider the requirements from many aspects, which in turn helps us to find the optimal solutions.
Instead of writing exhaustive requirement documentation, we spend time talking with our developers, leveraging their expertise to find the best possible solution to what we’re trying to achieve, always keeping the customers’ insight as a guiding light to what we are building.
4. Releasing less, but more often
In the past releases had been big and less frequent, which made them risky.
We took the drama out of releasing and started to work in shorter cycles and smaller releases. That enabled us to make progress steadily and react quickly to any potential issues.
Release days are no longer big events, but business as usual. We’ve managed to increase our number of releases from a few per year, to several per month.
All the above have resulted in us building a development team that builds more without increasing its size. Our development process is more predictable, less prone to errors, and our team is happier. Our performance and productivity have increased significantly.
And no, we didn’t need to hire more developers to get there.
Many thanks to Jessi for this brilliant insight into the development process of our products. At Webgains, we put the needs of our customers first and having a great team working on bringing those to life is what makes us special.
Watch this space for more fascinating insights from different parts of our business from Account Management, Integration to Development and more.