SlideShare a Scribd company logo
Dynamic System Development Method
Dynamic System Development Method
 Dynamic System Development Method is approach to system
  development, which, as the name suggests, develops the system
  dynamically.

 The Dynamic System Development Method (DSDM) is dynamic
  as it is a Rapid Application Development method that uses
  incremental prototyping.

 DSDM is an iterative and incremental approach that emphasizes
  continuous user/customer involvement.
Dynamic System Development Method

 Its goal is to deliver projects on time and on budget while
  adjusting for changing requirements along the way.

 DSDM is one of a number of Agile methods for developing
  software and non-I.T. solutions.

 This method is particularly useful for the systems to be developed
  in short time span and where the requirements cannot be frozen at
  the start of the application building.
Model of Dynamic System
Development Method
 Dynamic System Development Method (DSDM) has a five-phase
 life cycle as given the following figure:
Model of Dynamic System
Development Method
 Feasibility and Business Study
   In this phase the problem is defined and the technical feasibility of the
    desired application is verified. Apart from these routine tasks, it is
    also checked whether the application is suitable for Rapid Application
    Development (RAD) approach or not.

   Only if the RAD is found as a justified approach for the desired
    system, the development continues.
Model of Dynamic System
Development Method
 Feasibility and Business Study
   The overall business study of the desired system is done.


    The business requirements are specified at a high level and the information
     requirements out of the system are identified.

    Once this is done, the basic architectural framework of the desired system is
     prepared.

    The systems designed using Rapid Application Development (RAD) should
     be highly maintainable, as they are based on the incremental development
     process.

    The maintainability level of the system is also identified here so as to set the
     standards for quality control activities throughout the development process.
Model of Dynamic System
Development Method
 Functional Model Iteration:
   The main focus in this phase is on building the prototype iteratively and
    getting it reviewed from the users to bring out the requirements of the
    desired system.

    The prototype is improved through demonstration to the user, taking the
     feedback and incorporating the changes.

    This cycle is repeated generally twice or thrice until a part of functional
     model is agreed upon.

    The end product of this phase is a functional model consisting of analysis
     model and some software components containing the major functionality.
Model of Dynamic System
Development Method
 Design and Build Iteration:
   This phase stresses upon ensuring that the prototypes are satisfactorily and
    properly engineered to suit their operational environment

    The software components designed during the functional modeling are
     further refined till they achieve a satisfactory standard.

    The product of this phase is a tested system ready for implementation.


    There is no clear line between these two phases and there may be cases
     where while some component has flown from the functional modeling to the
     design and build modeling while the other component has not yet been
     started.

    The two phases, as a result, may simultaneously continue.
Model of Dynamic System
Development Method
 Implementation
   Implementation is the last and final development stage in this methodology.


    In this phase the users are trained and the system is actually put into the
     operational environment.

    At the end of this phase, there are four possibilities, as depicted by figure:
      Everything was delivered as per the user demand, so no further
        development required.
       A new functional area was discovered, so return to business study phase
        and repeat the whole process.
       A less essential part of the project was missed out due to time constraint
        and so development returns to the functional model iteration.
       Some non-functional requirement was not satisfied, so development
        returns to the design and build iterations phase.
Model of Dynamic System
Development Method
 Dynamic System Development Method (DSDM) assumes that all
  previous steps may be revisited as part of its iterative approach.

 Therefore, the current step need be completed only enough to
  move to the next step, since it can be finished in a later iteration.

 According to this approach, the time is taken as a constraint i.e.
  the time is fixed, resources are fixed while the requirements are
  allowed to change.
Nine Principles of DSDM
 Active user Involvement is Imperative:


   The first principle is considered the most important, because user
      involvement through out the project effectively reduces errors in
      terms of user perception, and therefore reduces error costs.

      Instead of working with a large set of users a DSDM project
      guidelines recommend working with a small, select set of users
      continually, rather then in periodic workshops or review sessions.
Nine Principles of DSDM
 Teams Must be Empowered to Make Decisions:


   To proceed as quickly as possible transaction costs, as resulting
    from friction in communications of project participants and
    managers, need to be avoided.

   Addressing these inefficiencies users and other DSDM
    participants should be given limited authority to make decisions
    related to:
     Requirements in practice
     Which functionality needs to be in a given increment
     Prioritization of requirements and features
     Fine details of the technical solution
Nine Principles of DSDM
 Focus on Frequent Delivery:


   Frequent deliveries of results ensure that errors are detected
    quickly, are easily reversed and closer at the source of the
    error.

   This applies both to program code as well as to documents like
    requirements or data models.
Nine Principles of DSDM
 Fitness for Business is Criterion for Accepted Deliverables:


   As the name of the DSDM framework suggest, its primary
     endeavor is to deliver software which is good enough to solve
     the business need and bother with any enhancements in a later
     iteration.

   DSDM does not promote to write ad-hoc software, but suggest
     satisfying the business needs first and related activities in a later
     iteration.
Nine Principles of DSDM
 Iterative and Incremental Development is Mandatory:


   In order to keep the complexity of the project manageable, it
    needs to be decomposed into small feature packages; with each
    release adding new features until the complete set of business
    requirements are fulfilled.

   This principle requires accepting the fact that any software
    system is subject to change.

   This principle can easily be introduced even at the beginning of
    a project, since specifications and other results can be produced
    in an iterative manner as well.
Nine Principles of DSDM
 All Changes During Development Must Be Reversible:


   Being responsive to change requires that system configurations
    are changing during the development of any one increment due
    to changed priorities in the requirements.

   Modern software tools support a dynamic configuration of
    projects as required by this principle.

   It’s often feared that reversing a development process will
    result in loosing precious previous work, but since DSDM
    advises to iterate though small increments, the total loss of
    work is very limited.
Nine Principles of DSDM
 Requirements are Base lined at High-Level:


   To limit the degree of freedom to which requirements can be
    altered during the development process, some high-level
    requirements need to be established.

   This baseline which is to be interpreted as a requirements
    “freeze” is agreed upon during the business study phase of the
    process.
Nine Principles of DSDM
 Testing is Integrated Throughout the Lifecycle:


   Many development methods ask for testing as late as the design
    or implementation phase.

   DSDM requires testing early in the development process.


   Even testing interview documents by cross checking them with
    a control group, or similar techniques.
Nine Principles of DSDM
 Collaborative and Co-operative Approach:


   Avoiding separation and encouraging collaboration of technical
    staff and business staff in a project is mandatory during DSDM
    projects, because co-operation is crucial to succeed in a DSDM
    project.

   Without an atmosphere of trust and honesty it will be hard to
    gather requirements, and later getting honest feedback on the
    resulting products.
Four Values of DSDM
 Individuals:


   Many modern management practices highlight the importance
    of humans, so does the Agile Manifesto and DSDM model.

   The DSDM principle 1, 2 and to a lesser extend 9 highlight the
    key role individuals take in a project.

   Since DSDM projects need to implement all of the 9 DSDM
    principles it’s implicit to satisfy the agile demand on rating
    individuals over tools and processes, which are, however, still
    required by the DSDM model.
Four Values of DSDM
 Working Software:


      Principle 7 is crucial to ensure that a common understanding of the definition of
      “Working Software” exists, the baseline abstracts development goals, which are
      fixed, and cannot be changed for a given development target.
Four Values of DSDM
 Collaboration:


   Collaboration is most significant to DSDM (principle 9) and agile methods likewise,
    because these development paradigms react to change and whenever change is
    happening, regardless of being part of a project or in personal life, a fair amount of
    communication is required sorting out the implication of change.

   Unfortunately collaboration is not easy, since humans tend to take selfish decisions;
    especially if an immediate reward is expected.

   Creating an environment where collaboration works as seamlessly as possible is a
    management and leadership task.
Four Values of DSDM
 Responding:


   Welcoming change and responding to change is rooted in
    principle 6 and partially in principle 7.

   The management of changing business demands is commonly
    perceived as the most prominent difference of agile and
    traditional methods.

   DSDM handles change in a variety of ways, mainly through
    prioritization.
Project Structure of DSDM
 The DSDM project consists of 7 phased steps which are organized
  and embedded in a rich set of roles and responsibilities and are
  supported by several core techniques.

   Roles and Responsibilities


   Team Organization and Size


   Phases to Rule Them
Roles and Responsibilities
 Several role classifications exist within a DSDM project, namely
  project, team and workshop roles.

 Every person takes one of the roles, no distinction between the IT
  staff roles are made; regardless if a person is programmer,
  designer or analyst, they are all referred to as developer, one
  exception being the tester.

 Another group of people in a project are users referred to as
  ambassador users if they are fulltime participants and advisor user
  if they are only part-time members of the team.
Roles and Responsibilities
 Further fulltime roles on a team are the team leader, project
  manager and the technical coordinator.

 In single team projects team and project leader might be
  represented by the same person, but in projects with more then
  one team (possibly a separate test team, or a team working on
  different tasks) the project manager takes coordination
  responsibilities and the team leader takes specific technical
  responsibilities related to his teams tasks.

 Coordination of technical aspect like architectural and quality
  issues in a multi team project is the responsibility of the technical
  coordinator.
Roles and Responsibilities
Team Organization and Size
 The usual DSDM project consists of one or two teams, where any
  second team might take the responsibility to run tests on the
  development team products.

 Organizational research suggests that more than 5 people
  (excluding external experts) on a single team are ideal; it is
  strongly advised against larger then 6 person teams.

 If more work has to be done than a single team can deliver, a
  multi team structure is required, DSDM projects have
  documented project sizes of up to 150 people.
7 Phases to Rule Them
 The DSDM development process consists of 7 phases.


 Each phase owns several key tasks (see below figure) and can be
  modified to include more tasks as appropriate, which might be
  required when combining DSDM with other development
  methods.

 Three phases are designed as iterations, meaning, that they are to
  be executed in each increment.

 DSDM does specify concrete results for each task and for each one
  of the three phase groups (FMI, DBI and Implementation).
7 Phases to Rule Them

More Related Content

PPSX
Dynamic Systems Development Method (DSDM) - Agile
Maruf Abdullah (Rion)
 
PPT
Dynamic System Development Method
Baguio Central University
 
PPTX
Top 10 Agile Metrics
XBOSoft
 
PPTX
Project Management Tools
DiptoDey3
 
PDF
Ethics in Project Management.pdf
PriyalKaur
 
PPTX
Projet de fin d’études
TombariAhmed
 
PDF
[PFE] Master - Génie logiciel
Louati Aicha
 
PDF
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Mohamed Amine Mahmoudi
 
Dynamic Systems Development Method (DSDM) - Agile
Maruf Abdullah (Rion)
 
Dynamic System Development Method
Baguio Central University
 
Top 10 Agile Metrics
XBOSoft
 
Project Management Tools
DiptoDey3
 
Ethics in Project Management.pdf
PriyalKaur
 
Projet de fin d’études
TombariAhmed
 
[PFE] Master - Génie logiciel
Louati Aicha
 
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Mohamed Amine Mahmoudi
 

What's hot (20)

PPT
Agile software development
Muhammad Amjad Rana
 
PPT
extreme Programming
Bilal Shah
 
PPTX
Software engineering : Layered Architecture
Muhammed Afsal Villan
 
PPTX
Software development process models
Muhammed Afsal Villan
 
PDF
Software engineering lecture notes
Siva Ayyakutti
 
PDF
Incremental model (software engineering)
MuhammadTalha436
 
PPS
Software Devlopment Life Cycle
Vivek Gupta
 
PPTX
Introduction to Agile Software Development
Life Cycle Engineering
 
PPTX
Software Development Life Cycle-SDLC
Adeel Rasheed
 
PPT
Process models
Preeti Mishra
 
PPTX
Software development life cycle (SDLC)
Simran Kaur
 
PPTX
Waterfall Model PPT in Software Engineering
Raju Sheoran
 
PPTX
Agile Process models
Student
 
PPT
Pressman ch-11-component-level-design
Oliver Cheng
 
PDF
Lean Software Development
Vashira Ravipanich
 
PDF
Agile Methodology - Software Engineering
Purvik Rana
 
PPTX
Software Development Methodologies
Nicholas Davis
 
PPT
Spiral model presentation
SayedFarhan110
 
ODP
Evolutionary process models se.ppt
bhadjaashvini1
 
Agile software development
Muhammad Amjad Rana
 
extreme Programming
Bilal Shah
 
Software engineering : Layered Architecture
Muhammed Afsal Villan
 
Software development process models
Muhammed Afsal Villan
 
Software engineering lecture notes
Siva Ayyakutti
 
Incremental model (software engineering)
MuhammadTalha436
 
Software Devlopment Life Cycle
Vivek Gupta
 
Introduction to Agile Software Development
Life Cycle Engineering
 
Software Development Life Cycle-SDLC
Adeel Rasheed
 
Process models
Preeti Mishra
 
Software development life cycle (SDLC)
Simran Kaur
 
Waterfall Model PPT in Software Engineering
Raju Sheoran
 
Agile Process models
Student
 
Pressman ch-11-component-level-design
Oliver Cheng
 
Lean Software Development
Vashira Ravipanich
 
Agile Methodology - Software Engineering
Purvik Rana
 
Software Development Methodologies
Nicholas Davis
 
Spiral model presentation
SayedFarhan110
 
Evolutionary process models se.ppt
bhadjaashvini1
 
Ad

Viewers also liked (6)

PDF
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
Dormimundo
 
PDF
Introduction to DSDM
Naresh Jain
 
PPT
DSDM (Dynamic System Development Method)
urumisama
 
PPT
Agile Retrospective & review
Conscires Agile Practices
 
PPTX
Dsdm
royfajt
 
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
Dormimundo
 
Introduction to DSDM
Naresh Jain
 
DSDM (Dynamic System Development Method)
urumisama
 
Agile Retrospective & review
Conscires Agile Practices
 
Dsdm
royfajt
 
Ad

Similar to DSDM (20)

PDF
Dynamics ystems development method
hmnasim15
 
PPTX
Dynamic system development method
Nisak Ahamed
 
PPT
Presentation for Software Development Methologies
PriyankaPimparkar
 
PDF
14 voigt dsmd_ausarbeitung
Ömer Yener
 
PPTX
Process model
kazim Hussain
 
PPT
Dynamic System Development
Zeeshan Tariq
 
PDF
Different Methodologies Used By Programming Teams
Nicole Gomez
 
PPTX
SE-03.pptx
HaiderAli252366
 
DOCX
Ch 02 s.e software process models 1
Badar Waseer
 
DOCX
devops notes.docx LECTURE NOTE S OF 2025
alekyachowdarykonaka
 
PPT
Software models
MOULA HUSSAIN KHATTHEWALE
 
PPTX
reaserch ppt.pptx
BinyamBekele3
 
PPTX
Software life cycle models
Wasif Khan
 
PPTX
SEP Dynamic Software Development Methods.pptx
Prajwal Shelar
 
PPTX
Dynamic Systems Development Method .pptx
abderrahmaneboukheza
 
ODP
Presentation on Agile Testing
1Solutions Pvt. Ltd.
 
PPT
Chapter 3 Software Process Model.ppt
RayonJ1
 
PPTX
Testing Throughout The Software Life Cycle
Siti Rubayati
 
PPT
Software Process Model in software engineering
MuhammadTalha436
 
Dynamics ystems development method
hmnasim15
 
Dynamic system development method
Nisak Ahamed
 
Presentation for Software Development Methologies
PriyankaPimparkar
 
14 voigt dsmd_ausarbeitung
Ömer Yener
 
Process model
kazim Hussain
 
Dynamic System Development
Zeeshan Tariq
 
Different Methodologies Used By Programming Teams
Nicole Gomez
 
SE-03.pptx
HaiderAli252366
 
Ch 02 s.e software process models 1
Badar Waseer
 
devops notes.docx LECTURE NOTE S OF 2025
alekyachowdarykonaka
 
Software models
MOULA HUSSAIN KHATTHEWALE
 
reaserch ppt.pptx
BinyamBekele3
 
Software life cycle models
Wasif Khan
 
SEP Dynamic Software Development Methods.pptx
Prajwal Shelar
 
Dynamic Systems Development Method .pptx
abderrahmaneboukheza
 
Presentation on Agile Testing
1Solutions Pvt. Ltd.
 
Chapter 3 Software Process Model.ppt
RayonJ1
 
Testing Throughout The Software Life Cycle
Siti Rubayati
 
Software Process Model in software engineering
MuhammadTalha436
 

Recently uploaded (20)

PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
The Future of Artificial Intelligence (AI)
Mukul
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 

DSDM

  • 2. Dynamic System Development Method  Dynamic System Development Method is approach to system development, which, as the name suggests, develops the system dynamically.  The Dynamic System Development Method (DSDM) is dynamic as it is a Rapid Application Development method that uses incremental prototyping.  DSDM is an iterative and incremental approach that emphasizes continuous user/customer involvement.
  • 3. Dynamic System Development Method  Its goal is to deliver projects on time and on budget while adjusting for changing requirements along the way.  DSDM is one of a number of Agile methods for developing software and non-I.T. solutions.  This method is particularly useful for the systems to be developed in short time span and where the requirements cannot be frozen at the start of the application building.
  • 4. Model of Dynamic System Development Method Dynamic System Development Method (DSDM) has a five-phase life cycle as given the following figure:
  • 5. Model of Dynamic System Development Method  Feasibility and Business Study  In this phase the problem is defined and the technical feasibility of the desired application is verified. Apart from these routine tasks, it is also checked whether the application is suitable for Rapid Application Development (RAD) approach or not.  Only if the RAD is found as a justified approach for the desired system, the development continues.
  • 6. Model of Dynamic System Development Method  Feasibility and Business Study  The overall business study of the desired system is done.  The business requirements are specified at a high level and the information requirements out of the system are identified.  Once this is done, the basic architectural framework of the desired system is prepared.  The systems designed using Rapid Application Development (RAD) should be highly maintainable, as they are based on the incremental development process.  The maintainability level of the system is also identified here so as to set the standards for quality control activities throughout the development process.
  • 7. Model of Dynamic System Development Method  Functional Model Iteration:  The main focus in this phase is on building the prototype iteratively and getting it reviewed from the users to bring out the requirements of the desired system.  The prototype is improved through demonstration to the user, taking the feedback and incorporating the changes.  This cycle is repeated generally twice or thrice until a part of functional model is agreed upon.  The end product of this phase is a functional model consisting of analysis model and some software components containing the major functionality.
  • 8. Model of Dynamic System Development Method  Design and Build Iteration:  This phase stresses upon ensuring that the prototypes are satisfactorily and properly engineered to suit their operational environment  The software components designed during the functional modeling are further refined till they achieve a satisfactory standard.  The product of this phase is a tested system ready for implementation.  There is no clear line between these two phases and there may be cases where while some component has flown from the functional modeling to the design and build modeling while the other component has not yet been started.  The two phases, as a result, may simultaneously continue.
  • 9. Model of Dynamic System Development Method  Implementation  Implementation is the last and final development stage in this methodology.  In this phase the users are trained and the system is actually put into the operational environment.  At the end of this phase, there are four possibilities, as depicted by figure:  Everything was delivered as per the user demand, so no further development required.  A new functional area was discovered, so return to business study phase and repeat the whole process.  A less essential part of the project was missed out due to time constraint and so development returns to the functional model iteration.  Some non-functional requirement was not satisfied, so development returns to the design and build iterations phase.
  • 10. Model of Dynamic System Development Method  Dynamic System Development Method (DSDM) assumes that all previous steps may be revisited as part of its iterative approach.  Therefore, the current step need be completed only enough to move to the next step, since it can be finished in a later iteration.  According to this approach, the time is taken as a constraint i.e. the time is fixed, resources are fixed while the requirements are allowed to change.
  • 11. Nine Principles of DSDM  Active user Involvement is Imperative:  The first principle is considered the most important, because user involvement through out the project effectively reduces errors in terms of user perception, and therefore reduces error costs.  Instead of working with a large set of users a DSDM project guidelines recommend working with a small, select set of users continually, rather then in periodic workshops or review sessions.
  • 12. Nine Principles of DSDM  Teams Must be Empowered to Make Decisions:  To proceed as quickly as possible transaction costs, as resulting from friction in communications of project participants and managers, need to be avoided.  Addressing these inefficiencies users and other DSDM participants should be given limited authority to make decisions related to:  Requirements in practice  Which functionality needs to be in a given increment  Prioritization of requirements and features  Fine details of the technical solution
  • 13. Nine Principles of DSDM  Focus on Frequent Delivery:  Frequent deliveries of results ensure that errors are detected quickly, are easily reversed and closer at the source of the error.  This applies both to program code as well as to documents like requirements or data models.
  • 14. Nine Principles of DSDM  Fitness for Business is Criterion for Accepted Deliverables:  As the name of the DSDM framework suggest, its primary endeavor is to deliver software which is good enough to solve the business need and bother with any enhancements in a later iteration.  DSDM does not promote to write ad-hoc software, but suggest satisfying the business needs first and related activities in a later iteration.
  • 15. Nine Principles of DSDM  Iterative and Incremental Development is Mandatory:  In order to keep the complexity of the project manageable, it needs to be decomposed into small feature packages; with each release adding new features until the complete set of business requirements are fulfilled.  This principle requires accepting the fact that any software system is subject to change.  This principle can easily be introduced even at the beginning of a project, since specifications and other results can be produced in an iterative manner as well.
  • 16. Nine Principles of DSDM  All Changes During Development Must Be Reversible:  Being responsive to change requires that system configurations are changing during the development of any one increment due to changed priorities in the requirements.  Modern software tools support a dynamic configuration of projects as required by this principle.  It’s often feared that reversing a development process will result in loosing precious previous work, but since DSDM advises to iterate though small increments, the total loss of work is very limited.
  • 17. Nine Principles of DSDM  Requirements are Base lined at High-Level:  To limit the degree of freedom to which requirements can be altered during the development process, some high-level requirements need to be established.  This baseline which is to be interpreted as a requirements “freeze” is agreed upon during the business study phase of the process.
  • 18. Nine Principles of DSDM  Testing is Integrated Throughout the Lifecycle:  Many development methods ask for testing as late as the design or implementation phase.  DSDM requires testing early in the development process.  Even testing interview documents by cross checking them with a control group, or similar techniques.
  • 19. Nine Principles of DSDM  Collaborative and Co-operative Approach:  Avoiding separation and encouraging collaboration of technical staff and business staff in a project is mandatory during DSDM projects, because co-operation is crucial to succeed in a DSDM project.  Without an atmosphere of trust and honesty it will be hard to gather requirements, and later getting honest feedback on the resulting products.
  • 20. Four Values of DSDM  Individuals:  Many modern management practices highlight the importance of humans, so does the Agile Manifesto and DSDM model.  The DSDM principle 1, 2 and to a lesser extend 9 highlight the key role individuals take in a project.  Since DSDM projects need to implement all of the 9 DSDM principles it’s implicit to satisfy the agile demand on rating individuals over tools and processes, which are, however, still required by the DSDM model.
  • 21. Four Values of DSDM  Working Software:  Principle 7 is crucial to ensure that a common understanding of the definition of “Working Software” exists, the baseline abstracts development goals, which are fixed, and cannot be changed for a given development target.
  • 22. Four Values of DSDM  Collaboration:  Collaboration is most significant to DSDM (principle 9) and agile methods likewise, because these development paradigms react to change and whenever change is happening, regardless of being part of a project or in personal life, a fair amount of communication is required sorting out the implication of change.  Unfortunately collaboration is not easy, since humans tend to take selfish decisions; especially if an immediate reward is expected.  Creating an environment where collaboration works as seamlessly as possible is a management and leadership task.
  • 23. Four Values of DSDM  Responding:  Welcoming change and responding to change is rooted in principle 6 and partially in principle 7.  The management of changing business demands is commonly perceived as the most prominent difference of agile and traditional methods.  DSDM handles change in a variety of ways, mainly through prioritization.
  • 24. Project Structure of DSDM  The DSDM project consists of 7 phased steps which are organized and embedded in a rich set of roles and responsibilities and are supported by several core techniques.  Roles and Responsibilities  Team Organization and Size  Phases to Rule Them
  • 25. Roles and Responsibilities  Several role classifications exist within a DSDM project, namely project, team and workshop roles.  Every person takes one of the roles, no distinction between the IT staff roles are made; regardless if a person is programmer, designer or analyst, they are all referred to as developer, one exception being the tester.  Another group of people in a project are users referred to as ambassador users if they are fulltime participants and advisor user if they are only part-time members of the team.
  • 26. Roles and Responsibilities  Further fulltime roles on a team are the team leader, project manager and the technical coordinator.  In single team projects team and project leader might be represented by the same person, but in projects with more then one team (possibly a separate test team, or a team working on different tasks) the project manager takes coordination responsibilities and the team leader takes specific technical responsibilities related to his teams tasks.  Coordination of technical aspect like architectural and quality issues in a multi team project is the responsibility of the technical coordinator.
  • 28. Team Organization and Size  The usual DSDM project consists of one or two teams, where any second team might take the responsibility to run tests on the development team products.  Organizational research suggests that more than 5 people (excluding external experts) on a single team are ideal; it is strongly advised against larger then 6 person teams.  If more work has to be done than a single team can deliver, a multi team structure is required, DSDM projects have documented project sizes of up to 150 people.
  • 29. 7 Phases to Rule Them  The DSDM development process consists of 7 phases.  Each phase owns several key tasks (see below figure) and can be modified to include more tasks as appropriate, which might be required when combining DSDM with other development methods.  Three phases are designed as iterations, meaning, that they are to be executed in each increment.  DSDM does specify concrete results for each task and for each one of the three phase groups (FMI, DBI and Implementation).
  • 30. 7 Phases to Rule Them