Johanna Rothman, known as the "Pragmatic Manager," offers frank advice for your challenging problems. She consults with leaders and teams to help them learn about practical and possible options. They can then decide how to adapt their product development. Her most recent book is "Project Lifecycles: How to Reduce Risks, Release Successful Products, and Increase Agility." See www.jrothman.com for all her books.
Agile approaches work for projects. Have you considered how to make agile work for a program? A program is composed of several projects, typically across the organization. Each of the sub-projects delivers value. But the real value to the organization is when all of the projects deliver results in a synchronized fashion.
Since agile approaches are so good at managing risk and complexity for smaller projects, program manager Ben thought he might be able to use agile for a large program--and he was concerned. “I can see how to use agile for my project when I have one or two teams. But I don’t have a one- or two-team project. I have four software teams, a firmware team, a hardware team, marketing and support to deal with. I have a program. How the heck can I make agile work for my program?”
As Ben organized and managed the program, he addressed the issues of architecture, product backlog, the program team and the iterations.
Iterate on the Architecture
In a traditionally planned program, the architects get together and spend significant time developing architecture before starting any development. In an agile program, the architects are an integral part of the teams, locally guiding the architecture and using that knowledge to make global decisions about the program’s architecture as the program proceeds.