In a previous post we examined an “Agile pain points” survey that highlighted some of the top obstacles organizations are facing when trying to adopt Agile practices. Now that these obstacles have been identified, you might be asking – as we did – where do we go from here?
The Importance of Agile Tools
We think these findings reinforce the need for ALM tools to support Agile implementation, accelerate adoption and build a foundation to scale Agile. Developers need integrated, yet flexible and customizable toolsets encompassing Software Configuration Management, Build and Release Management and Agile Lifecycle Management.
Agile Roadmap
In addition to Agile tools, development organizations also need to adopt new approaches to support Agile. Here is a roadmap for organizations as they head down the Agile path:
- Take a fresh approach to capturing requirements. The first thing you should consider is that the focus of requirements in an Agile world shifts from developing a detailed specification, to collecting user stories. Having a development process and the necessary tools to support gathering, tracking and managing of user stories is crucial when going Agile.
- Invest in test. Even when not practicing explicit test-driven development, the importance of testing – unit test, regression, and system-wide testing – is considerable throughout the Agile development process no matter what method is being used.
- Release early and often. Organizations should look for planning tools that track when user stories are done and ready for customer feedback, source code tools that show where user stories are in the development process, and build and release tools that create releases continuously.
- Build In-house expertise from the outside in. Organizations should work with vendors that have a full suite of training and coaching offerings, in particular seeking those vendors that go beyond generic Agile training and instead examine the organization’s existing processes and goals and customize training for their specific needs.
- Incorporate release aspects in early Agile plans. Building in real-world items like testing and deployment will allow issues to surface early, before they become entrenched in the code base and difficult to address.
- Recognize that scaling Agile reveals dependencies between projects and teams. Having the ability to track both Agile and traditional projects in the same tool interface can prove critical to ensure a smooth scaling out process.
- Don’t forget about requirements when going “all in” with Agile. Lastly, organizations should be sure tools and processes clearly show team members all key aspects of requirements and are flexible and powerful enough to keep pace with the dynamic nature of a fully realized Agile environment.
We’d like to hear what you think – what steps have you and your organization taken to support Agile adoption? What have are some other steps organizations should consider?
For details on AccuRev’s findings and more on these recommendations, check out the full Agile Adoption Pain Points Survey report, available free for download at http://www.accurev.com/whitepaper/agile-pain-points-survey.