Performance & Load Testing

Resources Center

DSDM Project Lifecycle

by Swaraj Gupta

A DSDM project consists of three key phases –

  • Pre project phase
  • Project lifecycle phase and
  • Post project phase

Pre project phase:

In the pre project discussions happen at super management level wherein the business problems are identified, applications (to be built) are decided, these applications are prioritized, budget is allocated for the same and team formation is started. This phase ensures the commitment part of the project.

Post project phase:

Ideally I should have spoken about it after “project lifecycle phase” since it comes after that phase. However since in this article we are going to focus on lifecycle, I am keeping it till the end so that I can speak most about it.

In post project phase, it is validated by the technical teams and the business-operations teams that the system (product built) operates as per the business expectations. Post project phase also comprises of maintenance (or enhancements) and fixes phase. In these phases the project is improvised incrementally and thus continuous product development (and thus incremental improvement) is achieved.

Project lifecycle phase:

The project lifecycle phase as can be observed from the above diagram comprises of 4 main stages.

  • The first one (Study) comprises of two key stages of study – the feasibility study and the business study. These happen sequentially and they complement each other. In these two phase –
    • Feasibility Study: As the name suggests, in this phase the possibility (or feasibility) of building the application is studied and decisions are made accordingly. It looks into the team available, the budget available the expected functionalities and the possibility of building the functionalities in the resources available. The output as a part of this study comprises of a model (or a prototype) and reports that enlists how all the feasibility criteria are met.
    • Business Study: In this part of the study, business experts and the technical experts are all called upon and discussions happen where in all the essential business problems are listed and studied. It is then overlooked into if the technical capabilities available are sufficient to meet the business requirements. A prioritization is then made upon the requirements and application & infrastructure diagrams are finalized.

  • Functional model iteration: The requirements are finalized and prioritized in the earlier two studies are then built in a functional prototype wherein a model of one requirement after another is built in incrementally. The prototypes are then studied for its quality and improvement possibility by functional experts (and also some times by end users) so that it can be further improved upon. This stage can be further sub divided into smaller sub-stages:
    • Identify functional prototype: Based on the prioritized requirements, identify the key functionalities to be built in the prototype
    • Accept plan and schedule: Form a plan and schedule to build the functionalities are finalized. Identify team members, allocate tasks and finalize deadlines in this sub stage.
    • Create a functional prototype: The developers then loop in and create the prototype based on the functional requirements. They also further test the functionalities themselves (unit testing) and further improve the product in this sub stage
    • Review the functional prototype: End users are then brought into the picture. These then have a look at the functionalities and then test those. The comments are then taken into consideration and further improvement areas are identified.

  • Design and build integration: This phase first begins with ensuring that the functionalities as built meet the user’s expectations and can function well in the practical and operational environment. Most important focus inn this phase, the individual units (or functionalities) as built in the earlier stage are integrated into one system. Since in DSDM, there is no clear distinction between design & build, both of these phases are clubbed together and these two phases simultaneously continue together. This stage also comprises of four sub-stages:
    • Identify design prototype: Once the requirements are modeled into the prototype, the ones that need to be in the final system are identified and prioritized.
    • Accept plan and schedule: The prioritized ones are then planned and scheduled to be built. Team mates are identified and the tasks are allocated.
    • Create a design prototype: A design prototype is created by the developers and then it is provided to the testers and end users for testing. The end users then look into the app and provide comments on how it could be improved further.
    • Review the design prototype: Further testing is done on the system and its correctness and closeness to the planned one is identified.

  • Implementation: As a part of this stage the tested application is put up in live environment and is made available to the end users. Training to end users is also provided. Also timely review and feedback is collated from the end user to ensure that the business demands are met and right solution is provided to the end users and their needs are all catered too. Implementation is further broken down into 4 sub-parts:
    • User approval & guidelines
    • Train users
    • Implement

Review business: Above three points are self-explanatory. In this sub stage, the impact of the application on the business is judged, weather the app meets the business needs is identified and any new functionality that can have further business impact is identified and looped in for further development (or enhancement)

This post is also available in: French

About Swaraj Gupta

Swaraj is a performance, automation and functional test expert who has worked on variety of desktop and mobile applications. The major areas that he focuses on are - functionality, usability, performance and consistency of application behavior. He manages the entire performance testing cycle of the projects that he is responsible for and works on multiple such engagements simultaneously. He has worked in variety of different business domains that include - Hi tech consulting, Financial services, management consulting, auditing services, e commerce, e learning, etcT

Learn more about QTest
Agile Software Security

More Blog