Umbrella Activities Produced: 2/20/2008 NEU CSE G674 Michael King U.1 Software Project Management U.1.1 Perform An Adaption Criteria Analysis (Selecting on the Task Set for a Project) U.1.2 Select The Software Engineering Task Set U.1.2.1 Used Task Set Selector To Guide The Choice Of Task Set: structured Item Value Score 1 Project Type Concept Development 1 Size of Project 3‐9 Person Months 1 Number of Potential Users Internal Customer Only 1 Mission Criticality R&D 1 Application Longevity < 1 Year 2 Stability of Requirements Understood, Not Documented 2 Ease of Customer / Same Group / Organization Developer Communication 3 Maturity of Technology Technology is less well understood (or has high risk) 1 Performance Constraints No Issue 1 Embedded / Non embedded Nonembedded 3 Project Staffing Internal, low competency & experience NA Reengineering Factors NA 1.5 Average U.1.2.2 Define specific milestones and deliverables based on task set chosen U.1.2.3 Define SQA Points throughout project: Use structured task set U.1.3 Bound the scope of the software effort: U.1.4 Decompose product functionality: grammatical parse of the statement of scope, function tree and description U.1.5 Estimate the size (in LOC or FP) of each product function: function point analysis / estimate of size (in LOC or function points) U.1.6 Acquire historical data from development efforts for similar projects/products: productivity rate table U.1.7 Develop a project estimate using a task‐function‐effort table: Estimate of effort in work‐ units (e.g., person‐months) U.1.8 Develop a project estimate using a size‐oriented approach: Estimate of effort in work‐ units (e.g., person‐months) U.1.9 Develop a project estimate using an empirical model: Estimate of effort in work‐units, project duration in months U.1.10 Estimate all project resources (i.e. people, skills, hardware, facilities, etc.) U.1.10.1 Define skills required for the project required U.1.10.2 List of special hardware and/or software tools required U.1.10.3 Determine whether special facilities or environments are required U.1.10.4 Specify training needs for staff U.1.11 Reconcile estimates and develop a combined estimate: combined estimate of effort and duration U.1.12 Perform risk analysis U.1.12.1 Identify all project and technology risks. U.1.12.2 Estimate risk probability and impact and establish "cut‐offs." U.1.12.3 Develop risk mitigation, monitoring and management plan for all high probability/impact risks.: Risk table, Risk Mitigation, Monitoring and Management Plan U.1.13 Develop a detailed project schedule: Project schedule, Supplementary information generated by tools U.1.14 Establish a SQA plan for the project. U.1.15 Establish an SCM plan for the project U.1.16 Establish a project monitoring and tracking approach for use throughout the project. U.1.17 Integrate all planning information into a Project Plan. U.1.18 Review the plan and modify as required. U.1.19 ? U.1.20 Conduct project monitoring and tracking on an on‐going basis. U.1.20.1 Collect progress report information from all project team members. U.1.20.2 Flag problems and develop a mitigation strategy. U.1.20.3 Monitor all formal technical reviews and use their status as a final indicator of progress. U.1.20.4 Update project schedule as actual task completion dates are reported. U.1.20.5 Track all change requests and assess their impact on schedule: Project progress reports, Updates to the project schedule and related information U.1.21 Collect project and process metrics. U.1.22 Modify project estimates/schedule based on real‐time information obtained as part of monitoring and tracking. U.2 Formal Technical Reviews U.2.1 Establish a review strategy before completing the project plan. U.2.1.1 Select an appropriate set of review guidelines as part of the SQA plan developed in Task U.1.13. U.2.1.2 Identify review points for the project. U.2.1.3 Schedule review points as project tasks. U.2.2 Initiate formal technical reviews as project deliverables are produced. U.2.3 Conduct a formal technical review to uncover errors in a software engineering deliverable. U.2.3.1 Assign a review leader to coordinate the review. U.2.3.2 Distribute review materials [work product(s)] to reviewers. U.2.3.3 Set the review agenda and select appropriate checklists. U.2.3.4 Review work product(s) to uncover errors. U.2.3.5 Conduct the review meeting. U.2.3.6 Record any errors and/or issues that are raised during the review meeting. U.2.3.7 Decide the outcome of the review. U.2.3.8 Ensure that proper review records are kept. U.2.3.9 Collect any defined metrics for the review: Technical review summary report, Issues list U.3 Software Quality Assurance U.3.1 Establish a Software Quality Plan for the project. U.3.1.1 Assign SQA responsibilities to project staff and/or to a separate SQA organization. U.3.1.2 Identify software engineering deliverables that will be evaluated for quality U.3.1.3 Identify applicable standards, practices, conventions and measurements/metrics that will be adopted by the project team. U.3.1.4 Define the 'deliverable set' for the project and define criteria for assessing quality for each deliverable. U.3.1.5 Specify all SQA points throughout the software engineering process. U.3.1.6 Define quality issues reporting scheme. U.3.1.7 Define approach for formal technical reviews: Software Quality Assurance Plan U.3.2 Establish a quality function deployment (QFD) scheme. U.3.3 Establish validation criteria for the software to be produced or modified. U.3.4 Conduct reviews and other SQA activities as defined in Task U.3.1. U.3.4.1 Collect quality metrics for all deliverables, based on the results of formal technical reviews. U.3.4.2 Conduct standards compliance audits (if applicable) to ensure that all applicable standards have been met. U.3.4.3 Initiate management/customer quality briefings to report on quality issues as they are encountered and reconciled. U.3.4.4 Perform subcontractor monitoring to ensure that the subcontractor complies with the Software Quality Plan. U.3.4.5 Update the project plan/risk mitigation, monitoring and management plan based on quality issues uncovered in other tasks: Quality metrics, Quality compliance reports, Quality improvement recommendations U.3.5 Audit the software process to ensure that all quality issues have been addressed and (where necessary) corrected. U.4 Software Configuration Management U.4.1 Select an appropriate set SCM tasks as part of the SCM plan developed in Task U.1.15. U.4.1.1 Identify project SCIs and baselines. U.4.1.2 Define the project database (repository) and the tools required to manage it. U.4.1.3 Establish how the librarian function is to be accomplished. U.4.1.4 Define the change control process for the project. U.4.1.5 Identify change control authority (CCA) responsibility. U.4.1.6 Establish SCM documentation requirements. U.4.1.7 Define auditing and reporting requirements: SCM Plan U.4.2 Initiate change control process whenever a change is requested that may affect a baselined deliverable. U.4.2.1 Accept a change request submitted to the team. U.4.2.2 Evaluate change request. U.4.2.3 Generate change report. U.4.2.4 Evaluate change report (by CCA) to determine whether change should be made. U.4.2.5 Generate engineering change order (ECO). U.4.2.6 Queue the change for processing. U.4.2.7 Make the change. U.4.2.8 FTR/SQA: Review and audit the change. U.4.2.9 Release the change: Change request, Change report, Engineering change order (ECO) U.4.3 Record and report all changes to those individuals with a need to know. U.5 Document Preparation and Production U.5.1 Select the appropriate document outline for the software engineering information to be documented. U.5.2 Identify information created during software engineering (CPF) tasks and required for the appropriate document. U.5.3 Develop additional document content. U.5.4 Construct the document. U.5.5 Review the completed document for correctness. U.6 Reusability Management U.6.1 Adapt a set of reusability criteria and a classification scheme for major project deliverables. U.6.2 Define guidelines for creating reusable software components (data, documents and programs) and train managers and practitioners in their application. U.6.3 Define reuse evaluation points (REP) on the project timeline. U.6.4 Define candidate software components for entry into the reuse library or candidate components for extraction from the library. U.6.5 Define specific SQA procedures for reusable components, prior to their entry into the library. U.6.6 Classify reusable components and enter them into the library. U.6.6.1 Define component by type (i.e., data, document, program) and subtype. U.6.6.2 Define the component application domain, functional domain and technical domain. U.6.6.3 Define implementation characteristics. U.6.6.4 Attach reuse guidelines. U.6.6.5 Submit for review prior to insertion in reuse library. U.6.7 Define specific validation procedures for reusable components, subsequent to their extraction from the library. U.6.8 Product Reuse Status Report (RSR). U.7 Measurement U.7.1 Define the catalogue of project, product, and process metrics that are to be collected. U.7.1.1 List all project, product and process metrics. U.7.1.2 Define measurement points on project timeline. U.7.1.3 Define metrics collection mechanisms. U.7.1.4 Define metrics reporting mechanisms. U.7.2 Define approach for analyzing metrics that have been collected. U.7.3 Collect metrics for the project, product, and process. U.7.4 Analyze metrics for the project, product and process. U.7.5 Report analysis findings U.8 Risk Management U.8.1 Define technology and project risks: List of risks U.8.2 Identify project risks associated with scope: Categorized list of risks U.8.3 Estimate the probability of occurrence for each risk: Categorized list of risks with probabilities attached U.8.4 Estimate the project impact of each risk, should it occur: Categorized list of risks with probabilities and impacts attached U.8.5 Develop a list of prioritized technology risks: Adjusted list of risks with probabilities and impacts attached U.8.6 Indicate a plan for technology risk mitigation, monitoring and management (i.e., a contingency plan) and update project planning information to reflect risks. U.8.7 Review risks with customer. U.8.8 Revise project plan, if required: Risk Mitigation, Monitoring and Management Plan, Customer comments on risk,Revised Software Project Plan, if required.