DSDM is a vendor-independent approach that recognises that more projects fail because of people problems than technology. DSDM's focus is on helping people to work effectively together to achieve the business goals. DSDM is also independent of tools and techniques enabling it to be used in any business and technical environment without tying the business to a particular vendor. These principles direct the team in the attitude they must take and the mindset they must adopt to deliver consistently. • 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
Core techniques •
Timeboxing: is the approach for completing the project incrementally by breaking it down into splitting the project in portions, each with a fixed budget and a delivery date. For each portion a number of requirements are prioritised and selected. Because time and budget are fixed, the only remaining variables are the requirements. So if a project is running out of time or money the requirements with the lowest priority are omitted. This does not mean that an unfinished product is delivered, because of the
Pareto principle that 80% of the project comes from 20% of the system requirements, so as long as those most important 20% of requirements are implemented into the system, the system therefore meets the business needs and that no system is built perfectly in the first try. •
MoSCoW: is a technique for prioritising work items or requirements. It is an acronym that stands for: • Must have • Should have • Could have • Won't have • Prototyping: refers to the creation of prototypes of the system under development at an early stage of the project. It enables the early discovery of shortcomings in the system and allows future users to 'test-drive' the system. This way good user involvement is realised, one of the key success factors of DSDM, or any system development project for that matter. • Testing: helps ensure a solution of good quality, DSDM advocates testing throughout each iteration. Since DSDM is a tool and technique independent method, the project team is free to choose its own test management method. • Workshop: brings project stakeholders together to discuss requirements, functionalities and mutual understanding. •
Modeling: helps visualise a business domain and improve understanding. Produces a diagrammatic representation of specific aspects of the system or business area that is being developed. •
Configuration management: with multiple deliverables under development at the same time and being delivered incrementally at the end of each time-box, the deliverables need to be well managed towards completion.
Roles There are some roles introduced within DSDM environment. It is important that the project members need to be appointed to different roles before they commence the project. Each role has its own responsibility. The roles are: •
Executive sponsor: So called the
project champion. An important role from the user organisation who has the ability and responsibility to commit appropriate funds and resources. This role has an ultimate power to make decisions. •
Visionary: The one who has the responsibility to initialise the project by ensuring that essential requirements are found early on. Visionary has the most accurate perception of the business objectives of the system and the project. Another task is to supervise and keep the development process in the right track. •
Ambassador user: Brings the knowledge of the user community into the project, ensures that the developers receive enough user feedback during the development process. •
Advisor user: Can be any user that represents an important viewpoint and brings daily knowledge of the project. •
Project manager: Can be anyone from the user community or IT staff who manages the project in general. •
Technical co-ordinator: Responsible in designing the system architecture and control the technical quality of the project. •
Team leader: Leads their team and ensures that the team works effectively as a whole. •
Solution developer: Interpret the system requirements and model it including developing the deliverable codes and build the prototypes. •
Solution tester: Checks the correctness in a technical extent by performing some testing, raise defects where necessary and retest once fixed. Tester will have to provide some comment and documentation. •
Scribe: Responsible for gathering and recording the requirements, agreements, and decisions made in every workshop. •
Facilitator: Responsible for managing the workshops' progress, acts as a motivator for preparation and communication. •
Specialist roles: Business architect, quality manager, system integrator, etc.
Critical success factors Within DSDM a number of factors are identified as being of great importance to ensure successful projects. • Factor 1: First there is the acceptance of DSDM by senior management and other employees. This ensures that the different actors of the project are motivated from the start and remain involved throughout the project. • Factor 2: Directly derived from factor 1: The commitment of the management to ensure end-user involvement. The prototyping approach requires a strong and dedicated involvement by end users to test and judge the functional prototypes. • Factor 3: The project team has to be composed of skillful members that form a stable union. An important issue is the empowerment of the project team. This means that the team (or one or more of its members) has to possess the power and possibility to make important decisions regarding the project without having to write formal proposals to higher management, which can be very time-consuming. In order to enable the project team to run a successful project, they also need the appropriate technology to conduct the project. This means a development environment, project management tools, etc. • Factor 4: Finally, DSDM also states that a supportive relationship between customer and vendor is required. This goes for both projects that are realised internally within companies or by external contractors. An aid in ensuring a supporting relationship could be
ISPL. == Comparison to other development frameworks ==