Software Engineering | Project Management Process
Project Management is a discipline about planning, monitoring, and controlling software projects, identifying the scope, estimating the work involved, and creating a project schedule. Along with it is also responsible to keep the team up to date on the project’s progress and handle problems and discuss solutions.
The Project Management Process consists of the following 4 stages:
- Feasibility study
- Project Planning
- Project Execution
- Project Termination
A feasibility study explores system requirements to determine project feasibility. There are several fields of a feasibility study including economic feasibility, operational feasibility, and 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, 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, and recommendations for handling future projects.
Project management is a procedure that requires responsibility. The project management process brings all of the other project tasks together and ensures that the project runs smoothly. As a result, the project management team should have a thorough awareness of all project management procedures as well as the tools that can be used for each one.