Friday, April 13, 2007

Adapting Small Projects Processes to CMMI

The Problem:
•Standards (CMM, CMMI, ISO, Corporate Initiatives) written for large programs
•Organization processes derived from these standards
•Small projects can follow good process, but
–Often find “process” intimidating
–Do not need as much formal communication among team members
–Cannot afford to produce enough artifacts to easily pass an appraisal
–Metrics used to convey program status to management (generally not used to manage program)

Small Project Process Goals:
•Scoped to include only directives used by most small projects
•Consistent with full process
•Short and Simple
–Project buy-in
–Supplemental non-directive guidelines and templates
•Comply with intent of appropriate standards (CMM, CMMI, ISO, Corporate Initiatives)
–Project audited to tailored process
–Not audited to standards
•Use phased implementation – by Discipline
–Software Engineering, Systems Engineering, CM/DM …

A typical small software project is…
•≤ 3 Software developers for a year
–@ 10,000 Hours
•≤ $5M project cost
•Often are:
–Company Funded
–Software is not deliverable
–Reuse into another project is not anticipated
–Demo’s
•Generally not focus candidates for assessments/ appraisals
•Often resistant to “process”
•Criteria required to use process – approved by Management
•Micro projects (<500>

Small Project Metrics:
•Project Overview
•Accomplishments Summary
•Problem Summary
•Project Schedule
•Risk Status
•Earned Value
•Staffing and Management Effort
•Defect Analysis
•Scope Change
•Lessons Learned and Implemented
•Productivity Measurement
•Software Size Trend
•Software Requirements Volatility

Small Project Software Process:
Overall Procedure:

•Criteria to Determine if Applicable
•Establishes Structure
•Roles and Responsibilities
•Metrics and Management Reporting
•Process Streamlined
•Directives

•Pages
•Paragraphs


Planning Work Instructions:
•Small Project Planning
•Determine Contractual/Program Reqts
•Determine Tasks (SOW)
•Negotiate Budget
•Develop Schedule
•Participate in Program Level Planning
•SDP, SQP, SCMP, Training Plan
• Process Tailoring
•Tailoring Instructions and Guidelines
•Tailoring Codes
•“Red-Lined” Process
•Management Approval
Process Streamlined: Directives
Pages, Paragraphs


Development Work Instructions:
•Requirements
•Allocation of system requirements to software
•Generate software requirements
•Document software, interface requirements, traceability
•Review and Control
• Design
•Generate Design
•Document
•Resource Utilization
•Review
•Coding
•Develop Coding Stds
•Generate Code
•Document
•Resource Utilization
•Review and Control
• Integration and Test
•Plan Testing
•Document in STP/STD
•Traceability
•Test Report
•Process Streamlined:
•Directives
•Pages
•Paragraphs


Support Work Instructions:
•Engineering Repository and Support Documentation
•SEN, SDFs, VDD
• Software Configuration Management
• Peer Reviews
• Software Quality Engineering
• Project Management Team
• Process Streamlined
•Directives
•Pages
•Paragraphs


Software Testing - Full Process:
•Unit Testing Procedure
–Unit Test Procedure and Report Product Standard Work Instruction
•Integration and Testing Procedure
–Regression Testing Work Instruction
–Build Plan Product Standard Work Instruction
–Software Integration and Test Procedure Product Standard Work Instruction
–Software Integration and Test Report Product Standard Work Instruction
–Software Integration and Testing Guideline Work Instruction
•CSCI Testing Procedure
–Software Test Plan Product Standard Work Instruction
–Software Test Description Product Standard Work Instruction
–Software Test Report Product Standard Work Instruction
–Software Test Plan Guideline Work Instruction
–Software Test Description Guideline Work Instruction
–Software Test Report Guideline Work Instruction

Small Project Testing:
•Plan testing. Determine extent of testing, whether to combine unit, integration, CSCI testing.
•Document test planning. Create test plan or include in ENB:
–The test environment
–Background information/overview
–Schedules
–Requirements traceability
–Individual tests to demonstrate compliance to requirements
–Control item tested, including COTS
•Create test description: TP and TD may be combined or included in ENB:
–Test preparations – hardware and software
–Test cases, descriptions, procedures
–Requirements addressed
–Prerequisite conditions
–Inputs, Expected results, Evaluation criteria
–Assumptions and constraints
–Requirements traceability
•For each defined level of testing, execute test procedures and record results.
–Ensure any necessary setup and calibration of test equipment.
–Maintain test history log. Record data from each test, including P/F.
–Evaluate test results, make corrections and retest, as necessary.
–Document and report non-conformances. Classify defects.
•Create a Test Report. TP, TD, and TR may be combined or included in ENB:
–Test results Overview/assessment
–Problems encountered
–Detailed test results or test log (may be annotated TD)
–Deviations from test cases/procedures
•Peer reviews of TP, TD, and TR.
•Control test products: Ensure consistency with other products


Micro Sized Projects – Really small:
•<500>


Results of CMM software projects:
•Initially piloted on 3 programs è Deployed on over 40 programs
•Feedback incorporated in subsequent releases (and into full process)
•Overwhelming positive response from PMs, SQE, Business Units, and Line and Project Management
•Tailoring time for software reduced from an average of 160 staff-hours to average of 4 staff hours
•Used in Seven Engineering Centers
–Five non-software centers were also not process oriented
•Adapted for use on micro size projects (200-500 hours)


Summary:
•Goals:
–ISO 9000, IPDS, CMM/CMMI Level 3 Compliant for project, as scoped
–Not Planned for Focus Projects in Assessments or Appraisals
•Method
–Start with full process
–Scope for small projects
–Eliminate items not used by typical small project
–Keep it short and simple ; Really short and simple
–Check for compliance with standards and make adjustments as necessary
–Phased implementation
•Management Approval