Qué es DSDM

download Qué es DSDM

of 22

Transcript of Qué es DSDM

  • Qu es DSDM?

    DSDM es un marco para la gestin y ejecucin de proyectos Agile robusta que ofrece la solucin

    adecuada en el momento adecuado.

    DSDM ha sido durante muchos aos el principal, enfoque gil probada, proporcionando la

    gobernanza y el rigor, junto con la agilidad y flexibilidad que exigen las organizaciones hoy en da.

    El enfoque es la culminacin de la experiencia de los practicantes procedentes de una amplia

    gama de proyectos de los sectores pblico y privado durante casi dos dcadas.

    El DSDM La filosofa es que todo proyecto debe estar alineado claramente definidos los objetivos

    estratgicos y el enfoque en la entrega temprana de beneficios reales para el negocio. DSDM es

    independiente del proveedor, cubre todo el ciclo de vida de un proyecto y proporciona orientacin

    sobre las mejores prcticas en el tiempo, en la ejecucin del presupuesto de los proyectos - con

    una escalabilidad demostrada para hacer frente a los proyectos de todos los tamaos y para

    cualquier sector empresarial.

    DSDM aboga por el uso de varias tcnicas probadas, incluyendo:

    Talleres facilitados

    Modelado y desarrollo iterativo

    Mosc Priorizacin

    Timeboxing

    DSDM est diseado para ser adaptado y utilizado en conjuncin con los mtodos tradicionales

    tales como PRINCE2 o para complementar otros enfoques giles como Scrum fcilmente.

    [11:23:44 a.m.] Isabel Castro Fajardo: en ingles

    [11:23:55 a.m.] Isabel Castro Fajardo: What is DSDM?

    DSDM is a robust Agile project management and delivery framework that delivers the right

    solution at the right time.

  • DSDM has been for many years the leading, proven Agile approach, providing governance and

    rigour along with the agility and flexibility demanded by organisations today. The approach is the

    culmination of practitioners' experience drawn from a wide range of public and private sector

    projects over nearly two decades.

    The DSDM Philosophy is that any project must be aligned to clearly defined strategic goals and

    focus upon early delivery of real benefits to the business. DSDM is vendor-independent, covers

    the entire lifecycle of a project and provides best practice guidance for on time, in budget delivery

    of projects with proven scalability to address projects of all sizes and for any business sector.

    DSDM advocates the use of several proven techniques, including:

    Facilitated Workshops

    Modelling and Iterative Development

    MoSCoW Prioritisation

    Timeboxing

    DSDM is designed to be easily tailored and used in conjunction with traditional methods such as

    PRINCE2 or to complement other Agile approaches such as Scrum.

    Otro concepto de https://www.davisbase.com/glossary/dynamic-systems-development-method-

    dsdm/

    Sistemas Dinmicos Mtodo de Desarrollo (DSDM)

  • DSDM es una metodologa de desarrollo de software gil. Se trata de un enfoque

    iterativo e incremental que se basa en gran parte en la metodologa de desarrollo

    rpido de aplicaciones (RAD). El mtodo proporciona un marco de cuatro fases

    que consiste en:

    Viabilidad y negocio estudio

    Funcional iteracin modelo / prototipo

    Disear y construir la iteracin

    Implementacin

    Dentro de cada fase, DSDM se basa en varias actividades y tcnicas diferentes

    con base en los siguientes principios:

    Los proyectos se desarrollan mejor a travs de la colaboracin directa y co-

    ubicada entre los desarrolladores y los usuarios.

    Equipos autogestionados y con poder deben tener la autoridad para tomar

    decisiones a nivel de proyectos sensibles y crticos de tiempo.

    Diseo y desarrollo es gradual y evolutiva en la naturaleza y es impulsado en

    gran parte por, comentarios de los usuarios iterativo regular.

    Trabajar entregables de software se definen como sistemas que respondan a

    las necesidades crticas de negocio, frente a los sistemas actuales que se

    ocupan de las necesidades futuras menos crticas.

    Entrega frecuente y creciente de software de trabajo se valora ms la entrega

    infrecuente de software perfectamente de trabajo.

    Todos los cambios introducidos durante el desarrollo ha de ser reversible.

    La integracin continua y las pruebas de control de calidad se lleva a cabo en

    lnea, a lo largo del ciclo de vida del proyecto.

    Visibilidad y transparencia se fomenta a travs de la comunicacin regular y la

    colaboracin entre todos los interesados en el proyecto.

    Dynamic Systems Development Method (DSDM)

    DSDM is an agile software development methodology. It is an iterative, incremental

    approach that is largely based on the Rapid Application Development (RAD )

    methodology. The method provides a four-phase framework consisting of:

  • Feasibility and business study

    Functional model / prototype iteration

    Design and build iteration

    Implementation

    Within each phase, DSDM relies on several different activities and techniques

    based on these principles:

    Projects evolve best through direct and co-located collaboration between the

    developers and the users.

    Self-managed and empowered teams must have the authority to make time

    sensitive and critical project-level decisions.

    Design and development is incremental and evolutionary in nature and is

    largely driven by regular, iterative user feedback.

    Working software deliverables are defined as systems that address the critical,

    current business needs versus systems that address less critical future needs.

    Frequent and incremental delivery of working software is valued over infrequent

    delivery of perfectly working software.

    All changes introduced during development must be reversible.

    Continuous integration and quality assurance testing is conducted in-line,

    throughout the project lifecycle.

    Visibility and transparency is encouraged through regular communication and

    collaboration amongst all project stakeholders.

    Otro concepto http://www.codeproject.com/Articles/5097/What-Is-DSDM

    Qu es DSDM? Por Marc Clifton , J. Dunlap , 29 de septiembre 2003

  • 3.09 ( 11 votos)

    Votar: voto 1voto 2votos 3votos 4votos 5

    Contenido Introduccin

    Por DSDM?

    Cmo ayudar a DSDM para Superar Desarrollo trampas?

    Conceptos bsicos en DSDM

    El proceso de desarrollo DSDM

    o Pre-Proyecto

    Estudio de Factibilidad - Averiguar si y cmo el proyecto va a funcionar

    Estudio de Negocios - El estudio de los aspectos comerciales del proyecto

    o Modelo Funcional

    o Disear y construir

    o Implementar / Desplegar / Mantener

    o Post-Project - Mantenimiento

    DSDM FAQ

    o Es DSDM adecuado para todos los proyectos?

    o Cules son los criterios bsicos para el xito de DSDM?

    o Cmo se utiliza ampliamente DSDM?

    Roles DSDM

    Herramientas y Tcnicas

    o Mosc Priorizacin

    o Prototipos

    o Talleres facilitados

    o Timeboxing

    Enlaces

    Artculos

    Libros

    Introduccin

    Figura 1

  • Mientras que en las metodologas tradicionales de desarrollo, la funcionalidad es fija, y el tiempo

    y los recursos son variables, en DSDM, el tiempo es fijo, y la funcionalidad son variables.

    Sistemas Dinmicos Mtodo de Desarrollo (DSDM) es un proceso de sentido comn

    organizado centrado en la entrega de soluciones de negocio de forma rpida y eficiente. Es

    similar en muchos aspectos a SCRUM y XP, pero tiene sus mejores usos en los que se fija el

    requisito de tiempo.

    DSDM se centra en la entrega de la solucin de negocios, en lugar de slo la actividad del

    equipo. Hace que las medidas necesarias para garantizar la viabilidad y el sentido empresarial

    de un proyecto antes de que se crea. Hace hincapi en la cooperacin y la colaboracin entre

    todas las partes interesadas. DSDM hace uso intensivo de creacin de prototipos para que las

    partes interesadas seguro tienen una idea clara de todos los aspectos del sistema.

    Por DSDM? Resultados del desarrollo son directamente y sin demora visible

    Dado que los usuarios participan activamente en el desarrollo del sistema, que son ms

    propensos a abrazarlo y llevarlo adelante.

    La funcionalidad bsica es servida rpidamente, con ms funcionalidad proporcionada en

    intervalos regulares.

    Elimina la burocracia y se rompe la barrera de comunicacin entre las partes interesadas.

    Debido a una constante retroalimentacin de los usuarios, el sistema que se est desarrollado

    es ms probable para cubrir la necesidad que fue encargado por.

    Los primeros indicadores de si proyecto trabajarn o no, en lugar de una desagradable

    sorpresa a mitad de camino a travs del desarrollo

    Sistema es entregado a tiempo y dentro del presupuesto.

    Capacidad de los usuarios para afectar la direccin del proyecto.

    Cmo ayudar a DSDM para Superar

    Desarrollo trampas?

    Muchos sistemas estn a la altura de las necesidades de los usuarios y los fines que fueron

    diseados, haciendo que el sistema sea abandonada o reacondicionado. Hay un nmero de

    maneras en que esto puede ocurrir:

    El incumplimiento de la finalidad / a resolver el problema que fue diseado - DSDM

    permite probar durante todo el proceso de desarrollo del usuario, lo que permite a los

    desarrolladores para obtener comentarios inmediatos sobre la utilidad y conveniencia del

    producto.

    Costo es mayor que los beneficios o el costo es demasiado alto por completo - En DSDM,

    un Estudio de negocios se realiza en el inicio del proyecto, disminuyendo en gran medida la

    probabilidad de que a finales de sorpresas en el mbito financiero.

  • La falta de comunicacin entre las partes involucradas - DSDM subraya la comunicacin y la

    colaboracin entre todas las partes interesadas - los desarrolladores, usuarios, etc

    Los usuarios encuentra el programa o demasiado difcil de usar que no funciona como se

    esperaba - DSDM permite probar durante todo el proceso de desarrollo del usuario, lo que

    permite a los desarrolladores para obtener comentarios inmediatos sobre la utilidad y

    conveniencia del producto.

    Defectos ocultos de superficie en el sistema debido a un mal diseo o implementacin -

    En DSDM, prototipos ayuda a asegurar que el sistema est diseado correctamente y que todo

    el mundo sabe cmo va a funcionar. Prueba de la unidad ayuda a descubrir errores ocultos y

    desarrollo incremental permite probar durante todo el proceso de desarrollo del usuario.

    Los usuarios se resisten a la creacin de instancias del sistema, ya sea por razones

    polticas, o una falta de compromiso con ella - En DSDM, ya que los usuarios participan

    activamente en el desarrollo del sistema, que son ms propensos a abrazarlo y llevarlo

    adelante.

    El sistema es en flexible y / o no-de mantener, e incapaces de adaptarse a los cambios -

    Desde el DSDM hincapi en la flexibilidad en el diseo, no es probable que suceda con DSDM.

    Conceptos bsicos en DSDM

    La siguiente lista de vietas se describen los conceptos bsicos de DSDM.

    Los usuarios participen activamente

    Las personas que vayan a utilizar el producto deben participar activamente en su

    desarrollo. Este importante para que el producto para llegar a ser til para las personas que van

    a utilizar.

    El equipo debe tener el poder de tomar decisiones

    El equipo debe ser capaz de tomar decisiones rpidas e informadas, sin tener que cortar a

    travs de la burocracia para conseguir esas decisiones aprobadas.

    Estrenos frecuentes

    DSDM se centra en las emisiones frecuentes. Comunicados frecuentes permiten la entrada del

    usuario en las etapas cruciales en el desarrollo del producto. Tambin aseguran que el

    producto es capaz de ser puesto en libertad de forma rpida en todo momento.

    Desarrollo iterativo, Impulsado por Votacin del usuario

    El desarrollo es el sistema se hace en iteraciones, lo que permite comentarios de los usuarios

    frecuentes, y una solucin parcial, pero rpida a las necesidades inmediatas, con ms

    funcionalidad que se aade en iteraciones posteriores.

    Los cambios deben ser reversible

  • Todos los productos deben estar en un estado totalmente conocido en todo momento. Esto

    permite dar marcha atrs si un cierto cambio no funciona bien.

    Los requisitos se defini inicialmente en un nivel alto

    Requisitos de alto nivel se elaboran en el inicio del proyecto, antes de cualquier codificacin,

    dejando los detalles para ser trabajados durante el curso del desarrollo.

    Idoneidad para el uso de negocios es la Meta

    Satisfacer la necesidad de la empresa es ms importante que la perfeccin tcnica.

    Pruebas Integrado

    Las pruebas se realizan en cada paso del camino, para garantizar que el producto que se est

    desarrollado es tcnicamente correcta y no se desarrolla ningn fallas tcnicas, y que haga el

    mximo uso de la retroalimentacin de los usuarios.

    La colaboracin y la cooperacin son esenciales

    La colaboracin y la cooperacin entre todas las partes interesadas son esenciales para el xito

    del proyecto. Todas las partes involucradas (no slo el equipo central) deben luchar juntos para

    cumplir con el objetivo de negocio.

    20% / 80% Imperio

    DSDM asume que el 80% de la solucin se puede desarrollar en el 20% del tiempo que se

    necesitara para producir la solucin total. DSDM se centra en este 80%, dejando un 20% para

    las revisiones posteriores. DSDM asume que no todos los requisitos para la solucin final son

    conocidos para empezar, por lo que es probable que el 20% final de caractersticas no

    esenciales son propensos a ser defectuoso de todos modos. (Ver Moscow Priorizacin.)

  • El proceso de desarrollo DSDM

    El proceso de desarrollo DSDM consta de 7 fases. El primero es antes de que el proyecto ha

    comenzado oficialmente.Luego estn los estudios del proyecto, que en este documento se

    consideran una fase. Entonces hay tres fases que consisten en ciclos iterativos, que se repiten

    segn sea necesario para completar el proyecto. Luego est la fase posterior al proyecto,

    donde se mantiene el proyecto. El flujo de proyecto puede moverse entre las diferentes fases

    en las direcciones indicadas por las flechas de arriba. Las flechas de color azul oscuro en el

    diagrama indican la direccin hacia adelante normal de flujo del proyecto. Las flechas verdes

    indican las direcciones que se pueden tomar cuando sea necesario en circunstancias

    normales. Por ejemplo, si el equipo ha terminado una "Diseo y Construccin" iteracin, pero

    el sistema no puede ser puesto en libertad hasta que la funcionalidad de otra rea se ha

    definido y se ha construido, el flujo del proyecto puede volver a la iteracin "Modelo funcional"

    para completar esa zona. La flecha roja luz representa una direccin que slo se toma si no se

    ha encontrado el proyecto para no cumplir con la funcionalidad requerida.

    Pre-Proyecto

    La fase previa al proyecto no se define estrictamente. Se produce antes de que el proyecto

    comienza oficialmente. En esta etapa, el proyecto se conceptualiza y se tom la decisin de

    iniciar el proyecto.

  • Estudio de Factibilidad - Averiguar si y cmo el proyecto va a funcionar

    En esta fase, el equipo investiga la pregunta: Se puede hacer dentro de las limitaciones de

    tiempo y recursos? Esta fase se lleva a cabo lo ms rpidamente posible, porque DSDM se

    utiliza mejor donde el tiempo es corto, y por lo tanto necesita el producto para ser entregado

    rpidamente.

    Estudio de Negocios - El estudio de los aspectos comerciales del proyecto

    En esta fase, el equipo investiga los aspectos comerciales del proyecto.

    Tiene un buen negocio?

    Quines son los participantes y las partes interesadas?

    Cul es el mejor plan de trabajo? Lo que se necesita para:

    1. Construir

    2. Prubelo

    3. Implementarlo

    4. Lo apoyan?

    Qu tecnologas vamos a utilizar para construir y desplegar ella?

    El modelo tambin se trabaj a cabo en esta fase.

    Modelo Funcional

    En esta etapa, prototipos funcionales del sistema se hacen y crtica. Un prototipo funcional es

    un prototipo de las funciones que el sistema debe realizar y cmo debe realizarlas.

  • Prototipos sigue estos pasos:

    Investigar

    Refinar

    Consolidar

    Prototipos cubren muchos aspectos diferentes del sistema:

    Negocios -

    Usabilidad - Es fcil de usar?

    Rendimiento y Capacidad - Puede manejar el volumen y la frecuencia de uso que va a recibir?

    Tcnica - Cul es la mejor manera de ir sobre la solucin del problema?

    Disear y construir

    En esta etapa, el producto est diseado y desarrollado en iteraciones. En cada iteracin de un

    modelo de diseo se hace de la zona se est desarrollando, y luego esa zona se codifica y

    revisado.

    Implementar / Desplegar / Mantener

    En la ltima fase, el producto est envuelto, la documentacin est escrito, y una revisin de

    documentos se elabora, la comparacin de los requisitos con sus cumplimientos en el

  • producto. Los usuarios estn capacitados en el uso del sistema, y los usuarios dan su

    aprobacin al sistema.

    Post-Project - Mantenimiento

    Despus se crea el producto, mantenimiento tendr inevitablemente a realizar. Este

    mantenimiento se realiza generalmente en un ciclo similar a la utilizada para desarrollar el

    producto.

    DSDM FAQ Es DSDM adecuado para todos los proyectos?

    No. Incluso los defensores acrrimos de DSDM de acuerdo en que DSDM no funcionar para

    todos los proyectos.(pero por supuesto, ni otras metodologas.) Ms a menudo que no, si

    lleno-en DSDM no funciona, usted va a terminar el uso de algunos conceptos y principios de

    DSDM, pero no en otros. Es importante analizar la naturaleza del proyecto que nos ocupa, y

    decidir qu conceptos y principios le ayudar a cabo, y que no lo har.

    Cules son los criterios bsicos para el xito de DSDM?

    Para utilizar DSDM, debe haber compromiso de la direccin completa, el equipo debe ser

    capaz de reunirse con facilidad, y el equipo debe ser capaz de trabajar juntos con facilidad.

    Cmo se utiliza ampliamente DSDM?

    1 de 5 desarrolladores en el Reino Unido utilizan DSDM, y ms de 500 grandes empresas lo

    han adoptado.

    Roles DSDM

    DSDM define varias funciones clave que deben ser llenadas por los miembros del equipo:

    Embajador - La persona que acta como un intermediario entre el cliente (s) / usuarios y el

    equipo de desarrollo. l coordina el equipo de desarrollo, y debe tener un buen conocimiento

    general de cmo funciona el sistema.

    Visionario - La fuerza impulsora detrs del proyecto - mantiene el proyecto dirigi el rumbo

    hacia los objetivos de negocio. A menudo es la persona que inici / pensamiento del proyecto.

    Asesores - Las personas que tienen conocimientos prcticos en el rea (s) de la empresa que

    necesita ser automatizado, y / o en las tecnologas necesarias para automatizar estas reas.

    Tambin hay otras funciones que se definen por DSDM:

  • Coordinador Tcnico - El coordinador tcnico coordina los distintos aspectos tcnicos del

    sistema, y asegura que interactan de manera correcta.

    Patrocinador Ejecutivo - Un fuerte defensor del sistema, que tiene la capacidad de contribuir

    con fondos y recursos para el proyecto.

    Project Manager - supervisa el desarrollo y creacin de prototipos.

    Team Manager - Administra los aspectos humanos del equipo, y asegura que el equipo

    funciona sin problemas en su conjunto.

    Desarrollador Senior - un desarrollador senior que tiene el conocimiento y la experiencia para

    convertir los planes y requisitos en el cdigo entregable.

    Facilitador - Facilita en las reas prcticas de trabajo del equipo.

    Scribe - La persona a cargo de las decisiones que documentan, discusiones y planes elaborados

    por el equipo.

    Herramientas y Tcnicas Mosc Priorizacin

    La funcionalidad se clasifican de acuerdo a su importancia:

    Debe tener - las cosas que son absolutamente esenciales, y son fundamentales para el sistema.

    Deberan tener - las cosas que son importantes para la solucin de negocio.

    Podra tener - las cosas que son tiles, pero se puede hacer sin que por un corto tiempo.

    No tendr esta vez alrededor - cosas que pueden esperar fcilmente hasta ms tarde.

    La priorizacin es importante porque no hay tiempo suficiente para hacer todo, y esas cosas

    que son esenciales debe ponerse antes de cosas que no son.

    Prototipos

    Los prototipos se utilizan mucho en DSDM. Se aseguran de que todas las partes interesadas

    tengan una visin clara de los distintos aspectos del sistema.

    Talleres facilitados

    Talleres facilitados permiten los siguientes beneficios:

    Ambiente ideal para la formacin de las ideas y de crecimiento rpido y equilibrado de esas

    ideas.

    Todas las partes interesadas estn informadas de las decisiones tomadas por otras partes

    interesadas

    Las decisiones pueden ser tomadas por un mayor nmero de interesados.

    Las decisiones se toman con rapidez y precisin.

  • Timeboxing

    Perodos de tiempo fijos garantizan que:

    El producto permanece siendo el foco

    La concentracin es en las prioridades

    Todos los miembros saben donde s es y cunto tiempo esperar unos a otros para tomar

    What Is DSDM? By Marc Clifton, J. Dunlap, 29 Sep 2003

    3.09 (11 votes)

    Rate this: vote 1vote 2vote 3vote 4vote 5

    Contents

    Introduction

    Why DSDM?

    How Does DSDM Help to Overcome Development Pitfalls?

    Core Concepts in DSDM

    The DSDM Development Process

    o Pre-Project

    Feasibility Study - Finding out if and how the project will work out

    Business Study - Studying the business aspects of the project

    o Functional Model

    o Design And Build

    o Implement/Deploy/Maintain

    o Post-Project - Maintenance

    DSDM FAQ

    o Is DSDM suitable for all projects?

    o What are the basic criteria for the success of DSDM?

    o How widely is DSDM used?

    DSDM Roles

    Tools and Techniques

    o MoSCoW Prioritization

    o Prototyping

    o Facilitated Workshops

  • o TimeBoxing

    Links

    Articles

    Books

    Introduction

    Figure 1

    Whereas in traditional development methodologies, functionality is fixed, and time and resources are variable, in DSDM, time is fixed, and functionality are variable.

    Dynamic Systems Development Method (DSDM) is an organized, common-sense process focused on delivering business solutions quickly and efficiently. It is similar in

    many ways to SCRUM and XP, but it has its best uses where the time requirement is fixed.

    DSDM focuses on delivery of the business solution, rather than just team activity. It makes steps to ensure the feasibility and business sense of a project before it is

    created. It stresses cooperation and collaboration between all interested parties. DSDM makes heavy use of prototyping to make sure interested parties have a clear

    picture of all aspects of the system.

    Why DSDM?

    Results of development are directly and promptly visible

    Since the users are actively involved in the development of the system, they are more likely to embrace it and take it on.

    Basic functionality is delivered quickly, with more functionality being delivered at regular intervals.

    Eliminates bureaucracy and breaks down the communication barrier between interested parties.

    Because of constant feedback from the users, the system being developed is more likely to meet the need it was commissioned for.

    Early indicators of whether project will work or not, rather than a nasty surprise halfway through the development

    System is delivered on time and on budget.

    Ability of the users to affect the project's direction.

    How Does DSDM Help to Overcome Development Pitfalls?

    Many systems fall short of meeting the needs of the users and purpose they were designed for, causing the system to either be abandoned or overhauled. There are a

    number of ways this may happen:

  • Failure to meet the purpose / solve the problem it was designed for - DSDM allows for user testing all through the development process, thus allowing developers

    to get prompt feedback on the usability and suitability of the product.

    Cost outweighs benefits, or cost is too high altogether - In DSDM, a Business Study is done at the beginning of the project, greatly decreasing the likelihood of late

    surprises in the financial realm.

    Poor communication between involved parties - DSDM stresses communication and collaboration between all interested parties - developers, users, etc.

    The users finds the program either too hard to use that it does not work as expected - DSDM allows for user testing all through the development process, thus

    allowing developers to get prompt feedback on the usability and suitability of the product.

    Hidden flaws surface in the system due to poor design or implementation - In DSDM, prototyping helps to ensure that the system is designed correctly and that

    everyone knows how it will work. Unit testing helps to uncover hidden bugs, and incremental development allows for user testing all through the development process.

    Users resist the instantiation of the system, either for political reasons, or a lack of commitment to it - In DSDM, since the users are actively involved in the

    development of the system, they are more likely to embrace it and take it on.

    The system is in-flexible and/or un-maintainable, and unable to adapt to change - Since DSDM emphasizes flexibility in design, this is not likely to happen with

    DSDM.

    Core Concepts in DSDM

    The following bullet list describes the core concepts of DSDM.

    Active User Involvement

    The people who will be using the product must be actively involved in its development. This important in order for the product to end up being useful to the people

    who will be using it.

    The Team Must Be Empowered to Make Decisions

    The team should be able to make rapid and informed decisions, without having to cut through red tape to get those decisions approved.

    Frequent Releases

    DSDM focuses on frequent releases. Frequent releases allow for user input at crucial stages in the product's development. They also ensure that the product is able to

    be released quickly at all times.

    Iterative Development, Driven by User Feedback

    The development is the system is done in iterations, which allows for frequent user feedback, and a partial but prompt solution to immediate needs, with more

    functionality being added in later iterations.

    Changes Must Be Reversible

    All products should be in a fully known state at all times. This allows for backtracking if a certain change does not work out well.

    Requirements are Initially Defined at a High Level

  • High-level requirements are worked out at the beginning of the project, before any coding, leaving the details to be worked out during the course of the development.

    Fitness for Business Purpose is the Goal

    Meeting the business need is more important than technical perfection.

    Integrated Testing

    Testing is done at every step of the way, to ensure that the product being developed is technically sound and does not develop any technical flaws, and that maximum

    use is made of user feedback.

    Collaboration and Cooperation are Essential

    Collaboration and cooperation between all interested parties are essential for the success of the project. All involved parties (not just the core team) must strive

    together to meet the business objective.

    20% / 80% Rule

    DSDM assumes that 80% of the solution can be developed in 20% of the time that it would take to produce the total solution. DSDM focuses on this 80%, leaving

    another 20% for later revisions. DSDM assumes that not all of the requirements for the final solution are known to begin with, so it is likely that the final 20% of non-

    essential features are likely to be flawed anyway. (See MoSCoW Prioritization.)

    The DSDM Development Process

  • The DSDM development process consists of 7 phases. The first one is before the project has officially started. Then there are the project studies, which in this document

    are considered to be one phase. Then there are three more phases that consist of iterative cycles, which are repeated as necessary to complete the project. Then there is

    the post-project phase, where the project is maintained. The project flow may move between the different phases in the directions indicated by the arrows above.

    The dark blue arrows in the diagram indicate the normal forward direction of project flow.

    The green arrows indicate directions that may be taken as necessary under normal circumstances. For example, if the team has finished a "Design and Build" iteration,

    but the system cannot be released until another area's functionality has been defined and it has been built, the project flow may go back to the "Functional Model"

    iteration to complete that area.

    The light red arrow represents a direction that is only taken if the project has been found to not meet the required functionality.

    Pre-Project

    The pre-project phase is not strictly defined. It occurs before the project officially begins. In this stage, the project is conceptualized, and the decision is made to start

    the project.

    Feasibility Study - Finding out if and how the project will work out

    In this phase, the team researches the question: Can it be done within the constraints of time and resources? This phase is done as quickly as possible, because DSDM is

    best used where time is short, and therefore the product needs to be delivered quickly.

    Business Study - Studying the business aspects of the project

    In this phase, the team researches the business aspects of the project.

    Does it make good business sense?

    Who are the participants and interested parties?

    What is the best work plan? What is needed to:

    1. Build it

    2. Test it

    3. Deploy it

    4. Support it?

    What technologies will we be using to build and deploy it?

    The model is also worked out in this phase.

    Functional Model

  • In this stage, functional prototypes of the system are made and reviewed. A functional prototype is a prototype of the functions the system should perform and how it

    should perform them.

    Prototyping follows these steps:

    Investigate

    Refine

    Consolidate

    Prototypes cover many different aspects of the system:

    Business -

    Usability - how easy is it to use?

    Performance and Capacity - can it handle the volume and frequency of use that it will receive?

    Technique - What's the best way of going about solving the problem?

    Design And Build

    In this stage, the product is designed and developed in iterations. In each iteration a design model is made of the area being developed, and then that area is coded

    and reviewed.

    Implement/Deploy/Maintain

  • In the last phase, the product is wrapped up, documentation is written, and a review document is drawn up, comparing the requirements with their fulfillments in the

    product. The users are trained in how to use the system, and the users give approval to the system.

    Post-Project - Maintenance

    After the product is created, maintenance will inevitably need to be performed. This maintenance is generally done in a cycle similar to the one used to develop the

    product.

    DSDM FAQ

    Is DSDM suitable for all projects?

    No. Even diehard proponents of DSDM agree that DSDM will not work for all projects. (But of course, nor will other methodologies.) More often than not, if full-on

    DSDM doesn't work, you'll end up using some DSDM concepts and principles, but not others. It is important to analyze the nature of the project at hand, and decide

    which concepts and principles will help you out, and which will not.

    What are the basic criteria for the success of DSDM?

    To use DSDM, there must be full management commitment, the team must be able to meet together easily, and the team must be able to work together easily.

    How widely is DSDM used?

    1 out of 5 developers in the UK use DSDM, and more than 500 major companies have adopted it.

    DSDM Roles

    DSDM defines several key roles that should be filled by members of the team:

    Ambassador - The person who acts as a go-between between the customer(s)/users and the development team. He coordinates the development team, and should

  • have a good overall understanding of how the system will work.

    Visionary - The driving force behind the project - keeps the project steered on course towards the business goals. Often is the person who started/thought of the

    project.

    Advisers - People who have practical knowledge in area(s) of the business that need to be automated, and/or in the technologies needed to automate these areas.

    There are also other roles that are defined by DSDM:

    Technical Coordinator - The technical coordinator coordinates the various technical aspects of the system, and ensures that they interact smoothly and correctly.

    Executive Sponsor - A strong proponent of the system, who has the ability to contribute funds and resources to the project.

    Project Manager - oversees the development and prototyping.

    Team Manager - Manages the people aspects of the team, and ensures that the team functions smoothly as a whole.

    Senior Developer - a senior developer who has the knowledge and expertise to turn the plans and requirements into deliverable code.

    Facilitator - Facilitates in the practical areas of the team's work.

    Scribe - The person in charge of documenting decisions, discussions, and plans made by the team.

    Tools and Techniques

    MoSCoW Prioritization

    Functionality is categorized according to its importance:

    Must Have - the things that are absolutely essential, and are fundamental to the system.

    Should Have - things that are important for the business solution.

    Could Have - things that are useful, but can be done without for a short while.

    Won't Have This Time Around - things that can easily wait until later.

    Prioritization is important because there is not enough time to do everything, and those things that are essential must be put before things that are not.

    Prototyping

    Prototypes are used heavily in DSDM. They ensure that all interested parties have a clear picture of the various aspects of the system.

    Facilitated Workshops

    Facilitated workshops allow for these benefits:

    Ideal environment for the formation of ideas and quick and balanced growth of those ideas.

    All interested parties are aware of decisions made by other interested parties

    Decisions can be made by a wider range of stakeholders.

    Decisions are made quickly and accurately.

    TimeBoxing

  • Fixed time periods ensure that:

    Product delivery stays being the focus

    Concentration is on the top priorities

    All members know where each other is at and how long to expect each other to take