Title: New Rules for Old Software:Tailoring your CMMI Process for Maintenance Projects
1New Rules for Old SoftwareTailoring your CMMI
Process for Maintenance Projects
Bill PhiferEDS Enterprise Processes
Solutions
SEI-Authorized CMMI Lead Appraiser
Philadelphia SPIN Oct. 15, 2003
2Agenda
- CMMI Intro
- Software maintenance problems and solutions
- Conclusions
- Goal chip away at perceptions and get you to
think about software maintenance
diffferently
3CMMI At a Glance
Helps prioritize improvement opportunities
Applies process management and quality
improvement concepts to system development and
maintenance Describes stages through which organi
zations evolve as they define, implement,
measure, control and improve their processes
Leads to a culture of engineering excellence
Its only a model
4CMMI - What it is/What it is Not
What It Is A set of best practices An industry
standard A set of critical behaviors common for s
uccess A guideline for continuous improvement A
measurement and rating system of process
capability A risk indicator It specifies what is
necessary to be performed
What It Is NOT A certification Methodology A
silver bullet A guarantee of success Easy to imp
lement Easy to achieve levels Only for the Feder
al Government Only USED in the USA It does not s
pecify how to perform the activities
5CMMI-SE/SW/IPPD/SS V1.1 Staged Representation
Maturity Level
Process Areas
Result
Characteristics
5
Productivity Quality
Continuous process improvement Process measure
d and controlled Process characterized for the
organization and is proactive
Process characterized for projects and is
often reactive
Causal Analysis and Resolution
Organizational Innovation and Deployment
Quantitative Project Management Organizational
Process Performance Requirements Development
Technical Solution Product Integration Verificat
ion Validation Organizational Training Organiz
ational Process Focus Organizational Process Defi
nition Decision Analysis and Resolution Integrat
ed Project Management Risk Management Integrate
d Teaming Organizational Environment for Integrat
ion Integrated Supplier Management Requirement
s Management Project Planning Project Monitoring
and Control Supplier Agreement Management Measu
rement and Analysis Process and Product Quality A
ssurance Configuration Management
Optimizing Quantitatively Manag
ed Defined
Managed Performed
4
3
R
I
S
K
2
1
Process unpredictable, poorly controlled, reactiv
e
6CMMI SE/SW/IPPD/SS - Continuous
CMMI
Process Management
Project Management
Engineering
Support
Configuration Mgmt Process and Product Quality As
surance Measurement Analysis Decision Analysis
and Resolution
Casual Analysis and Resolution
Organizational Process Focus Organization Process
Definition Organizational Training Organization
al Process Performance Organizational Innovation
and Deployment
Project Planning Project Monitoring and Control
Supplier Agreement Mgmt Integrated Project Mgmt
Risk Management
Quantitative Project Mgmt
Requirements Management Requirements Development
Technical Solution Product Integration Verifica
tion
Validation
IPPD
Supplier Selection
Integrated Supplier Management
Organizational Environment for Integration
Integrated Teaming
7CMMI Structure and Practice Evaluation
Components Rated Maturity Level Process Areas
Goals
Maturity Levels
contain
Process Areas
achieve
contain
Goals
Practices
Specific and Generic Practices are evaluated by
instantiation to determine characterization and
goal satisfaction (Fully, largely, partially, or
not implemented)
Rating Basis Direct, indirect artifacts present
Affirmations (interviews) Significant weaknesses
8Specific vs. Generic Practices
Specific Practices - Implement the practice
- Generic Practices Sustain the Process
- 2.1 Establish an organizational policy
- 2.2 Plan the process
- 2.3 Provide resources
- 2.4 Assign responsibility
- 2.5 Train people
- 2.6 Manage configurations
- 2.7 Involve relevant stakeholders
- 2.8 Monitor and control the process
- 2.9 Objectively evaluate adherence
- 2.10 Review status with higher level management
- 3.1 Establish a defined process
- 3.2 Collect improvement information
-
9Sample Characterization Profile Level 2
Fully Implemented Largely Implemented
Partially Implemented
RM Requirements Management PP Project Plannin
g PMC Project Monitoring Control SAM Suppl
ier Agreement Management MA Measurement Analy
sis CM Configuration Management PPQA Process
and Product Quality Assurance
10Sample Characterization Profile Level 3
Fully Implemented Largely Implemented
Partially Implemented
OPF Organizational Process Focus
OPD- Organizational Process Definition
OT Organizational Training RD Requirements D
evelopment TS Technical Solution PI Product
Integration Ver - Verification Val - Validation
IPM Integrated Project Management RskM Risk
Management DAR Decision Analysis Resolution
IT Integrated Teaming OEI Org Environment for
Integration ISM Integrated Supplier Management
11Yes, Applying CMM/CMMI Process to Software
Maintenance is Hard
Traveling through hyperspace ain't like dusting
crops, boy. Without precise calculations, we'd
fly right through a star, or bounce too close to
a supernova, and that would end your trip real
quick, wouldn't it. Han Solo, Star Wars, Episod
e IV (1977)
12Maintenance Process Improvement
- Why use the Capability Maturity Model
Integration (CMMI)?
- Provides a framework/model
- Recognizes/endorses scalability and tailoring to
meet the needs of the organization
- Attends to managing and controlling the work as
the first priority (project management)
- Moves toward organizational standardization and
commonality to share, sustain and improve results
gained through process
13Whats a Project, Anyway?
If software maintenance is critical to your
business, manage it!
Strongly consider using a software release concept
- (from the CMMI Glossary-
- A managed set of interrelated resources that
delivers one or more products to a customer or
end user. This set of resources has a definite
beginning and end and typically operates
according to a plan. Such a plan is frequently
documented and specifies the product to be
delivered or implemented, the resources and funds
used, the work to be done, and a schedule for
doing the work.
Use a quarterly or annual plan
Plan at the application or portfolio level
Focus on requirements baselines
Track FTEs by application portfolio
Minimally, plan and track start and end dates by
phase
Plan and track effort by phase for each change
request
14Maintenance Process Improvement
Problems Few documented processes exist for main
tenance work fewer still are followed
Lack of customer involvement in efforts
No understanding of true costs of maintenance
Coding cowboys and fire fighters revered
Process equated with bureaucracy
Solutions Assess process maturity to understand
baseline Use CMMI as a model for process improvem
ent Ensure processes are aligned with business go
als Involve customer at appropriate points in pro
cess Establish effective measurement program
Reward effective use of process
15Possible Key CMMI Mappings
(This is not prescriptive)
Project
Project Planning
Process Product Quality Assurance
Application Team Enhancement Release
SLAs Enhancement Plans Release CRs (activity-le
vel)
SQA Group Change Coordinators Peer Review
16Project Planning
Problems Planning too involved for small work ef
forts Not all work is defined and managed Custom
er dictates target date Team members unsure how t
o plan small enhancements Maintenance programmers
not motivated to plan Work is not effectively co
ordinated
Solutions Provide for planning options such as t
ask lists with major dates Use a time management/
tracking tool showing all concurrent work
Integrate planning process with requirements
management and project tracking into a work flow
Track work at CSR and full application levels
17Sample Standard Process for Maintenance Project
Management
Project Management
Estimate at High Level
Document Requirements
Process Components 1-5 Start-up 6-10
Planning 11-15 Agree to Proceed Execution
16-18 Tracking
Prioritize Request(s)
Receive Request
3
2
4
1
Baseline Requirements
Monitor Progress
5
Control Project
Work Execution Begins
Determine Work Tasks
16
17
6
18
Perform Detailed Estimate of Work
(Product Engineering)
15
Take Corrective Action
Baseline Documents
7
Work Ends
14
Perform Project Setup
8
Plan/Re-plan Work
13
9
Complete Statement of Work
Get Agreement to Proceed
12
10
11
Negotiate Commitments
Prepare Documents for Review
Prepare for Agreement
18Parent Project Concept
- Why cant we look at each service level or
business partner agreement as a project?
- Each quarterly or annual agreement is defined as
a project, with estimated scope and resources
- All change requests and smaller enhancements are
planned and tracked under this parent project
- Major plan components (quality, risk, staffing,
communications, training, measurement, CM, etc.)
are managed at this level one plan covers
multiple small projects - Portfolio is sized (SLOCs or Function Points) and
resources estimated delivery or productivity
rates may be utilized in mature organizations
19Advantages to Parent Project (1)
- Better overall control of project
- Consolidated Change Control Board (CCB) at the
parent project level
- Multi-level risk and issue management
- Consolidated management of intergroup
dependencies/issues
20Advantages to Parent Project (2)
- Streamlined communications for project
stakeholders
- Establishes process consistency and reduces
redundancy
- Leveraged PM work products thus decreasing PM
overhead
- Better manage where expense is going
21Parent Project Plan
Composite Schedule
Roles Responsibilities
QA Plan
CM Plan
Measurement Plan
Communication Plan
Risk Plan
Resource Plan
22Service Level Agreements
Establish customer expectations for
Reliability Assurance Innovation Tangibles Emp
athy Responsiveness Determine measures of perf
ormance
SLA
Monthly Scorecard
23A Typical Enhancement Project
- Typically triggered by (prioritized) customer
service requests may be part of system releases
- Involves less than 500 effort hours and three
months
- Usually low risk
- Project management is usually informal, with one
project manager/leader over many projects in
same area
- Usually regulatory/statutory, problem fixes or
minor enhancements as subprojects
24Work Types / Work Classifications
- Isnt your software maintenance fairly
repeatable?
- Dont we seem to be doing many of the same types
of work over and over? Lets leverage that
historical knowledge!
Identify your work types Add a new account Web p
age update (small, medium, high complexity)
File fix Add screen field and edit Emergency fix
25Estimating
Problems Target dates are dictated Size loses s
ome value with small changes History not availabl
e for reuse Attitudes of both customer and softwa
re engineer towards estimates are poor
Many requests are not functional changes
(function point use is therefore limited)
Solutions Use work classification tables with hi
storical size for recurring work types
Have a defined procedure which provides for
alternative techniques based on situation or
complexity Collect project characteristics and ma
ke history available for reuse in estimating
Develop application and organizational delivery
rates (Hrs/FP changed)
26Estimating with Work Types
- Establish work classification tables for each
work type
Add new account
120-140 hrs
4-6 weeks
Web page update- low
5-20 hrs
2-5 days
Web page update- med
21-40 hrs
4-8 days
Web page update- high
41-60 hrs
8-12 days
File fix
4-6 hrs
1-3 days
Add screen field and edit
12-18 hrs
3-5 days
Emergency Fix
8-12 hrs
1 day
Dont forget to maintain these tables based on
actual experience
27Configuration Management
Problems CMMI change control too complex Too ma
ny defects in production Daily release Unautho
rized change requests Undocumented requests Litt
le history of previous changes
Solutions Focus on change coordination and appro
vals Have a change coordinator for each applicati
on area Work on weekly or monthly releases Have
a list of authorized requestors
Require (and use) a customer service request form
for documentation Use automated CM tools
28Process and Product Quality Assurance
Problems Small project size precludes full-tim
e QA Staffing is insufficient for product or proc
ess assurance Product quality is often poor and p
rocess often not followed Product is delayed to w
ait for QA resources for review
Solutions Have two levels of QA (Big Q and lit
tle q) Use an objective, full or part-time QA g
roup for formal process assurance (regularly
scheduled and at management request)
Use change coordinators to verify product
readiness and procedures followed
Use peer reviews for product quality checks
29Possible Quality Assurance Roles
Change Coordinator Reviews
QA Audits
Peer Reviews
30Choices
- You must choose but choose wisely.
- The Grail Knight, Indiana Jones and the Last
Crusade (1989)
FLEXIBLE PROCESS
COMMON PROCESS
31Summary
- If software maintenance is an important part of
your business, treat it as importantly as you do
development
- Plan each application portfolio quarterly or
annually and base plans on the service level
agreement
- Determine key work types and work
classifications
- Support strong requirements and configuration
management
- Tailor the standard process when necessary but
strive for consistency and managing variation
- Start to make data-driven decisions about process
32There's a difference between knowing the path,
and walking the path. Morpheus, The Matrix (19
99)
33References
- CMMI for Systems Engineering/Software
Engineering/Integrated Product and Process
Development, Version 1.1, Carnegie Mellon,
Software Engineering Institute, 2002 - Maintenance and the CMM New Paradigms for Old
Software, 1999 SEPG Conference, William Phifer
and Sue Christman
- A Model for Organizational TransformationThe
Production Application Center, 1998 SEPG
Conference, William Phifer and Sue Christman
- Managing Small Projects Using the Concept of
Parent Project, Jasdeep Sandu, Ron Schrote, EDS
CMM Conference, 2000
34eds.com
- Bill Phifer
- EDS Fellow
- 180 Sheree Blvd. Suite 3900
- Exton, PA 19341
- bill.phifer_at_eds.com
- 484 875 4303