A number of Agile frameworks and technical practices can be combined for the successful implementation of Agile projects. But before an organization gets to the point of combining frameworks, it must be ready to learn and sometimes even fail in the process of learning.
The combination of these frameworks for the successful implementation of an Agile project is highly dependent on an organization's culture, values, people, and architecture.
There are four common Agile frameworks: Scrum, eXtreme Programming (XP), Dynamic Systems Development Method (DSDM), and Lean. The unique aspects of each framework makes it easy to determine which one to combine with another. Let's put these Agile approaches into context.
Scrum pairs very well with XP.
For most IT projects, Scrum and XP are paired. This is because Scrum easily provides the team management with process while XP provides the developers with techniques. This is not to say that Scrum cannot be combined with other frameworks. DSDM also pairs well with Scrum, because while the development team embraces and uses Scrum, the team uses DSDM as support and to facilitate development.
Scrum is good for reinforcing the strength of a team. It enables autonomy, self-direction, immediate feedback, and true collaboration. The following are some other benefits that Scrum can bring to a team:
- Provides an enabling environment for happy team members, where they can thrive
- Releases the true potential of the team
- Provides an excellent team-based approach that enables work to be prioritized and delivered through the use of a constantly evolving backlog to provide the team’s workload
Scrum has become popular because of its simplicity. It’s easy to explain and to adopt. Scrum does not emphasize project management but rather release planning and product backlogs. That is why combining DSDM and Scrum could be significantly beneficial from a project management perspective, especially scaling Scrum to work as a corporate-wide Agile method. Combining Scrum and DSDM for a big corporation might be more suitable than using the Scrum of Scrums technique.
When introducing Scrum, the first thing is to create a self-organizing team that can commit to a clear set of objectives in a given sprint length and that is protected from external aggressors.
XP works well with IT development; it provides developer techniques and practices such as pair programming, continuous integration, and so on.
Ironically, the most striking difference between XP and the Scrum framework is the very thing that makes the two so compatible. XP drives a set of engineering practices while Scrum does not, yet Scrum drives planning ceremonies and artifacts but XP does not.
Ideally, teams should start with Scrum and progressively introduce XP engineering practices, especially the likes of continuous integration, test-driven development, automated testing, pair programming, simple design, and refactoring. It is contradictory to prescribe one engineering practice to a self-organizing development team that is not yet enabled to adopt other engineering practices.
Where XP is to be adopted as an Agile framework, the combination of XP and Scrum, or XP and DSDM, should be considered if the project management value is to be derived.
Lean management seeks to eliminate any waste of time, effort, or money by identifying each step in a business process and then revising or cutting out steps that do not create value (http://searchcio.techtarget.com/definition/lean-management
). Lean is from the Toyota manufacturing environment in the 1940s. The goal is to reduce the amount of work in progress.
Combining Scrum and Lean could be good for eliminating waste in specific areas, such as hand-offs, extra features, and partially done work. The combination could also translate to quality refined to test automation, test-driven development, continuous integration, and code reviews.
Eliminating waste could also mean avoiding a task or a feature that does not add business value in an iteration. Other examples of Lean thinking: "Avoid doing all the detailed analysis up front, as it will change and may not be progressed to delivery," "Don’t waste time and resources working on tasks that do not add value to the business now."
organization (as noted in the DSDM Atern Handbook
) claims that DSDM can also incorporate other Agile delivery approaches, such as eXtreme Programming (XP) and Scrum, to provide the necessary Agile management framework to enable controlled delivery of Agile projects.
DSDM is excellent with project variables (features, quality, time, and cost), and that is why it’s a great framework to combine with other Agile frameworks where Agile project management is essential. Yes, most projects have four parameters (time, cost, features, and quality), but trying to fix these four parameters at the outset is impractical and leads to many common problems associated with project management.
The diagram below compares DSDM (Atern) with the traditional approach.
Figure 1. Agile Project Management: Running PRINCE2 Projects
with DSDM Atern (The Stationery Office, 2007)
For traditional approaches, the DSDM handbook states, "The feature content of the solution is fixed, whilst time and cost are subject to variation. If the project goes off track, more resources are often added or the delivery date extended. However, adding resources to a late project just makes it later." This quote and the diagram above are probably the main reason that the DSDM Agile framework appears to be the preferred framework for Agile project management.