Waterfall Model
A number of Project management approaches have been developed over a period of time for organizing and completing project activities, that include the – Phased approach, Lean approach, Iterative approach, and Incremental approach etc. Various extensions to project planning have been developed, for instance based on outcomes (product-based) or based on activities (process-based).
Irrespective of the type of approach been used for project implementation, careful consideration should be given to the overall project objectives, timeline, and cost, together with the roles and responsibilities of all participants and stakeholders.
We shall now discuss the various approaches used in the process of Project Management
Phased approach
The phased approach aims to breaks down and manages the work through a series of distinct steps to be completed, and is also known as “traditional” or “waterfall” approach. Although this approach can vary, but it typically consists of 5 process areas, and four phases plus control. – That is initiation, planning and design, construction, monitoring and controlling, completion or closing.
Various industries use variations of these project stages which is not uncommon for the stages to be renamed in order to meet the organizational requirement. For instance, when a project is framed around a brick-and-mortar design and construction, in general it will progress through stages like pre-planning, conceptual design, schematic design, design development, construction drawings and construction administration.
Note
that the phased approach works well for small, well-defined projects, it frequently results in challenge or failure on larger projects, or those that are more complex or have more ambiguities and risk.
Lean Project Management
The lean project management uses the principles from lean manufacturing to focus on delivering value with less waste and reduced time.
Iterative and Incremental Project Management
Since it has been seen that the phased approaches are not well suited for projects which are large-scale and for multi-companies that have undefined, ambiguous, or fast-changing requirements, abd for those projects which have a high degrees of risk, dependency, and fast-changing technologies. Therefore the planning made on the initial phase of the project suffers from a high degree of uncertainty.
Such complexities are handled well using a more exploratory or iterative and incremental approach. There has been development of various models of iterative and incremental project management, including agile project management, dynamic systems development method, extreme project management, and Innovation Engineering.
Critical Chain Project Management
Critical chain project management (CCPM) applies the Theory of Constraints (TOC) to planning and managing projects, designed to deal with the uncertainties inbuilt in managing projects, thereby taking into account limited availability of resources required to execute projects.
The main aim of this approach is to increase the flow of projects in an organization. It requires the application of the first three of the five focusing steps of the theory of constraints, for which the system constraint of all projects, as well as the resources, are identified. So in order to exploit the constraint, tasks on the critical chain are assigned priority over all other activities. Thus, the projects are planned and managed to ensure that the resources are ready when the critical chain tasks must start, subordinating all other resources to the critical chain.
Product-Based Planning
Product-based planning is one of the structured approaches to project management, which is based on identifying all of the products that contribute to achieving the project objectives. As such, it defines a successful project as output-oriented rather than activity-or task-oriented. The most common implementation of this approach is PRINCE2.
Process-Based Management
Process-based management has evolved by the use of maturity models like OPM3 and the CMMI. The OPM3 maturity model describes how to make project management processes capable of performing successfully, consistently, and predictably in order to enact the strategies of an organization, unlike SEI’s CMM .
Project Production Management
Project production management is the application of operations management to the delivery of capital projects. The Project production management framework is based on a project as a production system view, in which a project transforms inputs like raw materials, information, labor, plant and machinery into outputs goods and services.
Benefits Realization Management
Benefits realization management (BRM) approach enhances normal project management techniques through a focus on the result of a project rather than products or outputs, and then measuring the degree to which that is happening in order to keep the project on track. This approach can help to reduce the risk of a completed project being a failure by delivering agreed upon requirements/outputs but failing to deliver the benefits of those requirements.
The BRM approach ensures the alignment between project outcomes and business strategies. One of the examples of delivering a project to requirements might be agreeing to deliver a computer system that will process staff data and manage payroll, holiday and staff personnel records. Under BRM the agreement might be to achieve a specified reduction in staff hours required to process and maintain staff data.
Earned value management
Earned value management (EVM) extends project management with techniques to improve project monitoring. This approach illustrates the project progress towards completion in terms of work and value.
Waterfall model is the one of most popular project management approach that has been used in development of software. Waterfall model is a sequential design process, where the progress flows steadily downwards through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance.
Waterfall development model originated in the manufacturing and construction industries under a highly structured physical environment in which after-the-fact changes are prohibitively costly, if not impossible. The waterfall model was created when no formal software development methodologies emerged, this hardware-oriented model was primarily adapted for software development.
History of Waterfall Model
Waterfall model was developed in 1970 by Winston W. Royce who presented this model as an example of a flawed, non-working model. This is how the term is generally used in writing about software development so as to describe a critical view of a commonly used software development practice. Software development cycle includes the following six phases – Preliminary Design, Detailed Design, Coding and Unit Testing, Integration, and Testing.
Phases in Waterfall Model
- System and software requirements: There requirements are captured in a product requirements document
- Analysis: The analysis results in models, schema, and business rules
- Design: The design phase results in the software architecture
- Coding: The coding phase involves the development, proving, and integration of software
- Testing: The testing phase involves the systematic discovery and debugging of defects
- Operations: The design phase involves the installation, migration, support, and maintenance of complete systems
In case of waterfall model one should move to the next phase only when its preceding phase is reviewed and verified.
In the waterfall model, the time spent early in the software production cycle can reduce costs at later stages. For instance, a bug found in the early stages would be much cheaper to fix than the same bug found later on in the process.
In general, the waterfall methodologies has a project schedule with approximately 20–40% of the time invested for the first two phases, 30–40% of the time to coding, and the rest devoted to testing and implementation phase. Infact the process of project organisation should be highly structured for better performance.
Features of Waterfall Model
It places emphasis on documentation as well as source code. So in case a fully working design document is present, new team members or even entirely new teams should be able to familiarise themselves by reading the documents.
It provides a structured approach.
The model itself progresses linearly through discrete, easily understandable and explainable phases and thus is easy to understand
It also provides easily identifiable milestones in the development process.
The waterfall model is suited to projects where requirements and scope are fixed, the product itself is firm and stable, and the technology is clearly understood.
Criticism of Waterfall Model
Clients are not aware of the requirements before so they are required to see the functionalities of the software and thereby alter their requirements, leading to redesign, redevelopment, and retesting, further leading to additional costs.
Initially the designers are not be aware of future difficulties at the time of designing the software its product or feature, in which case it is suggested to modify the design
Advocates of agile software development say that the waterfall model is an ineffective process for developing software
Some cynics suggest that the waterfall model is a false argument used purely to market alternative development methodologies.
Apply for Software Testing Professional Certification
https://www.vskills.in/certification/certified-software-testing-professional