Agile with a Dash of Waterfall
A year ago, Message Agency took a step in a new direction: We transitioned from a matrixed organization to an Agile one. The transition took time, planning, flexibility, and patience from our team, but a year later, we’re all singing the Agile song! Join us as we look back on our year of lessons learned, challenges encountered, and how we made the switch.
Why’d We Do It?
Making a move from a matrixed agency to an Agile one is no simple task, and we needed a compelling reason to make the switch. In a matrixed organization, teams form per project, and while it is flexible, Project Managers are sharing design and development resources across the agency, juggling folks’ time and client priorities. It’s a challenge of agency life—one not unique to Message Agency.
A matrixed structure also leads to excessive context-switching, where developers are constantly moving between complex projects, ramping up and down, throughout the day. We wanted to increase the efficiency and effectiveness of our production teams and give them more opportunities to become experts on the clients they’re serving. The more embedded we are in each client's’ work, the more equipped we are to advise on strategy and technical solutions.
Our Agile Structure
We formed two Agile teams (and eventually a third), and a team of what we affectionately referred to as Outsiders. Each Agile team had a dedicated project manager, along with front-end developers and back-end developers. The Outsiders consisted of our design team, our tech lead, and a PM who was split between teams on the projects they were managing. They served the entire agency.
We divvied up the clients and projects between teams fairly seamlessly: in preparation for the transition, we had already begun assigning projects to align with specific teams.
Some in-progress projects had developers across teams and in these cases, we finished out these projects with the teams who started them. For a few clients with whom we had an ongoing relationship but no active projects, we reassigned PMs to align with the development teams who were most familiar with that client’s work. Our clients were understanding about the transition and how it helped us retain the technical and institutional knowledge we had built around their organizations.
Once situated in teams, we scheduled and conducted most of the usual Agile ceremonies: bi-weekly sprint planning, daily scrums, and weekly grooming sessions. We spend sprint planning parsing through tickets, alongside project plans, to determine what the team can accomplish in the sprint. Daily scrums provide a regular touchpoint for our teams to check in and weekly grooming gives us the space to review tickets, assign estimates, and prioritize upcoming work.
Shortly into the transition, we noticed some big and small wins. Our team members had the time and focus to become “experts” on their teams’ clients. Without the anticipation of eventually being removed from a client, our developers were able to contribute more deeply to our clients’ organizational goals. PMs were able to nurture our client relationships and take on a more active role in strategic planning.
Allocations and resource-planning became easier with the visibility we each had into our own teams’ work.
Now that we had dedicated resources, PMs were better able to plan out developers’ time and develop project plans with realistic allocations in mind. Because we’ve been able to focus solely on our own team’s workload, we became more strategic with project planning, understanding where we could prioritize, as needed.
The Lessons & Challenges
Our transition to Agile, while largely successful, did not come without its challenges. Initially our design team, as Outsiders, joined every agile ceremony for the two teams, quickly realizing they were spending way more time in meetings than producing meaningful work. Eventually, design created their own team, running similarly to the other Agile teams. The design team and PMs meet regularly to plan and discuss project priorities across the agency to ensure we can manage our workload and schedules effectively.
In our pursuit of Agile, we recognized the need to be…well… agile. We realized pretty quickly that the structure of Agile was incredibly helpful for us, but being rigid about how we applied it to our small agency was not going to work.
We found value in the ceremonies, while being flexible about how and when we used them. Dropping daily scrums down to every other day or canceling or repurposing groomings to accommodate project deadlines helps us remain nimble while managing multiple competing priorities.
All in all, we’ve developed our own brand of Agile project management, one that allows us to serve our clients’ needs and remain flexible to changing needs and priorities. As we launch into our second year as an Agile agency, we’re excited to continue honing the process.