Dynamic Systems Development Method (DSDM) definitions
- Dynamic Systems Development Method (DSDM) is a structured framework that emphasizes a business perspective with a heavy focus on proving the ‘fitness’ or marketability.
- DSDM is an early agile method (before the agile manifesto), descriptive and detailed approach.
- DSDM is broad and ranges from feasibility study & business case to implementation.
DSDM Principles
- The eight DSDM principles support the Philosophy.
- They bring the Agile Values to life by guiding the team in the attitude it must take and the mind-set it must adopt in order to deliver consistently whilst still remaining flexible.
- Compromising any principle undermines the basic philosophy and introduces risk to the successful outcome of the project.
- The eight Principles are :
- Focus on the business need
- Deliver on time
- Collaborate
- Never compromise quality
- Build incrementally from firm foundations
- Develop iteratively
- Communicate continuously and clearly
- Demonstrate control
Principle 1 – Focus on the business need
- Every decision taken during a project should be viewed in the light of the overriding project goal – to deliver what the business needs to be delivered, when it needs to be delivered.
- It is important to remember that a project is a means to an end, not an end in itself.
- In order to fulfil this principle, project teams need to:
- Understand the true business priorities
- Establish a valid business case
- Ensure continuous business sponsorship and commitment throughout the project
- Specific business roles (described later), in conjunction with the work completed in the Foundations phase, and supported by time-boxed delivery and appropriate prioritisation of requirements, enables teams to fulfil this principle.
Principle 2 – Deliver on time
- Delivering a solution on time is a very desirable outcome for a project and is quite often the single most important success factor.
- Late delivery can often undermine the very rationale for a project, especially where market opportunities or legal deadlines are involved.
- Even for projects without a need for a fixed end date, on time delivery of intermediate or contributing products is still the best way to demonstrate control over evolution of the solution.
- In order to fulfil this principle, teams need to:
- Timebox the work into short delivery Sprints
- Focus on business priorities
- Always hit deadlines
- Build confidence through predictable delivery
- Working in short focussed Sprints, typically of 2-4 weeks, and flexing the scope of what is delivered in that timeframe allows teams to implement this principle and build a reputation for timely and predictable deliveries.
- Incremental, timeboxed delivery of valuable solution features in short timeframes forms the basis for control over the longer-term delivery of the project.
Principle 3 – Collaborate
- Teams that work in a spirit of active cooperation and commitment will always outperform groups of individuals working only in loose association.
- Collaboration encourages increased understanding, greater speed and shared ownership, which enable teams to perform at a level that exceeds the sum of their parts.
- In order to fulfil this principle, teams need to:
- Involve the right stakeholders, at the right time, throughout the project
- Encourage pro-active involvement from the business representatives
- Ensure all team members are empowered to take decisions on behalf of those they represent
- Build a one-team culture
- Roles :
- The Product Owner role, complemented by the other business roles brings the appropriate subject matter experts into the project so they can contribute to the solution.
- The Scrum Master is responsible for facilitating a high level of collaboration between all Scrum Team members.
- The Business Analyst role also helps ensure collaboration between business and delivery roles is effective.
Principle 4 – Never compromise quality
- In DSDM, the level of quality to be delivered should be agreed at the start.
- All work should be aimed at achieving that level of quality – no more and no less. A solution has to be ‘good enough’.
- If the business agrees that the features in the minimum usable subset meet the agreed acceptance criteria, then the solution should be ‘good enough’ to use effectively.
- In Scrum, it is normal to agree a ‘Definition of Done’ which define acceptance criteria to be applied generically to all User Stories – the default way of expressing requirements).
- By default stories are considered ‘done’ when these generic criteria and the criteria specific to the User Story are met in full.
- In order to fulfil this principle, teams need to:
- Agree the level of quality from the outset before development starts
- Ensure that quality does not become a variable
- Test early, test continuously and test to the appropriate level
- Build in quality by constant review
- Design, document and test appropriately
- The work of the Foundations phase of the project, together with regular reviews throughout the project lifecycle, will help the team to build a solution of the appropriate quality.
- In an Agile project everything is tested as early as possible.
- Test-driven techniques result in a test being written before the deliverable is actually produced.
- Ensuring that appropriate review and testing activity is carried out in each Sprint ensures that quality of the overall solution is not compromised
Principle 5 – Build incrementally from firm foundations
- One of the key differentiators for DSDM within the Agile space is the concept of establishing firm foundations for the project before committing to significant development.
- DSDM advocates establishing a high level understanding of both the scope of the business problem to be addressed and the proposed solution early in the project whilst avoiding wasteful detailed analysis of requirements and detailed solution design
- In order to fulfil this principle, teams need to:
- Carry-out appropriate analysis and enough design up front to create strong Foundations
- Formally re-assess priorities and ongoing project viability with each Release
- Teams implement this principle using the high level process defined by DSDM, to deliver a solid base of knowledge during Feasibility and Foundations phases.
- This forms the base for developing incrementally thereafter, with incremental deliveries from one or more Sprints typically contributing to a formal Release.
Principle 6 – Develop iteratively
- In order to converge on an accurate business solution, DSDM uses Iterative Development to build the right solution using frequent demonstrations and feedback.
- The concept of iteration is at the heart of everything developed as part of this Agile approach.
- It is very rare that anything is created perfectly first time and it is important to recognise that projects operate within a changing world.
- In order to fulfil this principle, teams need to:
- Build business feedback into each iteration
- Recognise that most detail should emerge later rather than sooner
- Embrace change – the right solution will not evolve without it
- Use Iterative Development to encourage creativity, experimentation and learning
- Within the constraints of fixed time, cost and quality, change is actively encouraged in order to evolve the most appropriate solution. Iteration and constant review ensure that what is finally delivered is what the business really needs.
Principle 7 – Communicate continuously and clearly
- Poor communication is often cited as the biggest single cause of project failure.
- DSDM practices are specifically designed to improve communication effectiveness for both teams and individuals.
- In order to fulfil this principle teams will:
- Encourage informal face-to-face communication at all levels
- Hold Scrums (short stand-up team meetings) each working day
- Use workshops, with a facilitator where appropriate
- Use visual communication practices such as modelling and prototyping
- Demonstrate the evolving solution early and often (as a minimum, the end of each Sprint)
- Keep documentation lean and timely
- Manage the expectations of the stakeholders at all levels throughout the project
- Always aim for honesty and transparency in all communication
- Agile approaches emphasise the value of human interaction.
- The roles and responsibilities and communication techniques defined in DSDM encourage team and stakeholder collaboration.
- Modelling and prototyping allow scrutiny of early impressions of the solution.
- These techniques are far more effective ways of communicating than relying on large textual documents, which in themselves provide no financial value to the project or the business.
Principle 8 – Demonstrate control
- It is essential to be in control of a project at all times and to be able to demonstrate that this is the case.
- This can only be achieved by reference to a plan for the work being done, which is clearly aligned with agreed business objectives.
- It is also vital to ensure transparency of all work being performed by the team
- In order to fulfil this principle, the Scrum Team and the Project Manager will:
- Make plans and progress visible to all
- Measure progress through focus on delivery of products rather than completed activities
- Manage proactively
- Evaluate continuing project viability based on the business objectives
- Use an appropriate level of formality for tracking and reporting
- The use of well planned incremental delivery, which incorporates incremental review and acceptance, based on sound but not detailed planning in the Foundations phase helps all project participants follow this principle.
Dynamic Systems Development Method (DSDM) phases
- The phases in the Agile Project Framework are: Pre-project, Feasibility, Foundations, Evolutionary Development, Deployment and Post-project.
- Similar to scrum, DSDM has three major phases:
- initiating project activities (Pre-project, Feasibility, Foundations),
- project life cycle activities (Evolutionary Development, Deployment)
- and closing project activities (i.e., similar to scrum’s pre-game, game, post-game).
- Similar to scrum, DSDM has three major phases:
- The 3 major phases of Dynamic Systems Development Method (DSDM) :
- Initiating project activities
- Project life cycle activities
- The project life cycle has five stages :
- feasibility study,
- business study,
- functional model iteration,
- design and build iteration,
- implementation.
- The project life cycle has five stages :
- Closing project activities
- [Agile Software Development: The Cooperative Game – 2nd Edition. Alistair Cockburn.]
Pre-Project
- In line with the DSDM Philosophy that best business value emerges when projects are aligned to clear business goals, the pre-project phase ensures that only the right projects are started, and that they are set up correctly, based on a clearly defined objective
Feasibility
- The Feasibility phase is intended primarily to quickly establish whether the proposed project is likely to be feasible from a technical perspective and whether it appears cost effective from a business perspective.
- The effort associated with Feasibility should be just enough to decide whether further investigation is justified, or whether the project should be stopped now, as it is unlikely to be viable.
Foundations
- The Foundations phase takes the preliminary investigation from Feasibility to the next level.
- It is intended to establish a fundamental (but not detailed) understanding of the business rationale for the project, the potential solution that will be created by the project, and how development and delivery of the solution will be managed.
- By intentionally avoiding low levels of detail, the Foundations phase should last no longer than a few weeks – even for large and complex projects.
- The detail associated with requirements, and how they should be met as part of the solution, is intentionally left until the Evolutionary Development phase of the project.
- It may sometimes be necessary to revisit Foundations after a Deployment phase.
- The decision to revisit Foundations may be planned in from the start of the project; for example, on a project where the business environment is sufficiently dynamic that the Foundations are expected to encounter significant change during the life of the project.
- Alternatively, the decision to revisit Foundations may be taken after a Deployment has produced an unexpected outcome.
- Returning to Foundations to review and update the base for the project typically takes significantly less time than the first time Foundations takes place.
- The aim of Foundations is to understand the scope of work and, in broad terms, how it will be carried out, by whom, when and where.
- The Foundations phase also determines the project lifecycle by agreeing how the DSDM process will be applied to the specific needs of this project.
- For smaller, simpler projects, Pre-project, Feasibility and Foundations can often be merged into a single major phase.
Evolutionary Development
- Evolutionary Development takes an iterative and incremental approach to developing the solution as a whole.
- In the context of a project, the solution will include both the Product (often software) and any associated changes within the business wanting to exploit that product.
- Detailed requirements, normally expressed as User Stories are investigated, further analysed and translated into a viable product engineered to full operational readiness.
- Iterative Development techniques, either simultaneously or sequentially, address both functional and non-functional requirements including areas such as performance, capacity, security, supportability and maintainability.
- Throughout, continued involvement of the Product Owner provides an on-going opportunity to guide development and to validate fitness for purpose of the product.
- The business roles from DSDM (the Business Sponsor, Business Visionary and Business Advisor(s)), will often be valuable in a complex corporate environment where it is not feasible for a single individual (Scrum’s Product Owner) to understand all the detail of all aspects of requirements for a software product as well as understanding the full implications of the way the business may need to change in order to exploit it.
- The perspective and input from the other roles may well be valuable to the Product Owner and the rest of the Scrum Team who can rely on the Business Visionary to provide high level context and handle the business change aspects of the wider project and on Business Advisors to provide real depth and detail around specialist requirements such as compliance with specific legislation or working practice.
Deployment
- The focus of the Deployment phase is on getting the solution into operational use or ready for market.
- The number of passes through the Deployment phase will depend the number of Releases scheduled as part of the project.
- This is, in turn, driven by the business imperatives.
- Three aspects of deployment considered in this phase are final Assembly (configuration/packaging) of the product, a final Review of what has been delivered and the actual Deployment of the product into operational use.
- After the final deployment, the project is formally closed.
- At this point, the whole team hold a retrospective to review the overall project performance, both from the technical and/or process perspective and from the business perspective
Post-Project
- After the final deployment for a project, the post-project phase checks how well the expected business benefits have been met.
DSDM Roles
- Roles in DSDM fit into three categories: Project Team, Scrum Team and Development Team, with the Development Team being a subset of the Scrum Team and the Scrum Team being a subset of the Project Team
- The Project Team roles are primarily made up of the roles responsible for strategy and the ‘whole business’ perspective for the project.
- The Business Sponsor, Business Visionary, Technical Coordinator and Project Manager are collectively responsible for overall project direction, coordination and governance.
- For larger projects, the Project Team roles are expected to oversee a number of individual Scrum Teams, ensuring that each team remains focussed on the overall business success criteria for the project.
- The Business and Technical Advisor roles are typically filled by subject matter experts who advise on matters of detail in a variety of business and technical aspects of solution development.
- The analytical and facilitative skills of the Business Analyst role provide support to at all levels in the project
- The Scrum Team roles (including the Development Team) are responsible for the detailed work involved in defining, developing, testing and perhaps even deploying the solution.
- The core of the team are engaged throughout the project with other roles, such as Business and Technical Advisors from the Project Team being involved from time-to-time as required to support the Product Owner.
- Roles do not necessarily equate to individuals, nor relate directly to job titles.
- One person may cover multiple roles, or a single role can be shared between several people.
- Roles organised as described above allow the project to fit more naturally into the broader organisational context.
- DSDM roles and their associated responsibilities are described below.
Project Team Roles
- Business Sponsor
- This role is the most senior Project Team role.
- The Business Sponsor is the project champion who is committed to the project, to the proposed solution and the approach to delivering it.
- The Business Sponsor is specifically responsible for the business case and project budget throughout (however formally or informally this may be expressed).
- The Business Sponsor must hold a sufficiently high position in the organisation to be able to resolve business issues and make financial decisions.
- This role has a crucial responsibility to ensure and enable fast progress throughout the project.
- Responsibilities:
- Owning the Business Case for the project
- Ensuring on-going viability of the project in line with the Business Case
- Holding the budget for the project
- Ensuring that funds and other resources are made available as needed
- Ensuring the decision-making process for escalated project issues is effective and rapid
- Responding rapidly to escalated issues and being the ultimate point for resolution of conflict within the project
- Empowering the business roles within the project, to appropriate levels, within their responsibilities
- Business Visionary
- This is a senior business role in the Project Team that should be held by a single individual, since a project needs a single clear vision to avoid confusion and misdirection.
- More actively involved than the Business Sponsor, the Business Visionary is responsible for interpreting the needs of the Business Sponsor, communicating these to the team and, where appropriate, ensuring they are properly represented in the Business Case.
- The Business Visionary remains involved throughout the project, providing the team with strategic direction and ensuring that the solution delivered will enable the benefits described in the business case to be achieved.
- At the end of the project, the Business Visionary will own the solution once delivered and will be responsible for the realisation of any benefits associated with it.
- In a pure product context this role will probably be the Product Manager
- Responsibilities:
- Defining the Business Vision for the project
- Communicating and promoting the Business Vision to all interested and/or impacted parties
- Monitoring progress of the project in line with the Business Vision
- Owning the wider implications of any business change from an organisational perspective
- Contributing to key requirements, design and review sessions, particularly where aspects of the solution being considered address key elements of the business vision
- Identifying and owning business-based risk
- Defining, and approving changes to, the high level requirements in the Product Backlog; i.e. any change that affects the baselined scope or significantly alters the balance of priorities.
- Ensuring collaboration across stakeholder business areas within the scope of the project
- Ensuring business resources are available to the project as needed
- This is a senior business role in the Project Team that should be held by a single individual, since a project needs a single clear vision to avoid confusion and misdirection.
- Project Manager
- The Project Manager role is focused on managing the working environment in which the solution is evolving and coordinates all aspects of management of the project at a high level.
- In line with the DSDM concept of empowerment, the Project Manager is expected to leave the detailed planning of the actual delivery of the Product Increment to the members of the Scrum Team.
- Managing an empowered team requires a facilitative style rather than a command and control style.
- It is usual that the Project Manager takes responsibility throughout the duration of the project.
- This must include both business and technical delivery aspects of the project, from establishing the foundations of the project through to the deployment of the solution.
- Responsibilities:
- Ensuring effective and timely communication with the senior stakeholders and project governance authorities with the agreed and appropriate level of frequency and formality
- Performing high level project planning and scheduling, but not Sprint planning.
- Monitoring progress against the baselined project and increment plans
- Managing risk and any issues as they arise, or are escalated from the Scrum Team(s), collaborating with senior business and/or technical roles as required to ensure resolution
- Motivating and ensuring empowerment of the Scrum Team(s) to meet their objectives
- Attending Scrum meetings, as an observer, to keep a current understanding of progress and issues
- To ensure that any important external issues that that the Scrum Team(s) need to be aware of are brought to their attention
- The Project Manager role is focused on managing the working environment in which the solution is evolving and coordinates all aspects of management of the project at a high level.
- Technical Coordinator
- The Technical Coordinator performs the same function, from a technical perspective, as the Business Visionary does from a business perspective.
- He/she ensures that Scrum Teams work in a consistent way within a project and deliver compatible output and also ensures that the project meets the desired technical quality standards appropriate to both the project and, where applicable, the wider product or organisation.
- This role provides the glue that holds the project together, providing advice and guidance on technical decisions and innovation.
- A framework of empowerment ensures that this is a guiding role rather than a commanding one, with the Scrum Teams empowered within defined boundaries to collaborate innovate and manage for themselves how they go about building the solution
- Responsibilities:
- Predominantly during the Foundations phase:
- Advising on the achievability of non-functional requirements
- Working with the business roles and the Business Analyst to evaluate the technical options and, at a high level, decide the best way to fulfil the business needs
- Determining the technical environments
- Predominantly during the Evolutionary Development phase:
- Agreeing and controlling the technical architecture
- Advising on and coordinating each team’s technical activities
- Identifying and owning architectural and other technically based risk
- Promoting appropriate standards of technical best practice
o Controlling the technical configuration of the solution - Empowering the technical roles within the Development Team(s), to appropriate levels, within their responsibilities
- Acting as the final arbiter of technical differences between Development Team members
- Predominantly during the Deployment phase:
- Approving the solution as technically fit for purpose prior to deployment
- Managing technical aspects of the transition of the solution into live use
- Predominantly during the Foundations phase:
- The Technical Coordinator performs the same function, from a technical perspective, as the Business Visionary does from a business perspective.
- Business Advisor
- The Business Advisor supports the Project Team and Product Owner by providing specialist, and where appropriate detailed, input to requirements, development and testing.
- They may be an intended user or beneficiary of the solution or they may provide guidance on areas of compliance.
- The Business Advisor supports the Product Owner through the provision of detailed or specialist input and advice with regards to:
- Requirements, design and review sessions
- Business perspective for day-to-day decisions
- Business scenarios to help define and test the solution
- Assurance that the solution is evolving correctly
- Business acceptance testing
- Development of business user documentation
- User training
- The Business Advisor supports the Project Team and Product Owner by providing specialist, and where appropriate detailed, input to requirements, development and testing.
- Technical Advisor
- The Technical Advisor supports the Project Team and Product Owner by providing specific and/or specialist technical input to the project often from the perspective of those responsible for operational change management, operational support, on-going maintenance of the solution etc.
- From their specialist technical perspective the Technical advisor may help support:
- Requirements, design and review sessions
- The operational perspective for day-to-day decisions
- Identification of operational or support scenarios to help define and test the solution
- Assurance that the solution is evolving correctly
- Operational acceptance testing
- Development of support documentation
- Training of operations and support staff
- Business Analyst
- The Business Analyst supports the Project Team throughout the Feasibility and Foundations phases, typically doing most of the investigation and high-level analysis work that is required along with the preparation of many of the documentary products that may be delivered from those phases.
- During the Evolutionary Development phase their analysis and facilitation skills may be used to support the Product Owner in ensuring requirements are properly expressed, form a coherent whole and are properly understood by the Development Team.
- In some cases, where the Product Owner has all the required skills the Business Analyst role may be subsumed into the Product Owner role and the Product Owner may take on the Business Analyst responsibilities in supporting the Project Team roles.
- Responsibilities where appropriate and valuable:
- Assisting the Business Visionary in the formulation and promotion of the Business Vision
- Modelling the organisation’s current and future state in the area of the solution and identifying opportunities, risks and impacts
- Working with the Business Visionary and the Product Owner to formulate and communicate solution options
- Working with the Project-Team roles in formulating the Business Case, and organising Benefits Assessments
- Supporting and facilitating unambiguous and timely communication between business and technical participants in the project
- Ensuring the requirements are of good quality and are analysed and managed appropriately
- Ensuring that the business and organisational implications of day-to-day evolution of the solution are properly modelled and thought through
- Ensuring the impact of business decisions is reviewed in the context of the project
- Ensuring the business and technical components of the solution collectively provide a cohesive whole for the business
- Liaising with the Business Visionary in organising support for the solution through implementation into live use
- The Business Analyst supports the Project Team throughout the Feasibility and Foundations phases, typically doing most of the investigation and high-level analysis work that is required along with the preparation of many of the documentary products that may be delivered from those phases.
Scrum Team Roles
- Scrum Master
- The Scrum Master is responsible for ensuring Scrum is understood and is properly applied. Often described as a servant-leader, the Scrum Master encourages and supports, the self-organising team in achieving their potential, and the wider organisation in enabling that to happen.
- From the Development Team’s perspective, the Scrum Master is there to:
- Help them self-organise
- Help them apply Scrum properly and effectively
- Help remove impediments to both progress and the application of Scrum
- From the Product Owner’s perspective, the Scrum Master is there to help with techniques for:
- Shaping and ordering the Product Backlog
- Communicating the vision, goals and intended use of the product to the Development Team
- Describing Product Backlog items to the Development Team clearly and unambiguously
- For the benefit of all, the Scrum Master is there to help the Project Team, and the wider organisation, understand the philosophy and practicalities of Scrum and the DSDM extension to Scrum, so that the combination can be used effectively for the intended product development work.
- To help achieve the objective of optimising the use of Scrum, the Scrum Master is likely to act as a facilitator for the Scrum events of Sprint Planning, the daily Scrum, the Sprint Review and the Sprint Retrospective.
- The Scrum Master roles also takes on the DSDM Coach responsibilities.
- Product Owner
- The Product Owner is responsible for ensuring that the Evolving Solution created by the Development Team is properly aligned with the Business Vision, that the final product delivered by the Scrum Team represents the best value for the sponsoring business and for ensuring that the Product Increment delivered at the end of each Sprint represents the most valuable step in that direction.
- In an DSDM context, the Product Owner generally comes from the business area that will be the beneficiary of the project and/or represents an end-user of the solution who is outside the organisation running the project.
- The Product Owner provides detailed business information on any matter from the perspective of those who will ultimately use the solution.
- The role is responsible for the informal day-to-day communication channels between the team and the wider business users and beneficiaries of the solution.
- In order to provide unambiguous direction for the Development Team, it is important that the Product Owner is a single individual not a group. In practical terms, other stakeholders and domain experts may interact with the Scrum Team, as complex messages passed via an intermediary are likely to be misinterpreted, but the Product Owner always ‘owns’ the requirement being addressed.
- Only one Product Owner can define work for the Development Team and the Development Team can only accept work from one Product Owner.
- Responsibilities:
- Ensures that the product delivered by the team has optimal business value:
- Shapes the Product Backlog, in line with the Business Vision, to ensure the most valuable aspects of the solution are developed and delivered as early as is practical
- Contributes to requirements, design and review sessions
- Provides a business perspective for day-to-day decisions
- Describes business scenarios to help define and test the solution
- Provides day to day assurance that the solution is evolving correctly
- Helps optimise the transition of the solution to live business use:
- Communicates with business users outside the project.
- Organises business acceptance testing as required
- Develops business user documentation as required
- Ensures adequate user training is carried out
- Ensures that the product delivered by the team has optimal business value:
- Development Team
- Scrum is explicit in its guidance that there should be no demarcation of roles and responsibilities within the Development Team.
- The Scrum Guide states “Scrum recognizes no titles for Development Team members other than Developer, regardless of the work being performed by the person; there are no exceptions to this rule” and “Development Teams do not contain sub-teams dedicated to particular domains like testing or business analysis”
- DSDM guidance contradicts Scrum primarily for pragmatic reasons. In an ideal world every member of the Development team will be a very experienced, highly competent person capable of working across all technologies involved in the project and with the desire and capability to perform all the analysis, design, development and testing work required to build a solution.
- In many larger organisations this ideal is not a current reality and the practicalities of making it a reality would take years – and that assumes there is a real desire to make the change and the budget to make it a reality.
- In an organisation where demarcation of roles already exists (and only in that circumstance) the following definitions may be helpful in selecting the right blend of individuals for a given Development Team.
- Even in these circumstances other key aspects of guidance on the Development Team must be a reality e.g. “They are self-organizing.
- No one (not even the Scrum Master) tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality” and ”Individual Development Team members may have specialized skills and areas of focus, but accountability belongs to the Development Team as a whole”
- Scrum is explicit in its guidance that there should be no demarcation of roles and responsibilities within the Development Team.
- Solution Developer
- This role provides a development perspective within the context of a collaborative Development Team, recognising that in many corporate environments, a developer is a skilled specialist distinct from a tester.
- The Solution Developer interprets business requirements and translates them into a deployable solution that meets functional and non-functional needs.
- Responsibilities:
- Works collaboratively with Product Owner and other Solution Developers and Testers
- Undertakes Iterative Development of the deployable solution
- Adheres to technical constraints laid out in the Solution Foundations
- Participates in quality assurance work to ensure products are fit for purpose
- Tests their own output prior to independent testing
- This role provides a development perspective within the context of a collaborative Development Team, recognising that in many corporate environments, a developer is a skilled specialist distinct from a tester.
- Solution Tester
- This role provides a testing perspective within the context of a collaborative Development Team, recognising that in many corporate environments, a tester is a skilled specialist distinct from a developer.
- The Solution Tester designs, builds and performs all types of testing during development and deployment of the solution, focusing predominantly on the technical aspects of testing.
- Responsibilities:
- Works collaboratively with Product Owner, Solution Developers and other Solution Testers
- Carries out technical testing
- Reports test results to the Technical Co-ordinator informed of depth / coverage of testing (for Quality Assurance purposes)
- Assists Product Owner and Business Advisor roles to carry out important business related testing
- This role provides a testing perspective within the context of a collaborative Development Team, recognising that in many corporate environments, a tester is a skilled specialist distinct from a developer.
- Workshop Facilitator
- The Workshop Facilitator manages the workshop process, ensuring the necessary preparation and communication happens.
- The role is responsible for the workshop context, but not the content and as such has no stake in the workshop outcome, just that the desired outcome is reached and accepted.
- This role may be part of the Scrum Master role
- The Workshop Facilitator manages the workshop process, ensuring the necessary preparation and communication happens.
- DSDM Coach
- Generally this role is part of the Scrum Master role
DSDM Products (Artefacts)
- The Agile Project Framework defines a total of 14 products including the solution being created.
- DSDM defines Business Products and Management Products
- Many of these are documents that should be created where they add value.
- The use and formality of these artefacts may vary from project-to-project but all should be actively considered for every project.
- Some products have a role to play in project governance.
Business products
- The business products are created in outline during Feasibility, and refined to provide firm and enduring foundations for the project as a whole by the end of the Foundations phase without becoming too detailed and restrictive.
- The Business Foundations normally comprises a Business Case and the Product Backlog.
- Both may continue to evolve throughout the project
- Business Products :
- Business Case
- Describes essential business considerations that justify the project, and then are used to assess the viability of the project moving forwards.
- Product Backlog
- The Product Backlog replaces the standard AgilePF Prioritised Requirements List.
- It provides a set of high-level User Stories that the project needs to address, indicating their priority with regards to meeting the overall project objective.
- Solution products
- The solution products are created in outline during Feasibility and refined to provide firm and enduring foundations for the project as a whole by the end of the Foundations phase without becoming too detailed and restrictive.
- The Solution Foundations normally comprises a Solution Architecture Definition and a Development Approach Definition. Both may continue to evolve throughout the project
- Solution Architecture Definition
- Provides an overview and architectural framework for both business and technical aspects of the potential solution. This will evolve as the project proceeds.
- Development Approach Definition
- Defines the standards and practices to be adhered to and provides guidance on how the solution should be evolved as the project proceeds. It includes the ‘Defintion of Done’.
- Business Case
Management products
- The management products are created in outline during Feasibility and refined to provide firm and enduring foundations for the project as a whole by the end of the Foundations phase without becoming too detailed and restrictive.
- The Management Foundations normally comprises a high-level Delivery/Release Plan and a Management Approach Definition.
- Both may continue to evolve throughout the project
- Delivery/Release Plan
- Provides an initial high-level schedule of Sprints, Releases and other activities for development, testing and deployment of the solution.
- For larger projects a single high-level Delivery Plan will deal with coordination of the efforts of multiple Scrum teams.
- On smaller simpler projects the Delivery/Release Plan may be integrated with the Product Backlog with User Stories identified as belonging to a particular planned release.
- This plan is constantly reviewed and revised as the project progresses to reflect the latest business demands and predicted outcomes in terms of timescales and delivered scope
- Management Approach Definition
- Describes the approach to the set-up and management of various aspects of the project, including how the project will be organised and governed.
- It also describes the approach to managing Change, Configuration, Communication and Risk.
- Feasibility Assessment
- The Feasibility Assessment provides a snapshot of the evolving business, solution and management products described above as they exist at the end of the Feasibility phase.
- Where created, each of the products should be mature enough to make a sensible contribution to the decision as to whether the project is likely to be feasible or not.
- The Feasibility Assessment may be expressed as a baselined collection of the products described or as an executive summary covering the key aspects of each of them.
- Foundations Summary
- The Foundations Summary provides a snapshot of the evolving business, solution and management products described above as they exist at the end of the Foundations phase.
- Where created, each of the products should be mature enough to make a sensible contribution to the decision as to whether the project is likely to deliver the required return on investment.
- The Foundations Summary may be expressed as a baselined collection of the products described or as an executive summary covering the key aspects of each of them.
- Sprint Backlog
- The Sprint Backlog defines the work the Development Team will perform to turn Product Backlog items into a “Done” Product Increment.
- It is a forecast by the Development Team about what functionality will be in the next Product Increment and the work needed to deliver that functionality.
- The Sprint Backlog is kept under constant review and revised as the Sprint progresses.
- In many cases the Sprint Backlog will take the form of a Team Board with User Story cards and Task cards on it along with a clear indication of who in the Development Team is doing what and any blockers or other issues currently requiring attention.
- Sprint Review Record
- Where useful, the Sprint Review Record captures what has been achieved in the Sprint and any feedback, which will influence plans moving forward.
- Any outstanding issues are considered in the context of the Delivery/Release Plan and future Sprint plans.
- If review points are built into the Sprint, for example as part of the AgilePF Timeboxing technique (described later), the review record should be used to capture feedback at each review point and will therefore evolve as the Sprint progresses.
- This record may be particularly useful in more regulated environments where it is important to demonstrate compliance with specific legislation or process controls as it will provide an audit trail of reviews that can be focussed on subjects of interest.
- Evolving Solution
- The Evolving Solution is made up of all appropriate components of the final solution together with any intermediate deliverables necessary to explore the detail of requirements and the solution under construction.
- At any given time, such components may be either complete, a baseline of a partial solution, or a work in progress.
- They include, where valuable: models, prototypes, supporting materials and testing and review artefacts.
- At the end of each Sprint the Product Increment is a demonstrable baseline of the Evolving Solution.
- Such a baseline deployed into live use and becomes the Deployed Solution.
- Project Review
- An evolving artefact updated after a whole project retrospective at the end of every Release to reflect project performance and learning.
- Benefits Assessment
- Describes how the benefits predicted in the Business Case have actually accrued as the Deployed Solution has been used.
Facilitated Workshops
- Facilitated Workshops encourage collaborative working and enable high quality team-based decisions to be made in a shortened timeframe.
- People brought together as a group communicate more effectively and generate more creative solutions.
- A well-run Facilitated Workshop also delivers an outcome with a high degree of buy-in and ownership from those people who have taken part.
- Ideally, workshops are independently facilitated by someone external to the project.
- At the very least, the Workshop Facilitator should be independent of the workshop result, to ensure that all ideas and contributions are given equal weight.
- A trained facilitator creates an environment that allows full participation.
- Effective workshops follow a well-defined and carefully thought-out process.
- This process should include defining the objective, identifying appropriate participants, creating an agenda, managing the logistics and distributing any pre-reading to participants.
- Facilitated Workshops are particularly valuable when applied to activities such as requirements identification and refinement, prioritisation, Release Planning or Sprint Planning, risk analysis, Problem Solving, product Reviews and Retrospectives.
Modelling
- Modelling is a technique for collaboratively evolving diagrams and pictures that define the problem or intended solution.
- They are used in Agile projects to improve communication through visualisation.
- How often models are used and their formality depends on the nature of the project and the team’s level of skill and experience in modelling techniques.
- Models will also vary depending on the type of project, prevailing standards and best practice. In deciding what models should be created and when, the simplest rules to follow are:
- Be able to justify the value of the model for enhancing understanding of the given subject
- Use an approach that works for you and your organisation
- Do enough and no more so that the purpose of the model is achieved.
MoSCoW Prioritisation (optionally applied to the Product Backlog)
- Delivering on a guaranteed date to a fixed cost means that some work originally planned for a delivery may have to be deferred. It may also be necessary to include work not originally identified.
- Essential work must be completed and it is only less critical work that may be omitted from a delivery.
- MoSCoW prioritization is a straightforward technique that can be used to achieve this, by prioritising the Product Backlog using these MoSCoW rules:
- Must Have:
- equirements that are fundamental to the solution.
- Without these the solution will be unworkable and useless.
- Must Haves define the Minimum Usable Subset which the project guarantees to deliver (provided the estimated effort associated with these requirements is less than 60%)
- Should Have:
- important requirements for which there is a short-term workaround.
- Normally classed as mandatory when more time is available, but without them the business objective will still be met
- Could Have:
- for lower value requirements that can more easily be left out
- Won’t Have this time:
- for requirements that can be included in later development.
- Won’t Haves are excluded from plans for the current delivery
- Must Have:
- MoSCoW prioritization can provide the basis for decision making about project team activity at all levels.
- The advantage of MoSCoW is that it allows business expectations to be set at the Project level, in the knowledge that the team will definitely deliver the Must Haves, they are likely to deliver most or all of the Should Haves, and they may deliver some Could Haves.
- For more information on MoSCoW prioritisation refer to the DSDM Agile Project Framework Handbook – available as a book or free to view electronically at www.dsdm.org.
DSDM Timeboxing (optionally applied to a Sprint)
- Applying some or all aspects of the Timeboxing technique may help the team better control their Sprint and help them translate a delivery aspiration for a Sprint into a commitment to deliver what they promised when they promised it. I.e. a potentially releasable Increment of the product to the agreed level of quality and meeting the most valuable of the requirements identified for it.
- All of the activity described in the steps below is required for any Sprint.
- The steps provide some structure that may help the team control the work they do.
- It is important for the team to consider the challenges they face and to decide which, if any, of these distinct steps need to be put in place and how much effort should be associated with each.
- Kick-Off
- In the Kick-off session, the Team agrees what will be taken from the Product Backlog for this Sprint.
- Sprint Planning and Investigation
- This step provides a firm foundation for work to be carried out during the Product Refinement that follows.
- At this time, the Scrum Team achieves an understanding of the detail of the requirements to be met and how they will be addressed as part of the Evolving Solution.
- The Sprint Backlog of detailed work to be completed is baselined at the end of the this part of the Sprint and the team commits to deliver one or more products by the end of the Sprint, based on their detailed investigation and their estimates of the work required to do this.
- Where requirements are already well understood – perhaps because they have been explored as part of the work of the previous Sprint – the effort will be in line with the standard equating to 2 hours per week of Sprint.
- Where little or no understanding of the requirement exists, the team may spend double that (10%) or perhaps even more of the duration of the Sprint in this step.
- At the end of Investigation, all Scrum Team members and, where it will be useful, other stakeholders should attend a review.
- The purpose of the review is to ensure that the Team and any stakeholders attending the review have a shared understanding of what the team plan to do to address the requirements for the Sprint
- This step provides a firm foundation for work to be carried out during the Product Refinement that follows.
- Product Refinement
- This is where most work is carried out in the Sprint and development work and associated testing should be virtually finished by the end of this period.
- At the end of Product Refinement there is a major review to look at which deliverables have been created and see what amendments will be needed to satisfy the acceptance criteria.
- The Product Owner and anybody else involved in product acceptance should attend in order to provide their feedback and help prioritise the work to be completed in Sprint Consolidation.
- When Product Refinement is complete, no new work should be started and any remaining work to complete in-progress deliverables should be carefully prioritised for Sprint Consolidation.
- Sprint Consolidation
- Actions agreed at the end of the Refinement review are carried out together with any final work required to satisfy organisational or project standards.
- Final testing is completed and any product failing to pass its tests is not considered to be delivered.
- The effort associated with Sprint Consolidation will depend on how well honed technical and quality practices are within the team and in the complexity of the overall solution configuration.
- E.g. when delivering a straight forward ecommerce application using modern technologies such as .Net, with good technical disciplines within the team Consolidation may just be an hour or two.
- Where the team is challenged with legacy integration issues or where technology, skill or environment doesn’t readily support Test Driven Development (TDD) and Continuous Integration (CI) up to 20% of the Sprint duration may be needed if a potentially releasable Product Increment is to be delivered.
- Actions agreed at the end of the Refinement review are carried out together with any final work required to satisfy organisational or project standards.
- Sprint Review
- The Sprint Review often takes the form of a demonstration of the Product Increment delivered by the Scrum Team.
- Anything planned for delivery but not actually delivered may be considered for inclusion in a later Sprint at the next planning session.
- Sprint Retrospective
- The Sprint Retrospective provides the opportunity for the Scrum Team to explore the effectiveness of the way they worked in the Sprint.
- Particular attention is paid to:
- Any issues with quality or anything else that lead to the solution or aspects of it deemed not fit for purpose.
- Understanding the reasons behind why any requirements were de-scoped
- Where appropriate, a summary of what was delivered and formal acceptance of it, along with any notable shortfalls or deficiencies may be captured in a Sprint Review Record.
More informations at PMI-ACP exam
Updated : 24/10/2021