Project Management Process
1. Objectives
Establish plans for the correct execution of the software project. Very essentially it consists of steps to
Assess the size complexity of the software to be created
Define the apt software development life cycle process for the software realization
Identify and estimate the resources to be used
Estimate the effort requirement for the software product realization
Identify and assess the risks involved
Prepare a schedule for software realization and related other processes
Negotiate commitments to various parties.
Define and establish a communication framework for the project tasks
Track and control the activities during the life cycle of the software product
2. Scope specification
The scope of the software project should be correctly defined. Any constraints already known should be described. Similarly, the objectives and scope of the product also should be identified and described in detail.
3. People involved
Identify and describe the people who will be part of the project. Normally this will include the following:
Customers
Senior Management
Technical Managers
Quality Managers
Project Manager
Team Leads
Project Manager should coordinate the activities and will be in charge of the overall planning for the process.
4. Inputs for PMP
For certain software projects, the PMP starts at the beginning of the life-cycle, ie. Right from the project initiation. In this case the input will be negligible. But for some other projects, the PMP starts at a later stage, in that case the input can be a Customer requirement specification or Software requirement specification.
5. Major Outputs
Project Management Plan (Generated at the beginning of the project)
This can be a single document or a collection of documentation detailing plans for various activities that happen during the life cycle of the software product.
Project review documents (Generated along the progress of the software project)
These documents are various metrics and records generated as part of the measurement activities or change management activities that happen during the life cycle of the software project. PM has to identify the various metrics to be generated and define procedures to correctly generate them.
6. Activities
Define the software realization process for the project.
For a software project, a suitable life cycle model should be defined based on several parameters of the project.Identify the technology to use in the project
A procedure to identify the necessary technology for the software project has to be defined and followed.Identify key personnel to establish the Project team
PM has to identify the key persons required to carry out the execution of the project. For this a resource-skill matrix has to be prepared. The list of individuals and groups to be used in the execution of the project should be communicated to the senior management and approval should be obtained.
<<Estimate Software size and Effort for realization
Use case point analysis?
Function point analysis?Estimate Cost for realization
CoComo?Preparation of Risk Mitigation, Monitoring and Management plan
2.1. Objectives
Risk Management Plan is used to identify and handle possible risks that may hinder the correct execution of a project.
2.2. Categorization of Risks
a. Requirements uncertainty
b. Dependency on external entities, like delivery of software/hardware to be used etc.
c. Wrong assumptions
d. Resource unavailability
e. Changes in technology during the development phase
2.3. Risk Management
2.3.1. Plan for Risk management
a. Identify the risks related to the current project. A risk table should be prepared.
b. Quantify the risks
c. Risk mitigation plan preparation
2.3.2. Monitoring for the occurrence of the risk
Continuously monitor the progress of the project to see if any of the identified risks materialize.
2.3.3. Controlling the risk.
a. Trigger any appropriate predefined contingency actions once a risk materializes.
b. update the risk table.
<<>>
<<>
<<>
Scheduling the Software project and negotiate commitments
PM should estimate the time requirement for each of the separate processes and phases that may come to life during the realization of the software product. This time estimate should be made in human days and calendar days as well. The scheduling should be communicated to all the concerned stake holders and everyone should agree to that scheduling.
7.1. High-level Work Break down structure <<<>>
7.2. Plan the activities sequencing. <<<>>
7.3. Plan scheduling of activities <<<>>
7.4. Plan milestones and communicate them with various stakeholders <>
7.5. Prepare high-level tasks and allocate them to the concerned personnel
Periodic and event driven Monitoring Measurement and Status reporting
PM has to establish a periodic monitoring schedule for the project to verify the progress of the tasks in the software project. PM has to identify and establish and communicate the necessary criteria related to the monitoring and measurement activities. Required metrics to be generated and used in evaluating the progress and state of the project should be decided in advance. The Status of the project in terms of planned schedule should be communicated to the concerned stakeholders.Software and Hardware Environment
PM has to plan for the acquisition of necessary hardware and software for the project development. The duty of PM ends by identifying the items to be procured and intimating the requirement to the purchase department.Configuration management
10.1. Objectives
Configuration Management plan is used to identify, manage and audit the configuration of the products of the software project. This is necessary to control the changes that happen in the project. The purpose of SCM is to establish and maintain the integrity of the products produced throughout the project’s software life cycle. All the products of the project and the necessary documentation should be kept under a configurable system. The access to this system should be controlled and it should be possible to obtain various versions of the products from this system.
10.2. Scope of Configuration Management
CM is a process which starts from the beginning of the project and runs parallel through-out the project execution. The CM plan has to be prepared at the beginning of the Project life cycle and is subject to change at any point of time during the sdlc.
10.3. People involved
1. Project manager (Normally decides the CM structure and allocates rights / authorizes rights)
2. Project leader (Normally requests for various rights for his team members)
3. Any other individuals who need to access the product or product documentation.
10.4. Inputs
Inputs will be a list of all the items which together constitute the software product. This list may include the following.:
1. Source files to be used to create the executable file
2. The script files used to create the database
3. Script files used to generate the user help files
4. Various ancillary files like dll files, ocx files etc.
5. Various design documents
6. etc.
10.5. Outputs
The CM plan should generate a well laid out plan to configure the project items and a plan to allocate and deallocate rights for individuals or groups of personnel. A set of records will be generated which shows the activities for allocating/deallocating rights also will be generated as the project progresses in time.
10.6. Activities
10.6.1. Identify the software items to be controlled during the development and operations phases.
10.6.2. Prepare a plan to keep the selected software items under a configuration management system.
10.6.3. Define access rights for various personnel to the SCM system
10.6.4. Define procedures to correctly execute changes for the items which are in SCM system.
10.6.5. Allocate/deallocates rights to individuals / groups in an event driven basis.
10.7. Tools Used
10.8. Templates Used
10.5. <<<>>
1.0 INTRODUCTION
1.1 Purpose
1.2 Scope
1.3 System Description
1.4 Definitions
1.5 Reference Documents
2.0 ORGANIZATION
2.1 Configuration Management Activities
2.2 Configuration Management Responsibilities
3.0 CONFIGURATION IDENTIFICATION
3.1 Configuration Item Identification
3.2 Identification Conventions
3.3 Naming Conventions
3.4 Labels
3.5 Configuration Baseline Management
4.0 CONFIGURATION CONTROL
4.1 Change Management
4.2 Interface Management
5.0 CONFIGURATION STATUS ACCOUNTING
6.0 CONFIGURATION AUDITS
7.0 REVIEWS
8.0 CONFIGURATION PLAN MAINTENANCE
9.0 DATA MANAGEMENT
9.1 Libraries
9.2 Automated Tools
9.3 Version Control
9.4 Work Space Management
9.5 Build Management
9.6 Documentation Management
7.Tools used
Microsoft Project
Task Tracking system
Microsoft Office Suite
8.Templates used
For each Software project, concerned Project manager should create a Project Management Plan which has to describe the plans for each of the above mentioned areas. In case any of these areas warrant for a separate plan and document itself, the PMPlan should provide a link to that process and documentation.
The project plan is to be submitted to the high-level approving body before a project can be started.