Software Engineering | Project Management Process
Project Management is the application of knowledge, skills, tools, and techniques to project activities to meet the project requirements.
Project Management Process consists of the following 4 stages:
- Feasibility study
- Project Planning
- Project Execution
- Project Termination
Feasibility study explores system requirements to determine project feasibility. There are several fields of a feasibility study including economic feasibility, operational feasibility, technical feasibility. The goal is to determine whether the system can be implemented or not. The process of feasibility study takes as input the required details as specified by the user and other domain-specific details. The output of this process simply tells whether the project should be undertaken or not and if yes, what would the constraints be. Additionally, all the risks and their potential effects on the projects are also evaluated before a decision to start the project is taken.
A detailed plan stating a stepwise strategy to achieve the listed objectives is an integral part of any project.
Planning consists of the following activities:
- Set objectives or goals
- Develop strategies
- Develop project policies
- Determine courses of action
- Making planning decisions
- Set procedures and rules for the project
- Develop a software project plan
- Prepare budget
- Conduct risk management
- Document software project plans
This step also involves the construction of a work breakdown structure(WBS). It also includes size, effort, schedule, and cost estimation using various techniques.
A project is executed by choosing an appropriate software development lifecycle model(SDLC). It includes a number of steps including requirements analysis, design, coding, testing and implementation, testing, delivery, and maintenance. There are a number of factors that need to be considered while doing so including the size of the system, the nature of the project, time and budget constraints, domain requirements, etc. An inappropriate SDLC can lead to the failure of the project.
There can be several reasons for the termination of a project. Though expecting a project to terminate after successful completion is conventional, but at times, a project may also terminate without completion. Projects have to be closed down when the requirements are not fulfilled according to given time and cost constraints.
Some of the reasons for failure include:
- Fast-changing technology
- Project running out of time
- Organizational politics
- Too much change in customer requirements
- Project exceeding budget or funds
Once the project is terminated, a post-performance analysis is done. Also, a final report is published describing the experiences, lessons learned, recommendations for handling future projects.