How to make a Project plan- The ultimate guide to Software project planning
Software project planning is a process of identification and compilation of various project tasks.
It is the formulation of strategies and an implementation roadmap. Software project planning is a superset of varied other planning activities. Software project planning is a very crucial activity during project initiation. An effective plan can streamline the delivery process and ease the entire SDLC.
Below is the list of activities undergone during software project planning:
1. Scope identification of project
2. Defining the process, deliverables, and milestones
3. Outlining the Assumptions, Dependencies, and Constraints
4. Defining the decision analysis and resolution procedure
5. Project organization
6. Defining the monitoring, controlling, and reporting mechanism
7. Define Risk management plan
8. Defining the Quality assurance plan
9. Defining the Test plan
10. Defining the measurement and metrics plan
11. Defining Project data management
12. Defining configuration management plan
13. Identify the manpower requirement
14. Identify the software requirement
15. Identify the hardware requirement
16. Formulation of the training plan
17. Setting up standards for the work environment
How to define a project scope?
Project scope is a set of tasks, activities, features, modules which are to be considered while the project execution and development phase. Identify the scope of the project in terms of maintenance, support, enhancement, change requests, or new development. There must be a clear indication of in-scope and out-of-scope items. Outline the brief description of the domain, features and modules to be developed, and also outline the exclusions if any.
Defining the process, deliverables, and milestones
Outline the project development process like agile or waterfall. Also, give the reference to the project tailoring document if there is any deviation in the process.
List down the project tasks and set key deliverables against each project activity along with the target delivery date and allocated resources. The project phases/tasks along with their corresponding deliverables are listed as below:
Project phase/task | Key Deliverables |
---|---|
Project Planning | 1. Project plan 2. Test plan 3. Tailoring doc 4. Project schedule |
Requirement Analysis | 1. SRS 2. BRS |
Design | 1. Prototype 2. Architecture 3. Detail Design |
Execution | 1. Weekly meeting with client 2. Project status report to Group manager |
Construction | 1. Test Cases 2. Working websites/build (internal) 3. Delivery note |
System Testing | 1. Test execution document 2. Bug report 3. Test completion report |
Outline the Assumptions, Dependencies, and Constraints
Identify the assumptions, dependencies, and constraints related to project plan, functionality, domain, process, schedule, budget, quality, deliverables, etc. and list down in the project plan. This will help in avoiding any conflict at a later point in time.
Decision analysis and resolution procedure
The decisions taken during project activities have to be analyzed and there must be an appropriate approach for decision analysis. Formal decision analysis and resolution procedures should be formalized so that alternative solutions against established criteria can be evaluated and a solution to address an issue can be determined.
Some of the issues include the following:
-Selection of tools
-Development/Testing environment
-Supplier/vendor selection
-Use of reusable components
-Design issues and alternatives
Software project organization
The organizational structure of the project has to be defined during the project organization phase. Roles and responsibilities are defined across different resources, departments, and stakeholders. The relation and interaction of the project with other organizations has to be outlined, for instance, HR, Admin, Finance, etc. The line of authority has to be described using diagrams, charts, and other notations. Click here to read a complete guide on - Software project organization.
Monitoring, controlling, and reporting
The tracking mechanism of the project activities is defined and describe- how the project schedule, efforts, quality, and other project tasks will be tracked throughout the project. List down the standard mechanism which is to be used for tracking, monitoring, and controlling. Describe the reporting structure, format, content, and frequency of reporting (weekly, monthly, or fortnightly).
What is a Risk management plan?
Risk management planning includes identification of project risks, determining the risk parameters, describe the risk response, mitigation plan, evaluation, and prioritization of risks. The sources of risks have to be identified and mitigation and contingency actions have to be defined. Some examples of project risk sources are as follows:
Uncertain requirements,
Unprecedented efforts—estimates unavailable,
Infeasible design,
Unavailable technology,
Unrealistic schedule estimates or allocation,
Inadequate staffing and skills,
Cost or funding issues,
Unrealistic schedule estimates or allocation,
Inadequate staffing and skills,
Cost or funding issues
Based on these sources, mitigation and contingency actions are tracked in the "Risk tracking sheet".
Risk management planning activities are as follows:
· Identify responsibility to carry out risk management activities,
. Describe the frequency at which these activities will be carried out
· Describe how risks will be tracked and monitored
· Specify threshold beyond which contingency activities will be monitored for implementation
· What will be the medium of reporting on high exposure risks
Quality assurance plan
Quality goals and objectives are defined in the quality planning phase. The processes are defined to achieve the highest level of software quality within the allocated budget and schedule. Peer, as well as external reviews, walkthroughs, inspections, and internal audits, are conducted across all project activities.
Project phase | Items to be reviewed | Type of review (Peer, walkthrough, inspection) |
Reviewer | Planned start for review |
---|---|---|---|---|
Project Planning | 1. Project plan 2. Project schedule 3. Estimation |
Inspection | Name and responsibility | (DD/MM/YY) |
Requirement Analysis | 1. SRS 2. BRS |
Walkthrough | Name and responsibility | (DD/MM/YY) |
Design | 1. Prototype 2. Architecture 3. Detail Design |
Peer | Name and responsibility | (DD/MM/YY) |
Code | Code | Peer | Name and responsibility | (DD/MM/YY) |
Construction | 1. Test Cases 2. Working websites/build (internal) 3. Delivery note |
Inspection and Walkthrough | Name and responsibility | (DD/MM/YY) |
System Testing | 1. Test execution document 2. Bug report 3. Test completion report |
Inspection | Name and responsibility | (DD/MM/YY) |
Test planning
During test planning, the scope of testing is determined, which includes test coverage, entry and exit criteria, functional requirement, non-functional requirement, in and out of scope items are identified.
Assumptions, risks, dependencies, and testing strategy and approach are identified and described, for instance: installation, uninstallation, update testing, smoke testing, cross-platform compatibility testing, functional, user interface testing, performance, API, security testing.
Acceptance criteria are formulated. Test deliverables (test plan, test cases test report, etc.) and test schedule are identified. Formation of the testing team takes place and roles and responsibilities are determined. Test environments and test requirements are identified which include software/hardware requirement, tools needed, test data requirement. Metrics, test reporting, and defect management mechanisms and processes are described.
Measurement and metrics plan
The purpose of this plan is to quantitatively manage the project’s defined processes and project’s quality objectives, develop measurement capability to support management information needs. In this section plan and identify measurement, metrics collection and analysis activity as follows:
-Identify measurement objective based on the organization’s & project’s “Quality Objectives”
-Identify Tools/Forms and mechanism for collection and analysis of measurement and metrics data
-Identify the frequency of performing measurement and metrics collection & analysis activity
-Identify frequency/criteria of reviewing the measurement objectives
-Identify in what scenarios a formal CAR would be conducted in the project
-Identify the base Measurements
-Identify the source for Base measurements
-Identify the derived Metrics
Plan for management of project data
During project execution, the data gets generated in varied forms like records, documentations, artifacts, Reports, charts, specifications, manuals, files, correspondence, MOMs, e-Mails, etc. All these collective records form the project data. This project data is needed across various organizational departments like administration, engineering, configuration management, financial, logistics, quality, safety, manufacturing, and procurement.
During project data management planning, define-
How the project data is generated,
Where the work products will be stored at which storage location and how it will be managed,
Specify the medium of the work product as soft/hard copy etc.,
Retention period and responsible person for this activity etc.
Configuration management plan
In continuous integration practices, the project data gets continuously generated with varied versions in the form of records, source code, artifacts, and documents. To maintain and manage the versions of the records is of utmost importance for the seamless execution of the project. Configuration planning includes the identification of appropriate tools for maintaining the project documents, identification of appropriate tools for maintaining the source code, determining the responsibilities for managing the access rights of the repositories, defining the auditing procedure, etc. It covers a broad spectrum of activities pertaining to the management of various project components to ensure their traceability, integrity, and maintainability throughout the project life cycle by performing various configuration activities like-
- configuration identification
- configuration control
- configuration status accounting and
- configuration audits
Manpower Requirement
The planning of staffing solutions is outlined. Staffing needs are identified and resources are acquired as per technological needs. Availability and unavailability of skilled resources are identified to find out the skill gaps. Plan of action is determined to fulfill the skill gaps like training, or recruitment, etc.
Role | No. of resources | Skills required | Skills available | Skills gap | Plan of action |
---|---|---|---|---|---|
Technical consultant | 1 | Micro services | 4 resources with Java framework architecture | Lacking knowledge of spring boot | Lateral hiring and recruitment |
Senior developer | 5 | Java architecture and oracle | 3 resources available with java development architecture | Lacking knowledge of oracle 2 framework | Conduct workshop and lateral hiring |
Test architecture | 2 | Automation, performance | 3 resources available with QTP Automation | Lacking knowledge of performance testing | Technical Training workshop will be conducted |
Software Requirements
Software requirements are evaluated. The decision is made on the costing, commercial software, versions, license requirement, open sources, and freeware availability of software.
Software name | Version | License required | License expired on |
---|---|---|---|
JDK | 1.8 | No | N/A |
QTP | 5.0 | Yes | 21/01/2022 |
The artifact in which all the project planning activities and tasks are documented is called a project plan. Click here to download a template of software project plan.