Software Project Management Process
Once software project scope is agreed, project estimation techniques are considered, IT project manager can focus on the typical software development lifecycle activities. In this post, let’s look at software project management process: Scheduling, resourcing, Tracking/ Monitoring, Software Configuration Management, etc, closure.
Software Project Scheduling
For software projects, scheduling is identification of activities to be performed, sequencing of those activities in a stipulated timeline. Project planner (generally it is project manager who plays the role of project planner), list down project activities as tasks, milestones, decide their duration, dates, inter-dependency, take into account resources availability, etc. While doing all of these, project manager has to keep in mind the project deadline; hence s/he tries to arrange, re-arrange project tasks to meet the deadline. Project manager also needs to carefully look at activities on the critical path, since any change of duration or dates for critical task will directly change the project deadline.
Essentially for software projects, project manager perform following activities
- Create list of high level deliverable
- Create work breakdown structure
- List down smaller, actionable tasks, milestones
- Use estimation techniquesto identify required efforts, resource type for smaller tasks
- Define inter-dependency among tasks, set lead/lag time
- Identify tasks on critical path, ensure buffer time to cover unforeseen slippage
Resource management for Software Project
From the outside world perspective, software projects involves resources like programmer, tester, business analysts who are techie fellows. Of course there are technological tools such as Integrated Development Environment (IDE), software testing tools suites, collaboration platform, project management system, etc.
Like general economics principle talks about resource scarcity, resources available for software project tend to be limited and hence it is important for the organization to utilize them in optimal manner. The optimal utilization of resources is critical because, otherwise organization might end up allocating too may resources to a development project that does not need so many resources, and alternatively allocating too little resources to a development/testing project that has shortage of resources. It will impact delivery timeline, cost, quality as well as employee morale.
Resource management includes:
- Team composition/ Project organization based on role, skills,
- Refer resource load, availability, capacity planning
- Assign tasks to project resources
- Track resource assignment for progress and also track resource utilization
- Mobilize resources (include, release) as required
- Train resources, provide necessary working/technological environment for them to work
Risk Management in Software Projects
Risk management for software project is not very different than general projects, except its risk primarily lists uncertainties about software development, testing.
Typical risks in software project are as follows:
- Scheduling flaws, timeline risk
- Scope creep, gold platting risk
- Resource attrition/churning risk
- Technical risk: Software Integration risk, technology risk
- Insufficient budget/ cost estimation risk
Software Project Risk Management Process
The process of software project risk management remains the same as identification of risks, analysis, risk response, risk tracking and closure.
- Risk Identification:Project team identifies all possible potential risks and list those risk in a risk management software
- Risk Analysis:Analyze risk for its impact, probability, exposure for a given software project. Online risk management software helps project manager to do risk analysis as well as decide on risk response
- Risk Response:Once risk is analyzed for its impact and probability, project manager can devise a risk response strategy (accept, mitigate, contingent, transfer, avoid, etc) and delegate it to its team member for further action on mitigation plan/ contingency plan
- Monitorand Closure: A good project manager closely monitor risks in the risk register, evaluate its impact, response strategy, progress and effects of steps taken to transfer/ contingent, mitigate or avoid those risks.
Software Project Tracking and Controlling
In this phase of the project (the actual execution of software project), project manager has to track whether project tasks, activities are being carried out, delivered as per the schedule. It is easier to track project activities progress using project management tools, rather than calling up team members or asking them to send email/ update spreadsheet stored at common location.
Project monitoring is important to know whether things are progressing as expected, are we going to meet the project deadline, is there any slippage or potential setback, if so, project manager can decide how slippage/setback can be addressed. Project manager can take a call whether to add more technical resources, whether to get approval for supplementary budget, whether to consult with client/sponsor to extend project deadline, etc.
Typical things a project manager checks for project tracking is
- Gantt chart/ Task List
- Status Report/ Dashboard
- Resource Time: Planned, actual, utilization
- Project cost is not overshooting budget
- Exposure of project risk for software project
- Project issues/ bugs in different states, priorities
Through out this process of managing IT project, project communication plays crucial role. It involves involving right stakeholders for planning, sharing documents, sharing project activities, project progress, requesting/sharing feedback, etc.
Software Configuration Management (SCM)
Here we are not talking about changes in requirement (typically project manager has change request management process to manage scope changes). Software configuration management is very much integral part of software project. It is primarily about monitoring and controlling the changes happening in the software code/ tools. It involves code versions, revision control, continuous deployment, DevOps, etc. There are various tools to manage software configuration such as CVS, SVN, IBM Rational team concert, TortoiseSVN, GitHub, etc.
In the next post we will look at various project management tools for managing software projects.
Zilicus offers All-In-One project management software ZilicusPM that provides complete project management control for project and portfolio managers; at the same time makes it really simple for project team members to stay on top of things. If you have been managing projects with conventional spreadsheet/ MS Excel templates or emails, it is the right time to start using online project portfolio management software. ZilicusPM is great platform for better project collaboration. Take a screenshot tour of project management software tour of ZilicusPM and Sign up for 30-days free trial of project management software ZilicusPM