The development process divided into some major individual phases based on the Project requirement. Each & every process started by completion of the previous process. Commonly used different phases in waterfall method for Web or Software developments are
PHASE 1: PRODUCT REQUIREMENT SPECIFICATION
- Product Requirement Specification
Main roles involved in this phase are the Client, the System Analyst & the Business Development Manager.
The purpose of this phase is to document the every requirement from the client to avoid the miscommunication between the client and the project team. Miscommunication result in wrong product Output
- Scope, objectives, & purpose of the product
- Product Functions
- User Characteristics involved & their requirement
- Performance Requirements
- Platform Requirements
- Prioritization & Release plan
- Deployment information
- Other specification related to the product like Database requirements, User Interface, Security, etc.
- This document need not contains any technical information about the software development
Both Client & Business Development Manager sign the Product Requirement Specification for finalization. If the Client needs change with this document, it approved only with the acceptance document from the Client. Since this methodology is non-iterative, for each & every change, it may require more hours to implement and it increases the product cost. This method is only applicable where all the functions of the product are well known.
The role of System Analyst in this phase is to collect the Product Requirement Specification from the Client to prepare the preliminary concept document for the Product development. The preliminary concept required for Project Approval.
- Whether the project can complete within the period of client requirement
- Training requirements & Manpower
- Software & hardware requirements
- Storage capabilities like Database requirements
- Risk involved in the system
- Technical aspects like the coding, tools & technology to be used, etc
- Interface planning
- Deployment Planning
- Legal, Copyright, Licensing & other information
Business Manager approves the Technical Requirement Specification based on business requirements. Totally, 3 to 5% of the Project time utilized for Phase-1 based on the Product requirement
If the project approved the process goes to next phase
PHASE 2: SYSTEM ANALYSIS
The main role for this phase is System Analyst.
System Analysis considered a vital role in software development process. It derives the exact plan, contents & schedule for the next phases. Pre-planning saves the project from failure.
System Analyst roles:
- Architecture Planning
- System Analysis Diagrams
- Layer Diagram
- Database Design
- Entity Relationship Diagram
- Code Map
- Activity Diagram
- Sequence Diagram
- Use Case Diagram
- Schedule & Implementation document
Totally, 20 to 25% of the Project time utilized for System Analysis based on the Product requirement
PHASE 3: UI Design & Programming
Main roles involved in this phase are the Client, the UI Designer, and the Programmer
The User Interface plays a vital role in product success. It should be user-friendly & user attractive and should not affect the performance of the system. Here UI Designer function is to prepare the preliminary design & gets the approval from the Client and then fine-tunes that Design.
The architecture creates the system design in the sense; the UI change should not affect the Business logics.
The programmers get the input from the System analyst and the UI Designer to prepare the code & link the code with the User Interface. Programmer tests whether the code working properly with the UI.
Totally, 50 to 60% of the Project time utilized for Programming based on the Product requirement
PHASE 4: Quality Testing
The main role involved in this phase is Quality Engineers
The product deployed into the Development Server / System for Quality Testing. Quality Engineers test the product and to approve the system deployment to the client.
Totally, 5 to 10% of the Project time utilized for Quality Testing & Deployment based on the Product requirement
PHASE 5: Deployment & Implementation
Maintenance jobs like fixing bugs & improvement done with this phase. The main function of this phase is to deliver the improvements in the system. There is no prior time schedule for the Maintenance phase.
- Simple Model for Small to Medium sized Products
- Since the outputs are known, easy to manage & to work
- Best method to maintain the documents for the project
- Monitoring the project status via schedule works effectively
- Each and every stage is reviewed, approved & documented
- Not an iterative process, can’t go back to the previous stage easily
- Client changes in product increase the project cost
- Not suitable for long-term and big sized products
- Risks may result in Project Failure
- Parallel development may not be possible