Computer Project Management refers to the project management division dedicated to the planning , scheduling, and resource allocation, implementation , monitoring and delivery of computer and web projects.
Project management in software engineering is distinct from traditional project management because software projects have a dynamic life-cycle process involving many rounds in testing, updating and customer feedback. Most IT-related initiatives are conducted in an agile model to keep up with the increasing pace of business, which iterate based on customer and stakeholder feedback.
The position and duty of software project manager.
Software project managers may be expected to do any of the following tasks:
- Planning: This means bringing the blueprint together from idea to fruit for the whole project. It will identify the scope, allocate the necessary resources, propose the schedule, delineate the implementation plan , create a communication strategy and determine the steps needed for testing and maintenance.
- Leading: A project development manager would need to organize and direct the project team, which will likely consist of engineers, analysts, testers, graphic designers and technical authors. This needs outstanding communication skills, organizational management and leadership.
- Execution: The project manager will engage in each stage of the project and supervise the successful execution. This involves tracking progress, regular team check-ins and status reports being produced.
- Time management: Staying on schedule is crucial to the successful completion of any project, but when it comes to handling software projects, it is especially difficult because changes to the original design are almost likely to occur as the project progresses. It project managers need to be risk management and contingency planning professionals to ensure progression when roadblocks or adjustments arise.
- Budget: Like traditional project managers, the role of software project managers is to develop a budget for a project and then adhere to it as closely as possible, reduce spending and re-allocate funds as appropriate.
- Maintenance: Usually, software project management encourages frequent product development to find and correct bugs early, tailor the final product to consumer needs and keep the project on track. It is the duty of the software project manager to ensure adequate and reliable testing, review, and fixes are made.
How to manage a software project successfully?
A recent article in Forbes proposes eight ways to enhance and streamline the project management process for software; these eight suggestions include:
- Take off the platter of the team’s non-development work and let them concentrate on developing.
- Motivate your team by sharing the success stories of others — such as those of tech giants that will inspire and excite your team.
- Avoid altering the mission once assigned to it.
- Try sticking to the plan (until it has to be changed).
- Encouraging organisation, by organization.
- Using successful delegation to streamline efficiency.
- Get to know your staff, and build a friendship.
- Break the strategy down and give them unique everyday tasks
Need of software project management
There is a saying that software is an intangible object. Computer technology is a kind of new source in world business and the software product technology has very little experience. Many of the software solutions are targeted to consumer needs. The most important factor is that the underlying technology develops and advances so often and rapidly that experience of one product can not be applied to another. All these market and environmental constraints pose a risk to software growth and so efficient project management of software is needed
The above picture shows triple limitations of software-projects. Development of quality product is an important part of software management, maintaining costs within the company’s budget limit, and manufacturing the project as expected. There are many variables, internal as well as external, that influence this triple constrain triangle. The other two are potentially seriously affected by any of three factors.
Therefore software project management is required to align user requirements with budget and time constraints
Software Management Activities
The software project management consists of a variety of activities which include project planning, software product scope determination, cost analysis in different terms, project and event scheduling, and resource management. Activities to handle projects may include:
- Project Planning
- Scope Management
- Project Estimation
Software project preparation is a process that is carried out before the production of the program actually begins. It is there for software production but does not involve any specific activity which has any spatial connection with software production; rather, it is a set of multiple processes which facilitates software development. For project planning the following can apply:
The project scope is defined; this includes all the tasks that need to be performed to create a deliverable software product. Management of the scope is important because it sets project limits by defining clearly what will be included in the project what will not. It lets the project include minimal and quantifiable activities that can be easily tracked and in effect avoids the expense and time of overrun.
During Project Scope management, it is necessary to –
- Define the scope
- Decide its verification and control
- Divide the project into various smaller parts for ease of management.
- Verify the scope
- Control the scope by incorporating changes to the scope
An accurate assessment of the various measures is a must for successful management. With the right evaluation managers can schedule and track the project more quickly and efficiently
Project estimation may involve the following:
Software size estimation
The program size can be measured either in terms of KLOC (Kilo Line of Code) or by calculating the number of function points in the program. Code lines depend on coding standards and feature points vary as needed by user or computer.
The managers calculate the effort necessary to implement the program in terms of the need for resources and the man-hour. The size of the effort estimation program should be understood. This can be taken either from the administrators’ experience, the company’s historical records, or the program scale can be converted into efforts using some simple formulae.
If the size and dedication are calculated, the time necessary for the software development can be estimated. The necessary effort is divided into sub-categories according to requirement specifications and the interdependence of various components of the program. Job Breakthrough Structure (WBS) divides the program tasks into smaller projects, events or activities. The activities are regularly scheduled or in calendar months
The cumulative time spent completing the project is the amount of time it takes in hours or days to complete all the projects.
Cost estimation This can be called the most difficult of all, because it relies on more elements than all the previous ones. For estimating project costs, consideration must be given to-