DSDM (Dynamic Systems Development Method), the longest-established Agile method, launched in 1995, is the only Agile method to focus on the management of Agile projects. Arie van Bennekum represented DSDM at the launch of the Agile Alliance and their Agile Manifesto in 2001. DSDM has mainly operated in the corporate environment where it consistently demonstrates its ability to successfully work within and complement existing corporate processes. Practicing evolutionary development itself DSDM’s latest version (Atern) incorporates those improvements.

This article provides a high-level introduction to Atern: its structure & phases, principles, roles & responsibilities and a brief look at the products.

The Structure of an Atern Project

Atern differs from more common agile approaches as it encompasses the entire project lifecycle and not just software development (where Scrum prevails). It incorporates project management disciplines and provides mechanisms to ensure that the project benefits are clear, the proposed solution is feasible and there are solid foundations in place before detailed work is started.

There are seven phases to an Atern project:

Phase

Key Responsibilities

Pre-project

Initiation of the project, agreeing the Terms of Reference for the work

Feasibility

Typically a short phase to assess the viability and the outline business case (justification).

Foundations

Key phase for ensuring the project is understood and defined well enough so that the scope can be baselined at a high level and the technology components and standards agreed, before the development activity begins.

Exploration

Iterative development phase during which teams expand on the high level requirements to demonstrate the functionality

Engineering

Iterative development phase where the solution is engineered to be deployable for release

Deployment

For each Increment (set of timeboxes) of the project the solution is made available.

Post project

Assesses the accrued benefits.

The Exploration and Engineering phases are often merged, as the method is flexible, allowing them to be organized to best suit the situation. Some examples are provided below:

Example 1 illustrates iterative development with the solution evolving over a number of Exploration- Engineering cycles before Deployment of an increment.

Example 2 completes all Exploration activities prior to commencing the Engineering activities. The timeboxed Iterative Development occurs within the stage as opposed to the previous and following example. This approach is not to be confused with a traditional waterfall approach.

Example 3 combines Exploration and Engineering work to deliver fully engineering subsets of the end product in a single pass.

Example 4 reflects a more complex scenario with two teams involved. For simplicity, two teams are shown but, in practice, several teams could be involved if the size and complexity requires them. One team concentrates on exploratory work and the other on engineering. In this example, the Exploration team might deliver prototypes of the solution to the Engineering team who then build solutions for Deployment.

Atern Principles

Many organisations guide general behaviour with high-level values and culture. Well-understood principles are better guides than detailed process procedures. In Atern principles are used to provide guidance throughout the project.

Atern has eight underlying principles and the complete framework can be directly derived from these. The principles are based on best practice in its truest sense. They define "the way things are done".

Breaking one of these principles can lead to failure, as these are the basic building blocks for Atern, and bind together all the other elements of Atern.

Principal

Description

Focus on the Business Need

Deliver what the business needs when it needs it. The true business priorities must be understood with a sound business case.

Deliver on Time

Timeboxes are planned in advance and the timeframe set. The dates never change; features are varied depending on business priorities, in order to achieve the deadline.

Collaborate

Teams work in a spirit of active co-operation and commitment. Collaboration encourages understanding, speed and shared ownership. The teams must be empowered and include the business representatives.

Never Compromise on Quality

A solution has to be "good enough". The level of quality is set at the outset. Projects must test early and continuously and review constantly.

Build Incrementally from Firm Foundations

Increments allow the business to take advantage of work before the final product is complete, encouraging stakeholder confidence and feedback. This is based on doing just enough upfront analysis to proceed and accepting that detail emerges later.

Develop Iteratively

Accept that work is not always right first time. Use Timeboxes to allow for change yet continuously confirm that the solution is the right one.

Focuses team to deliver on time. Encourages full team participation. Manages detailed time box activities and day-to-day activities. Ensures testing and review activities are scheduled and completed.

Business Ambassador

Contributes to all requirements, design and review sessions. Provides the business view for all day-to-day decision making. Describes business scenarios to help design and test the solution. Provides assurance that the solution is correct. Coordinates business acceptance.

Solution Developer

Creates the solution and participates fully in all appropriate QA activities.

Solution Tester

Works with business roles to define test scenarios for the solution. Carries out full technical testing reporting results to the Team Leader and Technical Coordinator.

Business Analyst

Supports communication between business and technical members of the team. Manages all required products related to business requirements. Ensures business implications of day-to-day decisions are properly thought through.

Business Advisor

Provides specialist input, for example an accountant or a tax advisor. Usually an intended user of the solution.

Other Roles

Role

Key Responsibilities

Atern Coach

Helps teams new to Atern teams get the most out of Atern. Tailors Atern for the needs of the project. Not all aspects are needed all the time!

Workshop Facilitator

Manages and organizes workshops. Responsible for the context not the content. Independent.

Deliverables are associated with each phase of the lifecycle. These are referred to as products. Not all products are required for every project and the formality will vary according to the project and organisation. Influencing factors could be contractual relationships and corporate standards.

Some products are specific to a particular phase in the lifecycle, others may continue to evolve through subsequent phases.

The basic flow of products through the lifecycle is shown below. For instance, the Feasibility Assessment enhanced with Business Foundations and the Prioritised Requirements List (PRL). Similarly, the Outline Plan is refined into the Delivery Plan for the project that in turn the teams refine to create the individual Timebox Plans and the Deployment Plan for an increment.

Atern allows the project to decide for itself how the products are built or what they should look like, allowing products to be tailored to most environments. Indeed, some environments will require all products and others only the PRL and Evolving Solution (similar to Scrum).