Ensuring quality in software development takes more than just one step at the end of a sprint. True quality comes when it’s embedded in every stage of the project life cycle — in every team. But how does this work when you have separate teams working on the same project?
In this article we explain how ddroidd ensures quality in more complex multi-stream projects. By instilling a culture of communication and collaboration, keeps our teams in sync to continuously deliver on client expectations.
Sometimes more complex projects need more than just one expert team on hand to ensure a quality product is delivered in the end. These are called multi-stream projects. Separate teams work on different aspects of the same project, contributing to the same codebase and abiding by the same release schedule.
These kinds of projects lead to more complex environments. Unlike more straightforward, single-stream projects, communication channels can become muddied. It’s therefore critical that the correct processes are in place to ensure open lines of communication throughout the different teams.
We recently delivered a long-term multi-stream project with 26 people split across four teams. By aligning all three teams and creating an environment conducive to ongoing communication, they were able to contribute to the successful creation and consolidation of a top brand’s digital hub spanning over 70 countries worldwide.
Every client has their own idea of what quality means to them, but there are certain things we can do to deliver quality and value, no matter what the requirements are.
Expectations can determine the perceived failure or success of a project, which is why setting clear, measurable and realistic expectations is so important to achieving quality.
For example, client requirements need to be clearly conveyed to the development team so that KPIs, such as team velocity, can be set and continuously monitored. Only by doing this can the team evaluate progress and suggest improvements for greater efficiency.
Failing to deliver clear expectations in this way can result in unhappy clients, as well as an unhappy team, and it’s therefore essential in providing a high-quality product.
In multi-stream projects, it’s impossible to align teams without ongoing fluid communication. Whether this is between the team members and the Product Owner or the Product Owner and the client, strong communication channels are key to the overall quality of a product.
Strong communication can be as simple as creating a feedback loop so that the client (and other team members) can voice their opinions throughout the project.
Agile projects facilitate quality by integrating monitoring into the lifecycle. After each sprint, the team can come together in the retrospective to reflect, learn and identify inefficiencies to continuously improve their processes.
The team then implements these improvements in the next iteration, making it easier to deliver higher-quality software quicker. This differs from the traditional Waterfall model, where quality assurance is dealt with in isolation at the testing stage of the project — usually at the very end.
Quality doesn’t just happen with the team, clients need to be included in the equation so their evolving needs are met. Agile projects allow for this two-way communication as clients are involved throughout the Agile project lifecycle to re-define their quality parameters, ensuring that their expectations are met in the end.
Plans are nothing, planning is everything. In other words, the best way to ensure quality is to create flexible plans that can adapt to new requirements and improvements as they’re unearthed throughout the project.
In multi-stream projects, trust is critical in creating a streamlined project. Without it, you waste time needlessly checking what work is being done, who’s doing what and when. Whereas defining a clear backlog of items for the team and trusting they will complete each task to the highest standard drives efficiency and collaboration.