About a year ago, ACL completed a major company-wide transformation to a subscription licensing model. It took nearly a year, and spanned throughout every department, every team, and every employee. For R&D, we had a lot going on. There were tons of parallel tasks big and small, and I’ll admit it was chaotic at times. While this was going on, we continued interviewing, hiring, and on-boarding talented SW Engineers and QA Engineers. R&D has always taken pride in being agile and adaptable to changing business needs; however, we were stretched, and we knew it wouldn’t be sustainable. As the project wrapped up, we had to solve for two things:
- sustainable pace of development
- scalable team structure that could handle our growth
We reformed the R&D organization around brigades, small teams of developers, testers, and designers all dedicated to a specific product or product area. At the same time, we instilled a synchronized dash cadence across all brigades.
An ideal brigade.
Five SW Engineers
Two QA Engineers
One Product Designer
One UX Designer
One R&D Manager
A brigade has two designers. The Product Designer sets the vision for the product, translating business needs into epics. The UX Designer, working closely with the Product Designer, defines the user interaction and develops the fine-tuned CSS and HTML necessary for a beautiful user experience.
An R&D Manager handles the people management of the SW Engineers and QA Engineers as well as the project management for the brigade like a scrum master. In effect, he/she wears two hats: one for people management, and one for project management, enabling a transparent and direct visibility into the daily life of the brigade. All of our R&D Managers come from either Development or QA, making for great hands-on player-coaches with deep technical knowledge as well as development and development process knowledge. The R&D Manager is ultimately accountable for the continuous delivery of customer value while the entire brigade works together on a simple goal: getting shit done, aka GSD.
Not every one of our brigades is an ideal brigade. Some have less than five SW Engineers or share a UX Designer. This is fine. We adjust when necessary. A SW Engineer or a QA Engineer will sometimes move to another brigade, either temporarily or even longer term. Flexibility is essential.
What makes it tick?
Brigades are autonomous and empowered. Decisions happen at the brigade level: a brigade decides what works best for a brigade. You might think this would cause unending chaos, but it just works. No one dictates the deployment schedule, seating arrangements, code editors, or pull requests. Our culture of relentless innovation, minimum viable bureaucracy, fast failure, and continuous improvement enables the brigades to self-improve. Many great ideas and new tools spill over from one brigade to another and become the de facto standard. Brigades have given themselves names like Diamond League, Mercury, Baymax, Titanium, and Jedi. The names give identity, fostering teamwork and a sense of team ownership and pride.
We don’t dictate a specific agile framework or methodology. We allow a brigade to choose the agile methods that work best for the brigade though a Scrum/Kanban mix is currently the norm. The one thing I’ve insisted on across all brigades is a consistent 3-week cadence, called a “dash.” However, a dash does not dictate when production deployment or releases occur. More on dashes in a future post.
In search of perfection.
At first glance, a brigade isn’t all that different from a typical scrum team, so why call it a “brigade?” Calling it a brigade provides a convention that is unique to ACL, and is something we can change in the future without feeling tied to an accepted framework like Scrum.
Brigades and dashes have only been in place for a year, and I am extremely pleased. We are humming to a smooth rhythm, and our employee satisfaction has never been higher. Have we found the perfect team structure? While we are getting closer every day, no, we have not yet found the utopian team structure. Brigades are working well for us right now, and we will continue to tweak and adjust in order to improve.
Coming up next, Inside ACL R&D Part II — Dashes