Software Development Magazine - Project Management, Programming, Software Testing |
Scrum Expert - Articles, tools, videos, news and other resources on Agile, Scrum and Kanban |
Introduction to DSDM Atern
Matthew Caine, M.C. Partners & Associates, http://www.mcpa.biz/
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. |
Communicate Continuously and Clearly |
Use facilitated workshops, daily standups, modeling, prototyping, presentations and encourage informal face-to-face communication. |
Demonstrate Control |
The team needs to be proactive when monitoring and controlling progress in line with Foundations Phase. They need to constantly evaluate the project viability based on the business objectives. |
The Roles and Responsibilities of an Atern Project
Atern defines the roles and responsibilities in such a way that it easy to imagine how existing roles and positions would fit into an Atern project.
Descriptions for each role are described on the next page.
Project Roles
Role |
Key Responsibilities |
Business Sponsor |
Owns the business case. Ensures funding and resourcing. Guarantees effective decision-making and deals with escalations rapidly. |
Project Manager |
Entry point for project governance. High-level planning. Monitors progress, resource availability, project configuration, manages risk and escalated issues. |
Business Visionary |
Owns the business vision and impact on wider business changes. Monitors progress against the vision. Contributes to key requirements, design and review sessions. |
Technical Coordinator |
Agrees and controls technical architecture. Advises and co-ordinates teams. Identifies and manages technical risk. Ensures non-functional requirements are met. |
Solution Development Roles
Role |
Key Responsibilities |
Team Leader |
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. |
Other Specialists |
Experts required on a short-term basis, possibly technical e.g. Load-Test specialists etc. |
The Atern Products
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).
Scrum and Software Testing Knowledge
Click here to view the complete list of archived articles
This article was originally published in the Summer 2012 issue of Methods & Tools
Methods & Tools Testmatick.com Software Testing Magazine The Scrum Expert |