Stuck in old legacy? Fighting a slow development process? Are complex dependencies between teams and product architecture prohibiting your ability to innovate? Struggling to adopt or scale Agile?
A few weeks back I read “A Practical Approach to Large-Scale Agile Development: How HP Transformed LaserJet FutureSmart Firmware” by Gary Gruver, Mike Smith and Pat Fulghum.
This is a very hands-on and quick read that articulates practical solutions to many common issues and challenges in a large-scale development organization – legacy product architecture, team organization, quality issues, and efficiency of product delivery. The book introduces an interpretation and conceptual practical realization of Lean and Agile methodologies, applied in the context of large-scale embedded product development. The reported Before/After-metrics are astoundingly impressive - I'm leaving the detailed metrics out of this post for readers of the book to take away.
The whole approach at HP Firmware and their transformation is admirable and very intriguing to read about. Below are my main takeaways and what I appreciated learning about the most:
Their vertical “thin-slicing” approach to refactoring a legacy product architecture in order to quickly understand and meet business objectives.
Their planning and estimation management using the role of a System Engineer and common Agile planning and estimating techniques. Essentially a System Engineer at HP Firmware is an experienced engineer with enough talent and oversight to understand both internal technical engineering and external customer and market needs – an interesting role that I would say is fairly uncommon in other similar organizations.
Their diligent and phased test automation management. Fully integrated and automated into their Continuous Delivery process, I appreciated their approach and process of constantly monitoring and optimizing what tests to run at what phase of their test automation implementation.
“The key is not to manage by metrics but to use the metrics to understand where to have conversations about what is not getting done” . Very well said.
If you're looking for a concrete and real case study on how to transform a large-scale development organization, I can definitely recommend getting a copy of this book. Read it through, then start discuss and work with your peers to agree, identify and understand what your goals, needs and current pain points are. From there on, it's an ongoing process of Continuous Learning and Improvement!