AgilePM 04: Iterative Development
As established earlier, in adaptive approaches we have development cycles.
During each cycle we need to specify what we need to do, design the part of the solution, then build the code, test it, and finally integrate it with everything else we have created.
This sort of development process is called iterative development. Through this process, the evolving solution develops from a concept to a product which has an acknowledged business value. Developing iteratively represents one of the key principles of DSDM. With each cycle, the product is brought closer to finish. The cycles begin and end with a dialogue, as stated by the DSDM principles of continuous and clear collaboration and communication. The initial dialogue focuses on what has to be done and how. Most of the times, this is simply an event of informal planning. After the plan was implemented, the work is reviewed and it is decided whether the result meets the expectations or another cycle is required. Importantly, the criteria for acceptance for the product need to be kept in clear focus throughout this process in order to ensure that the quality of the product is the expected one.
AgilePM 05: Quality
How the quality of the product is assessed differs between the Agile and Waterfall methodologies. For Agile, quality checks take place at each development cycle, during the testing phase.
By comparison, for Waterfall methodologies quality checks are carried out near the end of the project. This can often mean that a compromise on quality needs to be made, however, due to time constraints and pressure from stakeholders.
The advantage of Agile is clear, as quality issues can be addressed at any point during the development process, allowing us to reach the final result at a desired quality. This level of quality should be agreed upon at the start of the project, and all the work carried out should aim at reaching the desired level of quality. The goal is to never compromise quality, this being one of the DSDM principles. When the DSDM framework is used, testing is carried out as early as possible. In order to ensure that the testing procedure is appropriate and takes place without unnecessary risks, the teams use MoSCoW prioritization and timeboxing.
AgilePM 06: Collaboration
Business people are a vital part of any project. However, the way in which they are involved in the process differs between Agile and Waterfall methodologies. More specifically, in Predictive methodologies they are heavily involved at the beginning of the project and in the closing of the process, whereas in Agile methodologies they are involved throughout the project, during each developmental stage.
Their participation takes place during the Specify and Test phases of each development cycle. This is why, in Agile projects we need to have access to business people throughout the development process.
This means that, unlike for predictive systems, in Agile projects you cannot afford involving busy business representatives. Their presence is needed in order for the optimum product to be reached. One thing that should be avoided is the “Us vs. Them” relationship that is found in some companies between stakeholders, business people on the one side and management and technical people on the other. This is detrimental to the ultimate, common goal of reaching the objectives of the project.
For this reason in Agile it is needed to bring these parties together in active cooperation, creating a one-team culture. This is because with collaboration, the understanding and speed is vastly increased and a sense of shared ownership is created, this allowing the teams to work together much better than if the team members worked individually.
We used a new term above, stakeholders. A stakeholder is any person who has an interest in the project and has the ability to influence it (e.g., customers, suppliers, competitors, etc.). As you can see, in most systems there are three types of stakeholders: business people, management people, and technical people. Importantly, in DSDM we have a fourth category: process oriented people. These stakeholders are merged with management people in other methodologies.
Bringing these four categories of stakeholders working closing together is what is called collaboration in Agile, this representing one of the DSDM principles.
AgilePM 07: Communication
According to the PMBOK and PRINCE2 standards, a project manager needs to spend about 90% of his time communicating. Indeed, poor communication is often considered to be the biggest cause for project failure. In Agile projects communication is vital at each phase of each development cycle. This is why DSDM practices were designed to improve the effectiveness of communication both for individuals and teams.
In this sense, within the DSDM framework teams informal communication is encouraged at all levels, and daily team sessions are organized in order to ensure efficient communication. The role of the project manager here is to facilitate continuous and clear communication between the team and stakeholders, and within the team – this representing another DSDM principle.
Human interaction is valued and emphasized by DSDM through stand-ups, workshops, but also by defining clear roles for the team members and by ensuring active involvement in the project development.
AgilePM 08: Business Need
Decisions during a project should be made depending on the project goal – delivering what is needed when it is needed. For this, project teams need to ensure that they understand the real priorities, that they establish a business case that is valid, and that they are able to guarantee the delivery of the Minimum Usable SubseT (MUST).
Unfortunately, this does not always happen. As an example, the graph below shows that many times, a large amount of the features of new software are never used. This translates in a waste of many work hours.
In order to avoid such disastrous situations, particularly when using Agile methodologies, we need a proper prioritization method. One which is characteristic to DSDM is the MoSCoW prioritization. This method is also used in other methodologies, including Waterfall ones – such as PRINCE2.
MoSCoW differentiates between:
- Must have: vital functions, or functions which are needed to comply to regulations
- Should have: not vital functions, but required. Workaround possible.
- Could have: additional functions that bring value to the product but are not required
- Won’t have this time
Often it’s difficult for the customer or business people to differentiate between “must have” and “should have”. For this reason, the “must have” for any product should be determined by the technical and management people after a conversation with the other stakeholders. In adaptive systems, we need to start by first developing the “must have” items, and then move on to “should have” and, later, “could have” functions. This focus on the business need, a DSDM principle, allows the development of a fully functional product as early as possible, less important features being added as time constraints allow.
AgilePM 09: Fixed Duration Projects
In the case of projects developed through traditional approaches, most times the duration of the project is not fixed. What that means is that we are given a fixed set of features that the product needs to have and in case the time does not suffice we can either sacrifice quality or extend the project duration, thus driving up the costs.
This is not always a good solution, however. At times, due to legal deadlines or market opportunities, the late delivery of a product is not a solution. Even when that is not the case, on-time delivery is the most important success element or at least a desirable outcome that shows control over the project. In IT and software development, project duration is very important. The reason for this is that by extending the project duration we shorten the use time of the product, on the one hand and, on the other, that by extending the project duration we end up implementing many “could have” features that will generally not be used anyway.
For this reason, the DSDM approach uses a fixed project duration, with a fixed cost and fix quality requirements. The only flexible thing is the scope of the project. Depending on what time allows, a variable number of features will be implemented.
Using the MoSCoW prioritization technique, the project team begins by implementing the “Must Have” features, then moving on to “Should have” items and, if time permits, “Could have” features.
However, in order to ensure that the MUST is delivered, we need to have some flexibility in our projects. One rule in DSDM in this sense is that “must have” features must represent a maximum of 60% of all features, while “should have” should represent another 20%.
AgilePM 10: Control
Sometimes it is believed that Agile methods involve no kind of documentation, planning, or control, and that only by using communication and rituals such as daily stand-ups and iterations they will be Agile. Although sometimes it is considered that by removing certain control elements from Waterfall approaches we move closer towards Agile, in fact we are moving towards Chaos.
This is because Agile is a process and to have a process we need control at all times and to be able to demonstrate control, this being another of DSDM’s key principles. This is achieved through plans for the work being undertaken, this plan being aligned to agreed business objectives. In addition, we need to ensure that transparency exists with regards to the work performed by the team. For this to happen, the Project Manager and Team Leader together with the rest of the DSDM teams need to make plans visible to all stakeholders, measure the progress made by focusing on the delivery of products instead of on finished activities, manage proactively, continuously evaluate project viability by referring to business objectives, and use the appropriate level of formality for tracking and reports.
Keywords: AgilePM, AgilePM Foundation, AgilePM Practitioner, AgilePM Certification, AgilePM Exams, AgilePM PDF, AgilePM Manual