Working with WWT Asynchrony Labs meant that we were able to base our development plans on actuals, explain risk and justify resources – they put us on the map. –Development Team Product Owner
A development team responsible for digital supply chain metadata services for a Media Company was getting a bad reputation. The team was producing only two new pieces of software functionality per month and concerns arose about their quality of the code. Additionally, deployment of new functionality was a manual process, took two weeks and carried numerous business risks.
The problem wasn’t that the team wasn’t working hard; it was that they weren’t working together in an agile fashion. Team members worked alone in cubicles and rarely collaborated with each other or stakeholders.
Knowing current development practices had to change, the team’s product owner decided to overhaul their processes and invest in agile software development. The Media Company contacted Gartner to help find the best partner and was given the names of three vendors. Well known for helping enterprises increase their ability to efficiently drive business outcomes through agile software development, they chose WWT Asynchrony Labs to help get the team on track.
The first order of business was breaking silos that existed between the team’s developers, engineers and stakeholders. To facilitate this, Asynchrony Labs held a number of agile training workshops. By the end of the training, everyone had a solid understanding of agile practices, test-driven development and understood ways for product owners and other stakeholders to get involved in the development process earlier.
The team – which had stakeholders distributed across two continents – didn’t have a lot of experience with extreme programming (XP) practices like pairing and continuous integration. Coaches and development mentors from Asynchrony Labs worked alongside the team four days per week for about nine months, with an Asynchrony Labs DevOps practice mentor paired remotely to help the team improve delivery operations.
Initially, the team’s throughput actually decreased with the new process changes, but this was a small cost of doing things the right way: the team was learning and practicing test-driven development, continuous integration and deployment, behavior-driven development, pairing, making work visible, limiting work in progress, and applying a “whole-team” approach to their operations.
No longer did business analysts, developers and system engineers perform work in their own bubbles. Everyone was working together to build better quality services and a much more reliable delivery framework.
Ultimately putting in all the hard work began to pay off: the team was being recognized across the organization for their use of Infrastructure as code. Their emphasis on consistent, repeatable processes for provisioning and changing systems configuration created a high level of confidence. Also, by using AWS the team was able to take advantage of programmable services that provided on-demand, testable and elastic infrastructure. Their throughput increased so significantly that upstream and downstream stakeholders actually began complaining that their delivery was either putting themselves into compliance risk or was making them look bad.
With the added bandwidth created by the team’s efficient development processes and by consistently clearing their backlog of work, they’ve been able to proactively reach out to strategic planning groups within the company to focus on more high-value opportunities. Historically, the team spent about half of their time maintaining the codebase and making poorly educated estimates, which did not drive business value and reduced trust amongst their stakeholders. Now they are investing in high-value business opportunities and using forecasting processes that drive value and build trust.
As our engagement wound down, the team was producing better quality code more reliably than other development teams within the organization that were more experienced in agile delivery. Our mentors and coaches began alternating weeks between being onsite with the team and remotely pairing from our offices in St. Louis. When we were confident the development team could function on their own, mentors and coaches eventually rolled off the project.
With the team’s process improvements came a boost in confidence and morale within the team, and stakeholders are happier than ever.
The completion, deployment, and delivery of new features is now so common and expected, it’s become a non-event. In fact, the broader development organization points to the team as the model of consistent, quality and value-added software development. By investing in doing things the right way, the team is now able to consistently and predictably create value for the company.