11.0 Waterfall vs. Cyclical Project Management (Part 4) – Project Lifecycle & Outcomes

Methods of project management that are cyclical #

Due to the problems discussed above, a variety of alternative techniques of project management have developed in recent years. These techniques are especially well-suited for information technology development initiatives.

Cyclical project management is a method of achieving the project’s objective via a series of brief, sequential cycles. Each cycle is brief, ideally lasting less than a month. Each cycle completes a part of the project. Each cycle includes analysis, design, implementation, and testing. This is significantly different from the waterfall approach, in which each of these tasks occurs in its own distinct phase. Additionally, the waterfall approach specifies a limited number of distinct moments for concept, design, implementation, and testing. This happens many times in succession in the cyclical approach.

Understanding Project Management Software Cycle #

Various software components are implemented throughout the cycles, which are therefore self-contained. Each cycle is evaluated after completion. If new or alternative needs for the project emerge as a result of increasing understanding, the activities of future cycles are adjusted to include them.

A cycle starts with the establishment or modification of a schedule. Following that, the cycle’s output needs are evaluated. A design is developed, coded, and validated. Following that, evaluation happens, and in certain cases, the new programme is implemented. Next, the following cycle may commence in order to complete the project’s subsequent components. (For a more detailed discussion of cyclical techniques and their distinctions, see, for example, Kroll, 2004; Chromatic, 2003; Stapleton, 2002.)

The following are the primary benefits of using the cyclical method:

  • Improved product quality and functionality implementation;
  • Improved product quality and functionality implementation;
  • More realistic time and cost estimates;
  • Less strain on the project team;
  • Higher quality.

The preceding chapters show how difficult or impossible it is to properly define the required capabilities at the early phases of a project. Cyclic techniques implement the required functionality in a series of brief cycles. Each cycle not only investigates, but also designs, implements, and tests a tiny part of the required functionality. The rapid succession of design, execution, and testing is critical for quality improvement. As a result, teams are in a position to make changes. If a design does not work in reality, it becomes apparent throughout the cycle, allowing for modification. Additionally, this kind of operation enables consumers to request changes.

Maintaining Quality #

Another reason why cyclical project management improves quality is that each cycle requires intense cooperation between the client, designers, and programmers. A multidisciplinary team develops and executes solutions together. The client is mainly engaged in the beginning, in the development of requirements; next, designers create a design, and last, programmers build the software. The project leader acts as a liaison between all of the different parties and is responsible for ensuring that information provided is delivered to the appropriate recipient. In reality, many programmers and designers never encounter the client, who only reappears throughout the software development process.

Cyclical techniques of project management are especially well suited to projects in which the end objective cannot be clearly defined in advance, such as artistic or research initiatives. Working in cycles with a diverse team that includes end users enables the team to determine the true purpose of the project and the best way to accomplish it. Each cycle offers a chance for reflection and correction.

A target is defined in advance for waterfall projects. Reflection on the initial objective is less likely. The initially formed objective is never (completely) realized, and neither the originally conceived nor the realized goal is likely to be precisely what was intended.

Finally, cyclical project management methods provide superior outcomes since the client conducts acceptance testing. Additionally, quality is enhanced by including tests as criterion for high-performing functionality from the start. Therefore, programmers must create ‘failed tests’ (or unit tests) prior to writing their code. Only code that passes the failed test is deemed acceptable.

Consistent Testing #

Test-oriented work demands programmers to demonstrate that new code is bug-free prior to writing it. They do this by creating a test (failing test) that will identify any potential flaws before beginning to code. Consider the case where a software must be developed to determine the proper amount of change to be received from a candy machine. To begin, the presence of a function capable of causing change must be verified. This function may be referred to as ‘give change’. A simple test might be run and it would reveal that the ‘give change’ function does not yet exist. The test will pass if the programmer creates the function but does not yet provide it with any substance.

The next step is to determine if the machine returns the correct amount of money when an item is bought. Insert sixty cents into the machine and purchase a fifty-cent item. The test will fail since the function remains empty. After that, the programmer writes the code. He specifies in the ‘give change’ function that the quantity of change to be returned is equal to the amount of money put in the machine, minus the cost of the selected candy. The test should now pass successfully. This procedure must be repeated for each component of the programme.

Not only the code must be tested technically; the functions must also be tested (i.e. acceptance tests). Prior to beginning coding, the client establishes the criteria under which the capabilities to be developed may be approved (e.g., how fast a computer must react to a certain user action). Prior to then, defining the criteria under which the additional capability may be approved proved very complex and time intensive. Nonetheless, the active involvement of consumers in testing is critical to the project’s success.

Time & Money Estimates #

Understanding the functions to be implemented are not predetermined at the start of a cyclical project. The amount of time available is given. Agreements are reached about the project’s direction, and throughout the process, it is established what is really required, beneficial, and feasible in terms of the programme to be created. Because the functions to be implemented are not set objectives, cyclical projects minimize the danger that the required hours, and therefore money, may spiral out of control. To avoid this scenario, the available time is utilized as a starting point, and what is reasonable to anticipate in that amount of time is established throughout the process.

Additionally, cyclical project management techniques are considerably more palatable to the project team. The team does all it can within the allotted time frame, but is not pressed to achieve unreasonable deadlines or operate within an insufficient budget.

Additionally, cyclical techniques simplify the administration of foreign providers. With the waterfall approach, a project may grow reliant on a single provider until the project is completed, regardless of the supplier’s performance. It is theoretically feasible to enter into fresh agreements for each cycle or even for each component to be supplied under a cyclical working technique and, if required, to change suppliers.