Agile Software Development is all about priorities and iterative work. You prioritze your task list and start working on the top tasks, breaking them down to small bits which can be handled in a short time. The goal is to enhance the responsivness to changing requirements. There are many methods that describe how agile software development is implemented successfully (Scrum, for example, proves to be vastly successful). Release Management is one of the duties in a software development cycle which is not easily implemented in an agile way. In my opinion, this is because the concept of a “release” in itself is not agile.
A “Release” means delivering a software bundle which satisfies pre-defined constraints. Contrary to common agile mechanisms, where only short-term goals are concrete work packages, these constraints define long-term goals for the software. Furthermore, a release of a large software bundle spans the work of many agile teams. Scrum defines a team as 5 to 9 people working together closely.
The project owner is the one responsible for the outcome of one team’s work. He represents the interests of the stakeholders, and is the one who relays external goals (and priorities) to the team. But, alas, good product owners are hard to find — and release management is not necessarily one of their strengts. Inter-team management is outside of the scope of at least this agile method, leaving the planning of releases to another, non-agile method “above” the team-level.
RSS
Leave a Reply