Agile development processes have become popular, with more than a third of developers sampled saying that agile is their primary development methodology. And, though adoption growth has slowed compared with previous years, growth continues.
However, this overall level of adoption does not necessarily reflect effective adoption that improves outcomes, or even genuine adoption, given that the "water-Scrum-fall" process still plagues many agile implementations. As agile becomes mainstream, agile practices have to change.
To capitalise on the challenges and opportunities that agile provides, organisations must surround agile with an environment that allows agile practices to grow in value to the business and to streamline the whole process of software delivery. This leads agile into new territories and challenges commonly held beliefs regarding team size, tool usage, and physical location. The result? A series of additional layers on top of the core team-based approach of agile methods.
Continuous delivery brings fundamental changes to software release
Many organisations that are adopting agile are reaping the benefits of continuous integration and testing. However, some are still finding it hard to translate that approach into delivering software to the business more frequently.
Figure: Extending Agile
Martin Fowler of ThoughtWorks classifies this problem as "the last mile", describing it as the ability to reduce cycle time between idea and usable software, where releasing to production becomes routine. Continuous delivery and its partner in crime, DevOps, are all about breaking down the barriers that stop organisations from effectively delivering working software to the business at the pace of the business.
Lean approaches escape from manufacturing
Ever since the term was coined by John Krafcik in 1988, "lean" thinking has become the de facto approach to manufacturing and is a very popular management concept in many fields of industry. The ideas of smoothing out flow, reducing waste, and subsequently increasing the value created by improved processes have spawned a set of practices, techniques and culture changes around which the lean movement has been built.
Many argue that the next big industry for lean to optimise is IT. Forrester has written about this extensively, coining the term "lean software" to describe the application of lean thinking to optimising the flow of software delivery. Applying lean thinking to software delivery requires application delivery professionals to:
- Think about software delivery as a value chain. Thinking about the process of software delivery as not only important but also integrated into a much broader business change process is at the core of moving to lean.
- Introduce transparency and measurement. Without clear measures visible to everyone involved in the software delivery value chain, it is impossible to take ownership of it, understand its status, or improve it.
- Create an empowered environment. This is easy to say but hard to do. But building an environment that encourages the people doing the work to feel empowered to challenge the way they are working, and the work they are actually doing, is key to lean.
- Apply a coaching and mentoring management style. Lean requires a completely new management approach, with a heavy emphasis on coaching, learning and support. Management is responsible for building an environment for teams to become high performers rather than being responsible for the activities the teams do.
- Be pragmatic in the use of agile methods. Some situations require a team-oriented, sprint-based approach, but in many situations, work is more like a continuous delivery of features or fixes. In those cases, out-of-the-box agile does not apply, making more sequential process models more appropriate.
Agile ALM becomes the norm
Wherever software is critical to delivering business value and growth, business leadership pays more attention to the discipline of software delivery and maintenance, placing increased demands on software delivery leaders to convey their status and plans clearly.
Couple this with the brisk cadence that agile affords delivery organisations and the complexity of the software supply chain, and the need for an improved ALM infrastructure is clear. The solution? ALM 2.0+, representing the ability of ALM tools to support a broader lifecycle and to include planning and collaboration in their core functionality.
Application development and delivery professionals must get ready for the next wave of change. Lean and continuous delivery are already here for many organisations, but for many others, these concepts are still in the future. Tool vendors continue to drive their environments toward the promise of ALM 2.0+, but without development organisations' buy-in and investment, these environments will never deliver on their promise.
Agile provides the first wave of change, establishing the building blocks necessary to begin transforming the complete value stream.
Dave West is vice-president, research director, at Forrester Research, where he works with application development and delivery professionals. Dave blogs at: http://blogs.forrester.com/dave_west.