Considering taking on an Agile transformation for your enterprise? Warning – it is not for the cautious! There is an easy way – just rename your existing process to “Agile Waterfall”. Then enjoy many subsequent years of … (wait for it) … slow-to-market unimpressive products with poor business results, as your team’s esprit de corps nosedives amidst continuous frustration. Credit: codesqueeze.com “101 Ways to Know Your Software Project is Doomed”.
Bad news first? An Agile transformation is not easy.
The good news: it’s not impossible and has been done successfully by many companies – some out of desperation, some out of a need to remain competitive, and others out of a desire to leave their dastardly competition in the dust.
Let’s talk about the BIG STEPS involved in an enterprise Agile transformation. Your experiences may be different. The list below is relevant for any size company, small, medium or large, start-up or existing.
1. Always start with a desired business outcome, the reason why we are undergoing this Agile transformation. Some call this a “compelling why”. The business outcome should be inspiring and measurable. An example might be: “Become the #1 preferred provider by reducing our average time-to-market by 50% within 2 years.” If you are considering “going Agile to become agile”, please read here.
2. Form an Agile Champions Team. This team has the responsibility to define the transformation goals, map out a realistic transformation strategy, define the execution steps, formulate measurement collection, determine the appropriate Agile methods to use, and guide the enterprise in its overall transformation to Agile. The Agile Champions Team can be enterprise-wide and/or for a specific organization.
3. Determine the Agile outcomes and underlying practices that will influence towards your stated business outcome. Examples might be incremental development, multi-team predictability, teams aligned to value, and ability to forecast accurately. Check out Agile Velocity’s Path to Agility® (here) for an excellent set of business outcomes, agile outcomes, and underlying technical capabilities. The formation of this list will become the initial transformation backlog for the Agile Champions Team and will influence the overall rollout strategy.
4. Align to value. Agile teams are intended to be cross-functional so that they can develop a potentially releasable product increment every iteration. In many Agile transformations, one of the first steps is to reorganize component teams into cross-functional teams in order to significantly reduce inter-team dependencies and enable business value delivery every iteration. Agile teams should be organized to design, develop, test, and release a small but valuable product increment every iteration. The same is true for “team of teams” in a scaled Agile situation. Agile “team of teams” can design, develop, test, and release a fully-tested fully-integrated program increment every iteration. Typically, alignment to value is done through a series of value stream mapping activities.
5. Determine the Agile training needed. Start small with courses in Scrum, User Stories, Kanban, and Scaled Agile. Then add in courses on Agile Planning and XP/TDD practices as needed. Hire consultants to develop this new training or procure it through a 3rd-party agreement with an Agile training vendor. Recruit trainers (internal or external) to deliver the training in a compelling and engaging manner. Be sure and plan for ongoing learning in the form of lunchtime seminars and emerging Agile topics to be presented by internal advocates.
6. Measure your Agile transformation. Create instruments, procedures, and software systems to continuously measure your enterprise transformation progress against the originally stated business outcome. Report the results honestly and transparently.
Obviously, your list may be different than the above as we are all products of our experience. Let me know what your experiences are!
Overall, an enterprise transformation to Agile is well worth the effort! What are you waiting for?