Agile Delivery Methods
Agilier has found that a number of methods based around the “agile” framework align well with our “Review, Repair, Repeat” strategy. These agile methods are all characterised by the delivery using the following techniques:
- Timeboxing – the use of short, fixed time periods, lasting from between one and six weeks. A timebox can be regarded as a mini-project, at the end of which business value can be demonstrated to the customer.
- Iteration – A project consists of a number of timeboxes, each repeated until all the customer’s business objectives are met.
- Emphasis on collaborative working rather than extensive documentation.
The benefit to our customers is more-rapid feedback leading to a reduction in risk.
We have experience in the following delivery methods, and more importantly we have the experience of selecting and tailoring the most appropriate for a customer’s business.
DSDM Atern
DSDM Atern is an agile framework for management and delivery of IT- and non-IT-related projects. It can be regarded as a formalised version of RAD (Rapid Application Development). We have found that Atern is best used:
- on larger projects, as it is highly scaleable;
- there is a strong need for a demonstrable prototype;
- there is a large number of stakeholders, necessitating the need for large-scale facilitated workshops.
DSDM Atern does not specify in detail how software is developed – we have found XP practises can be usefully be “plugged in”. It also shares some similarities with RUP and Scrum. In addition, Atern can be incorporated with PRINCE2 project management framework to provide a familiar governance wrapper.
XP
XP (Extreme Programming) is a detailed set of practises for software developers. Agilier has found XP a useful technique for:
- projects with rapidly-changing (or little-known) requirements;
- projects staffed with experienced developers;
- non-safety-critical projects.
We have also found that XP is best combined with another higher-level technique, such as RUP, DSDM, Scrum, or PRINCE2.
RUP
The Rational Unified Process (RUP) is an adaptable framework for software development. Agilier has had much experience in customising RUP for use in software development projects. We have found that the RUP is particularly applicable for larger projects, especially when accompanied with one of the other methods such as XP. Even so, the key to successful RUP projects is to only use small subset of the total number gof documents specified. We have also successfully used RUP in conjunction with PRINCE2’s corporate planning and reporting mechanisms.
Use Cases and Scenarios
One of the key techniques within RUP is that of generating functional user requirements known as Use Cases. This approach is a derivative of scenario-based approaches and focusses detailing the user interaction with the proposed system We find found that Use Cases are a powerful, but often misused, technique for documenting functional user requirements for IT projects. We are able to provide best-practice techniques to use Use Cases effectively.
Scrum
Scrum is an agile method for project management and delivery, usually for software development projects, but can be used for managing any group working toward a common goal. We have fond it works best with small groups but can be scaled to larger projects. Agilier has found that Scrum dovetails well with XP’s practises and also with PRINCE2.
Plan-driven (Waterfall)
Plan-driven is the name given to the methods based on well-documented processes and procedures, extensive verification and validation, and process improvement. Often, each phase of development is performed, frozen and signed-off in strict order: requirements specification, design, construction, integration, testing, installation, and maintenance. As frequently this approach does not allow rapid change, is also known as the "Waterfall" process.
Plan-driven/Waterfall is especially popular for large-scale (especially government) systems-integration programmes. There are various standards that support this approach: the older military versions are DOD-STD-2167 and MIL-STD-1521, now superceded by MIL-STD-498; the commercial equivalents are J-STD-016, now superceded by ISO/IEC 12207. We often encounter these standards, or derivatives, on large government initiatives.
Although agile techniques became popular in response to what was perceived as the inflexibility of plan-driven approaches, there are occasions where a plan-driven approach makes sense: for example certain systems-engineering programmes, such as real-time embedded software projects, very large-scale systems integrations (eg aircraft manufacture) and satellite systems.
We at Agilier have had great success in introducing agile techniques within a plan-driven framework, leading to more rapid delivery of business value and reduction in risk. This best-practice approach of agile and plan-driven is embodied in newer versions of the Spiral Model.
Spiral Model
The Spiral Model was the first attempt to modify plan-driven approaches in order to allow iterative delivery for large-scale systems development. The iterations allow for prototyping and customer-feedback activities. Progress to the next iteration is judged on risk; if the risk is deemed too high, work on the next iteration is delayed, to allow more work can be done on prototype, or the scope of the programme is addressed.
In addition, the Spiral Model allows the system to be delivered incrementally according to a prioritised feature-set.
Recent modifications to the Spiral Model include alignment to government procurement approaches, explicit references to agile methods and integration of progressive acquisition techniques. Read more...