This unit will introduce you to the strategies in writing a Software Project Management Plan (SPMP) based on the IEEE format.
At the end of this topic, the student must have:
· identified the documents and tools needed in capstone project planning;
· written a SPMP document using the IEEE standard; and
· appreciated the importance of a detailed project planning
Software project plan is meant the controlling document that defines the technical and managerial processes necessary to satisfy the project requirements. The requirements are applicable to all types of software projects and to software products of any size, complexity, or criticality at any point in the life cycle. All forms of product delivery media, including firmware, embedded systems code, programmable logic arrays, and software-in-silicon are included. https://ieeexplore.ieee.org/document/25325 . The IEEE format for SPMP is outlined below:
1.1. Project Summary
This subclause of the SPMP shall define the purpose, scope, and objectives of the project and the products to be delivered. This subclause should also describe any considerations of scope or objectives to be excluded from the project or the resulting product. The statement of scope shall be consistent with similar statements in the project agreement and other relevant system-level or business-level documents.
This subclause of the SPMP shall also provide a brief statement of the business or system needs to be satisfied by the project, with a concise summary of the project objectives, the products to be delivered to satisfy those objectives, and the methods by which satisfaction will be determined. The project statement of purpose shall describe the relationship of this project to other projects, and, as appropriate, how this project will be integrated with other projects or ongoing work processes.
A reference to the official statement of product requirements shall be provided in this subclause of the SPMP.
This subclause of the SPMP shall describe the assumptions on which the project is based and imposed constraints on project factors such as the schedule, budget, resources, software to be reused, acquirer software to be incorporated, technology to be employed, and product interfaces to other products.
This subclause of the SPMP shall list the work products that will be delivered to the acquirer, the delivery dates, delivery locations, and quantities required to satisfy the terms of the project agreement. In addition, this subclause shall specify the delivery media and any special instructions for packaging and handling. The list of project deliverables may be incorporated into the SPMP directly or by reference to an external document such as a contract data requirements list (CDRL) or a product parts list (PPL).
This subclause of the SPMP shall provide a summary of the schedule and budget for the software project. The level of detail should be restricted to an itemization of the major work activities and supporting processes as, for example, those depicted by the top level of the work breakdown structure.
1.2 Evolution of Plan
This subclause of the SPMP shall specify the plans for producing both scheduled and unscheduled updates to the SPMP. Methods of disseminating the updates shall be specified. This subclause shall also specify the mechanisms used to place the initial version of the SPMP under configuration management and to control subsequent changes to the SPMP.
This clause of the SPMP shall provide a complete list of all documents and other sources of information referenced in the SPMP. Each document should be identified by title, report number, date, author, path/name for electronic access, and publishing organization. Other sources of information, such as electronic files, shall be identified using unique identifiers such as date and version number. Any deviations from referenced standards or policies shall be identified and justifications shall be provided.
This clause of the SPMP shall define, or provide references to, documents containing the definition of all terms and acronyms required to properly understand the SPMP.
This clause of the SPMP shall identify interfaces to organizational entities external to the project; describe the project’s internal organizational structure; and define roles and responsibilities for the project.
1.1 External Structure
This subclause of the SPMP shall describe the organizational boundaries between the project and external entities. This should include, but is not limited to, the following: the parent organization, the acquiring organization, subcontracted organizations, and other organizational entities that interact with the project. Representations such as organizational charts and diagrams may be used to depict the project’s external interfaces.
1.2 Internal Structure
This subclause of the SPMP shall describe the internal structure of the project organization to include the interfaces among the units of the software development team. In addition, the organizational interfaces between the project and organizational entities that provide supporting processes, such as configuration management, quality assurance, and verification and validation, shall be specified in this subclause. Graphical devices such as organizational charts or diagrams should be used to depict the lines of authority, responsibility, and communication within the project.
1.3 Roles and Responsibilities
This subclause of the SPMP shall identify and state the nature of each major work activity and supporting process and identify the organizational units that are responsible for those processes and activities. A matrix of work activities and supporting processes vs. organizational units may be used to depict project roles and responsibilities.
This clause of the SPMP shall specify the project management processes for the project. This clause shall be consistent with the statement of project scope and shall include the project start-up plan, risk management plan, project work plan, project control plan, and project closeout plan.
5.1 Start-up plan
This subclause of the SPMP shall specify the estimation plan, staffing plan, resource acquisition plan, and training plan. Depending on the size and scope of the project, these plans may be incorporated directly or by reference to other plans.
5.1.1 Estimation plan
This subclause of the SPMP shall specify the cost and schedule for conducting the project as well as methods, tools, and techniques used to estimate project cost, schedule, resource requirements, and associated confidence levels. In addition, the basis of estimation shall be specified to include techniques such as analogy, rule of thumb, or local history and the sources of data. This subclause shall also specify the methods, tools, and techniques that will be used to periodically re-estimate the cost, schedule, and resources needed to complete the project. Re-estimation may be done on a monthly basis and aperiodically as necessary.
5.1.2 Staffing plan
This subclause of the SPMP shall specify the number of staff required by skill level, the project phases in which the numbers of personnel and types of skills are needed, and the duration of need. In addition, this subclause shall specify the sources of staff personnel; for example by internal transfer, new hire, or contracted. Resource Gantt charts, resource histograms, spreadsheets, and tables may be used to depict the staffing plan by skill level, by project phase, and by aggregations of skill levels and project phases.
5.1.3 Resource acquisition plan
This subclause of the SPMP shall specify the plan for acquiring the resources in addition to personnel needed to successfully complete the project. The resource acquisition plan should include a description of the resource acquisition process, including assignment of responsibility for all aspects of resource acquisition. The plan should include, but not be limited to, acquisition plans for equipment, computer hardware and software, training, service contracts, transportation, facilities, and administrative and janitorial services. The plan should specify the points in the project schedule when the various acquisition activities will be required. Constraints on acquiring the necessary resources shall be specified. This subclause may be expanded into additional subclauses of the form 5.1.3.x to accommodate acquisition plans for various types of resources to be acquired.
5.1.4 Project staff training plan
This subclause of the SPMP shall specify the training needed to ensure that necessary skill levels in sufficient numbers are available to successfully conduct the software project. The training schedule shall include the types of training to be provided, numbers of personnel to be trained, entry and exit criteria for training, and the training method; for example, lectures, consultations, mentoring, or computer-assisted training. The training plan should include training as needed in both technical and managerial skills.
5.2 Work Plan
This clause of the SPMP shall specify the work activities, schedule, resources, and budget details for the software project.
5.2.1 Work activities
This subclause of the SPMP shall specify the various work activities to be performed in the software project. A work breakdown structure shall be used to depict the work activities and the relationships among work activities. Work activities should be decomposed to a level that exposes all project risk factors and allows accurate estimate of resource requirements and schedule duration for each work activity. Work packages should be used to specify, for each work activity, factors such as the necessary resources, estimated duration, work products to be produced, acceptance criteria for the work products, and predecessor and successor work activities. The level of decomposition for different work activities in the work breakdown structure may be different depending on factors such as the quality of the requirements, familiarity of the work, and novelty of the technology to be used.
5.2.2 Schedule allocation
This subclause of the SPMP shall provide scheduling relationships among work activities in a manner that depicts the time-sequencing constraints and illustrates opportunities for concurrent work activities. Any constraints on scheduling of particular work activities caused by factors external to the project shall be indicated in the work activity schedule. The schedule should include frequent milestones that can be assessed for achievement using objective indicators to assess the scope and quality of work products completed at those milestones. Techniques for depicting schedule relationships may include milestone charts, activity lists, activity Gantt charts, activity networks, critical path networks, and PERT.
5.2.3 Resource allocation
This subclause of the SPMP shall provide a detailed itemization of the resources allocated to each major work activity in the project work breakdown structure. Resources shall include the numbers and required skill levels of personnel for each work activity. Resource allocation may include, as appropriate, personnel by skill level and factors such as computing resources, software tools, special testing and simulation facilities, and administrative support. A separate line item should be provided for each type of resource for each work activity. A summary of resource requirements for the various work activities should be collected from the work packages of the work breakdown structure and presented in tabular form.
5.2.4 Budget allocation
This subclause of the SPMP shall provide a detailed breakdown of necessary resource budgets for each of the major work activities in the work breakdown structure. The activity budget shall include the estimated cost for activity personnel and may include, as appropriate, costs for factors such as travel, meetings, computing resources, software tools, special testing and simulation facilities, and administrative support. A separate line item shall be provided for each type of resource in each activity budget. The work activity budget may be developed using a spreadsheet and presented in tabular form.
5.3 Control Plan
This subclause of the SPMP shall specify the metrics, reporting mechanisms, and control procedures necessary to measure, report, and control the product requirements, the project schedule, budget, and resources, and the quality of work processes and work products. All elements of the control plan should be consistent with the organization’s standards, policies, and procedures for project control as well as with any contractual agreements for project control.
5.3.1 Requirements control plan
This subclause of the SPMP shall specify the control mechanisms for measuring, reporting, and controlling changes to the product requirements. This subclause shall also specify the mechanisms to be used in assessing the impact of requirements changes on product scope and quality, and the impacts of requirements changes on project schedule, budget, resources, and risk factors. Configuration management mechanisms shall include change control procedures and a change control board. Techniques that may be used for requirements control include traceability, prototyping and modeling, impact analysis, and reviews.
5.3.2 Schedule control plan
This subclause of the SPMP shall specify the control mechanisms to be used to measure the progress of work completed at the major and minor project milestones, to compare actual progress to planned progress, and to implement corrective action when actual progress does not conform to planned progress. The schedule control plan shall specify the methods and tools that will be used to measure and control schedule progress. Achievement of schedule milestones should be assessed using objective criteria to measure the scope and quality of work products completed at each milestone.
5.3.3 Budget control plan
This subclause of the SPMP shall specify the control mechanisms to be used to measure the cost of work completed, compare planned cost to budgeted cost, and implement corrective action when actual cost does not conform to budgeted cost. The budget control plan shall specify the intervals at which cost reporting will be done and the methods and tools that will be used to manage the budget. The budget plan should include frequent milestones that can be assessed for achievement using objective indicators to assess the scope and quality of work products completed at those milestones. A mechanism such as earned value tracking should be used to report the budget and schedule plan, schedule progress, and the cost of work completed.
5.3.4 Quality control plan
This subclause of the SPMP shall specify the mechanisms to be used to measure and control the quality of the work processes and the resulting work products. Quality control mechanisms may include quality assurance of work processes, verification and validation, joint reviews, audits, and process assessment.
5.3.5 Reporting plan
This subclause of the SPMP shall specify the reporting mechanisms, report formats, and information flows to be used in communicating the status of requirements, schedule, budget, quality, and other desired or required status metrics within the project and to entities external to the project. The methods, tools, and techniques of communication shall be specified in this subclause. The frequency and detail of communications related to project measurement and control shall be consistent with the project scope, criticality, risk, and visibility.
5.3.6 Metrics collection plan
This subclause of the SPMP shall specify the methods, tools, and techniques to be used in collecting and retaining project metrics. The metrics collection plan shall specify the metrics to be collected, the frequency of collection, and the methods to be used in validating, analyzing, and reporting the metrics.
5.3.7 Risk management plan
This subclause of the SPMP shall specify the risk management plan for identifying, analyzing, and prioritizing project risk factors. This subclause shall also describe the procedures for contingency planning, and the methods to be used in tracking the various risk factors, evaluating changes in the levels of risk factors, and the responses to those changes. The risk management plan shall also specify plans for assessing initial risk factors and the ongoing identification, assessment, and mitigation of risk factors throughout the life cycle of the project. This plan should describe risk management work activities, procedures and schedules for performing those activities, documentation and reporting requirements, organizations and personnel responsible for performing specific activities, and procedures for communicating risks and risk status among the various acquirer, supplier, and subcontractor organizations. Risk factors that should be considered include risks in the acquirer-supplier relationship, contractual risks, technological risks, risks caused by the size and complexity of the product, risks in the development and target environments, risks in personnel acquisition, skill levels and retention, risks to schedule and budget, and risks in achieving acquirer acceptance of the product.
5.3.8 Project closeout plan
This subclause of the SPMP shall contain the plans necessary to ensure orderly closeout of the software project. Items in the closeout plan should include a staff reassignment plan, a plan for archiving project materials, a plan for post- mortem debriefings of project personnel, and preparation of a final report to include lessons learned and analysis of project objectives achieved.
This clause of the SPMP shall specify the development process model, the technical methods, tools, and techniques to be used to develop the various work products; plans for establishing and maintaining the project infrastructure; and the product acceptance plan.
1.1 Process model
This subclause of the SPMP shall define the relationships among major project work activities and supporting processes by specifying the flow of information and work products among activities and functions, the timing of work products to be generated, reviews to be conducted, major milestones to be achieved, baselines to be established, project deliverables to be completed, and required approvals that span the duration of the project. The process model for the project shall include project initiation and project termination activities. To describe the process model, a combination of graphical and textual notations may be used. Any tailoring of an organization’s standard process model for a project shall be indicated in this subclause.
1.2 Methods, tools and techniques
This subclause of the SPMP shall specify the development methodologies, programming languages and other notations, and the tools and techniques to be used to specify, design, build, test, integrate, document, deliver, modify and maintain the project deliverable and nondeliverable work products. In addition, the technical standards, policies, and procedures governing development and/or modification of the work products shall be specified.
6.3 Infrastructure plan
This subclause of the SPMP shall specify the plan for establishing and maintaining the development environment (hardware, operating system, network, and software), and the policies, procedures, standards, and facilities required to conduct the software project. These resources may include workstations, local area networks, software tools for analysis, design, implementation, testing, and project management, desks, office space, and provisions for physical security, administrative personnel, and janitorial services.
6.4 Product acceptance plan
This subclause of the SPMP shall specify the plan for acquirer acceptance of the deliverable work products generated by the software project. Objective criteria for determining acceptability of the deliverable work products shall be specified in this plan and a formal agreement of the acceptance criteria shall be signed by representatives of the development organization and the acquiring organization. Any technical processes, methods, or tools required for product acceptance shall be specified in the product acceptance plan. Methods such as testing, demonstration, analysis and inspection should be specified in this plan.
2. Supporting process plan
This clause of the SPMP shall contain plans for the supporting processes that span the duration of the software project. These plans shall include, but are not limited to, configuration management, verification and validation, software documentation, quality assurance, reviews and audits, problem resolution, and subcontractor management. Plans for supporting processes shall be developed to a level of detail consistent with the other clauses and subclauses of the SPMP. In particular, the roles, responsibilities, authorities, schedule, budgets, resource requirements, risk factors, and work products for each supporting process shall be specified. The nature and types of supporting processes required may vary from project to project; however, the absence of a configuration management plan, verification and validation plan, quality assurance plan, joint acquirer-supplier review plan, problem resolution plan, or subcontractor management plan shall be explicitly justified in any SPMP that does not include them. Plans for supporting processes may be incorporated directly into the SPMP or incorporated by reference to other plans.
1.1 Configuration management plan
This subclause of the SPMP shall contain the configuration management plan for the software project, to include the methods that will be used to provide configuration identification, control, status accounting, evaluation, and release management. In addition, this subclause shall specify the processes of configuration management to include procedures for initial baselining of work products, logging and analysis of change requests, change control board procedures, tracking of changes in progress, and procedures for notifying concerned parties when baselines are first established or later changed. The configuration management process should be supported by one or more automated configuration management tools.
1.2 Verification and validation plan
This subclause of the SPMP shall contain the verification and validation plan for the software project to include scope, tools, techniques, and responsibilities for the verification and validation work activities. The organizational relationships and degrees of independence between development activities and verification and validation activities shall be specified. Verification planning should result in specification of techniques such as traceability, milestone reviews, progress reviews, peer reviews, prototyping, simulation, and modeling. Validation planning should result in specification of techniques such as testing, demonstration, analysis, and inspection. Automated tools to be used in verification and validation should be specified.
1.3 Documentation plan
This subclause of the SPMP shall contain the documentation plan for the software project, to include plans for generating nondeliverable and deliverable work products. Organizational entities responsible for providing input information, generating, and reviewing the various documents shall be specified in the documentation plan. Non- deliverable work products may include items such as requirements specifications, design documentation, traceability matrices, test plans, meeting minutes and review reports. Deliverable work products may include source code, object code, a user’s manual, an on-line help system, a regression test suite, a configuration library and configuration management tool, principles of operation, a maintenance guide, or other items specified in subclause 1.1.3 of the SPMP. The documentation plan should include a list of documents to be prepared, the controlling template or standard for each document, who will prepare it, who will review it, due dates for review copy and initial baseline version, and a distribution list for review copies and baseline versions.
1.4 Quality assurance plan
This subclause of the SPMP shall provide the plans for assuring that the software project fulfills its commitments to the software process and the software product as specified in the requirements specification, the SPMP, supporting plans, and any standards, procedures, or guidelines to which the process or the product must adhere. Quality assurance procedures may include analysis, inspections, reviews, audits, and assessments. The quality assurance plan should indicate the relationships among the quality assurance, verification and validation, review, audit, configuration management, system engineering, and assessment processes.
1.5 Review and audit
This subclause of the SPMP shall specify the schedule, resources, and methods and procedures to be used in conducting project reviews and audits. The plan should specify plans for joint acquirer-supplier reviews, management progress reviews, developer peer reviews, quality assurance audits, and acquirer-conducted reviews and audits. The plan should list the external agencies that approve or regulate any product of the project.
1.6 Problem resolution plan
This subclause of the SPMP shall specify the resources, methods, tools, techniques, and procedures to be used in reporting, analyzing, prioritizing, and processing software problem reports generated during the project. The problem resolution plan should indicate the roles of development, configuration management, the change control board, and verification and validation in problem resolution work activities. Effort devoted to problem reporting, analysis, and resolution should be separately reported so that rework can be tracked and process improvement accomplished.
1.7 Subcontractor management plan
This subclause of the SPMP shall contain plans for selecting and managing any subcontractors that may contribute work products to the software project. The criteria for selecting subcontractors shall be specified and the management plan for each subcontract shall be generated using a tailored version of this standard. Tailored plans should include the items necessary to ensure successful completion of each subcontract. In particular, requirements management, monitoring of technical progress, schedule and budget control, product acceptance criteria, and risk management procedures shall be included in each subcontractor plan. Additional topics should be added as needed to ensure successful completion of the subcontract. A reference to the official subcontract and prime contractor/subcontractor points of contact shall be specified.
1.8 Process improvement plan
This subclause of the SPMP shall include plans for periodically assessing the project, determining areas for improvement, and implementing improvement plans. The process improvement plan should be closely related to the problem resolution plan; for example, root cause analysis of recurring problems may lead to simple process improvements that can significantly reduce rework during the remainder of the project. Implementation of improvement plans should be examined to identify those processes that can be improved without serious disruptions to an ongoing project and to identify those processes that can best be improved by process improvement initiatives at the organizational level.
This clause of the SPMP shall contain additional plans required to satisfy product requirements and contractual terms. Additional plans for a particular project may include plans for assuring that safety, privacy, and security requirements for the product are met, special facilities or equipment, product installation plans, user training plans, integration plans, data conversion plans, system transition plans, product maintenance plans, or product support plans.
Annexes may be included, either directly or by reference to other documents, to provide supporting details that could detract from the SPMP if included in the body of the SPMP.
1. Write a Software Project management Plan for your proposed project. To help you accomplish some sections, the following sub activities may help:
a. Download the MindView Mind Mapping Software from https://www.matchware.com/ to efficiently create your Work Breakdown Structure and Gantt Chart.
a. Register to online Project Management site to help you plan, control and monitor your project activities and collaborate with your team members. You may visit https://www.teamgantt.com/ as one of your options.
b. Register to github https://github.com/ for a cloud back up and versioning of your system documentation.
c. Create a cloud drive for your documents/deliverables assigned to each member for easy access and retrieval.
d. Create a Chat group for instant communication and collaboration with your team.
2. Download the TrainME SPMP from the course website for your reference.