Architecture and Programs: Incremental Progress Not Big Bang - No Fluff Just Stuff

Architecture and Programs: Incremental Progress Not Big Bang

Posted by: Johanna Rothman on September 14, 2010

I’ve been working on agile program management and a colleague emailed me about his program. He’s having trouble seeing how to do agile on a large program. The customer wants to see a working system before they add the features, so the customer thinks the program need to provide “all” the architecture, with some hard-coded pieces to show the working system and then add features.

In a way, this is incremental progress. They are trying to get a full underlying system to show the customer. To me, it’s still big-bang architecture because they won’t have tested the architecture with any real features. Instead, I wonder if the customer would be satisfied with a “walking skeleton”. That’s where you implement a few features and just enough of the architecture to show real progress. Or, I wonder if the customer would be satisfied with a prototype of some pieces of the system along with a walking skeleton of other pieces of the system.

Part of the problem is that the product managers have had time to think about this and they have years of product roadmap. The problem is that the roadmap is organized in years, not in quarters or months.

One of the challenges of agile program management is that everyone has to think in smaller chunks of work, that incremental thinking. People who’ve worked on large programs before “know” they have to get everything down on paper so they have a shot of getting any of it done. They know how long it takes for previous programs to deliver (a long time), so they want to the program team to know everything they need to do so the program releases with almost everything in it.

The problem is that the more big-bang you are, the less likely you will get everything you want. That’s because there’s a ton of work in progress, and that it’s hard to be omniscient about how your architecture will work in practice. If you can work in short iterations, say 2 weeks, and do a demo at the end of the that time, you have a much better of moving to a more incremental approach.

What I suggested is to have a quarterly roadmap of features, and rank the features for the iterations. Have the entire program work in two-week timeboxes, getting to done at the end of a timebox. Make sure you can do a demo at the end of each timebox. Keep inspecting and adapting, never lengthening the timeboxes, but making sure that if you have dependencies and need to implement a few components, that you know in advance and implement as little as possible by component. If you do choose to hard-code pieces, make sure you plan to refactor. Hold architecture reviews as part of your iterations.

This is not easy to do. It’s easy to say and quite difficult to do. But it’s worth trying.

Post to Twitter Tweet This Post

Johanna Rothman

About Johanna Rothman

Johanna Rothman, known as the “Pragmatic Manager,” offers frank advice for your tough problems. She helps leaders and teams learn to see simple and reasonable things that might work. Equipped with that knowledge, they can decide how to adapt their product development.

With her trademark practicality and humor, Johanna is the author of 18 books about many aspects of product development. She’s written these books:

  • Project Lifecycles: How to Reduce Risks, Release Successful Products, and Increase Agility
  • Become a Successful Independent Consultant
  • Free Your Inner Nonfiction Writer
  • Modern Management Made Easy series: Practical Ways to Manage Yourself; Practical Ways to Lead and Serve (Manage) Others; Practical Ways to Lead an Innovative Organization
  • Write a Conference Proposal the Conference Wants and Accepts
  • From Chaos to Successful Distributed Agile Teams (with Mark Kilby)
  • Create Your Successful Agile Project: Collaborate, Measure, Estimate, Deliver
  • Agile and Lean Program Management: Scaling Collaboration Across the Organization
  • Manage Your Project Portfolio: Increase Your Capacity and Finish More Projects, 2nd edition
  • Project Portfolio Tips: Twelve Ideas for Focusing on the Work You Need to Start & Finish
  • Diving for Hidden Treasures: Finding the Value in Your Project Portfolio (with Jutta Eckstein)
  • Predicting the Unpredictable: Pragmatic Approaches to Estimating Project Schedule or Cost
  • Manage Your Job Search
  • Hiring Geeks That Fit
  • The 2008 Jolt Productivity award-winning Manage It! Your Guide to Modern, Pragmatic Project Management
  • Behind Closed Doors: Secrets of Great Management (with Esther Derby)

In addition to articles and columns on various sites, Johanna writes the Managing Product Development blog on her website, jrothman.com, as well as a personal blog on createadaptablelife.com.

Why Attend the NFJS Tour?

  • » Cutting-Edge Technologies
  • » Agile Practices
  • » Peer Exchange

Current Topics:

  • Languages on the JVM: Scala, Groovy, Clojure
  • Enterprise Java
  • Core Java, Java 8
  • Agility
  • Testing: Geb, Spock, Easyb
  • REST
  • NoSQL: MongoDB, Cassandra
  • Hadoop
  • Spring 4
  • Cloud
  • Automation Tools: Gradle, Git, Jenkins, Sonar
  • HTML5, CSS3, AngularJS, jQuery, Usability
  • Mobile Apps - iPhone and Android
  • More...
Learn More »