AccuRev has been touting issue based development for some time now, but the timing is right to revisit this topic for two reasons.
First, with the AccuRev v6.2 release just around the corner, I wanted to re-cap the significant, issue based development enhancements that have been delivered in the last 2 AccuRev releases, as well as preview the latest set of features that will be delivered in v6.2 next month.
Secondly, over the last 12 months we have helped quite a few existing and new customers adopt issue based development practices to accelerate their agile development, and I wanted to share some of the practices, patterns, and experience that have come out of those efforts. Over this short blog series, we’ll cover the significant enhancements that have been made over the last 3 AccuRev releases to optimize issue based development, the patterns and best practices that our customers are applying to implement issue based development in their environments, and how issue based development provides the SCM mechanics for agile development at scale.
To start, lets quickly re-cap what issue based development is, and how organizations benefit from it.
What is Issue Based Development & Why Do I Care?
It’s very simply really.
Issue based development is a set of practices and technique that marry together the process and mechanical aspects of software change management into a simple, streamlined software delivery workflow that provides both governance as well as agility.
IBD starts with a process where all work is tracked as an issue. These issues are managed, prioritized, and assigned. As they are worked, they move through a defined workflow. What I am describing here is a basic change management process. The main difference with true issue based development is that this change management process is intimately embedded in the tools, workflows, and mechanics of day to day software development, testing, promotion, and release such that developers, testers, and release engineers can do the “right thing” naturally while developing software (without the process impeding them). This brings both governance and productivity in software development.
If implemented properly, IBD is a great facilitator of collaboration among developers, testers, and product owners across teams and projects. The “issue” itself becomes a collaboration point, and the mechanics of delivering code to address that issue reinforces that collaboration through continuous integration, shared workspaces, and universal visibility.
Traceability between requirements or work items in a plan (agile stories, enhancements, tasks, defects, etc) and source code changes is maintained with IBD. For example, if I am a release manager that needs to ensure that a specific enhancement is delivered in the next release, I can look in the work management system (whether that be an agile delivery or a change management tool), and quickly trace that enhancement record to the code changes that implement and the configuration that those code changes live in. I can have 100% confidence that the enhancement is present in the configuration that I am about to release.
As a development or release manager, IBD enables me to have complete visibility over all work across my project. Not just from a plan perspective, but real visibility into the state and location of code associated with users stories, tasks, enhancements, defects, etc giving me real clarity into both project progress as well as delivery payloads.
The combination of visibility, traceability, and streamlined SCM mechanics that IBD provides enables teams and organizations to quickly adapt their delivery plans and make late stage delivery decisions. This allows them to accelerate agile delivery, and be much more responsive to their business stakeholders and customers, while also bringing efficiency to their release end game.
More to Come
Over the next series of posts I will outline the new features that have been delivered in AccuRev over the last 2 releases that help our customers optimize their issue based development workflows, a set of best practices that have been gleaned from working with our customers to implement these workflows, and finally, how issue based development equates to agile and continuous delivery.