New Rules for Old Software:Tailoring your CMMI Process for Maintenance Projects - PowerPoint PPT Presentation

About This Presentation
Title:

New Rules for Old Software:Tailoring your CMMI Process for Maintenance Projects

Description:

Applies process management and quality improvement concepts to system ... Integrate planning process with requirements management and project tracking into a ... – PowerPoint PPT presentation

Number of Views:635
Avg rating:3.0/5.0
Slides: 35
Provided by: BillP6
Category:

less

Transcript and Presenter's Notes

Title: New Rules for Old Software:Tailoring your CMMI Process for Maintenance Projects


1
New 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
2
Agenda
  • CMMI Intro
  • Software maintenance problems and solutions
  • Conclusions
  • Goal chip away at perceptions and get you to
    think about software maintenance

diffferently
3
CMMI 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
4
CMMI - 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
5
CMMI-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
6
CMMI 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
7
CMMI 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
8
Specific 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

9
Sample 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
10
Sample 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

11
Yes, 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)
12
Maintenance 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

13
Whats 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
14
Maintenance 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
15
Possible 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
16
Project 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
17
Sample 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
18
Parent 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

19
Advantages 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

20
Advantages 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

21
Parent Project Plan
Composite Schedule
Roles Responsibilities
QA Plan
CM Plan
Measurement Plan
Communication Plan
Risk Plan
Resource Plan
22
Service Level Agreements
Establish customer expectations for
Reliability Assurance Innovation Tangibles Emp
athy Responsiveness Determine measures of perf
ormance
SLA
Monthly Scorecard
23
A 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

24
Work 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

25
Estimating
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)
26
Estimating 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
27
Configuration 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
28
Process 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
29
Possible Quality Assurance Roles
Change Coordinator Reviews
QA Audits
Peer Reviews
30
Choices
  • You must choose but choose wisely.
  • The Grail Knight, Indiana Jones and the Last
    Crusade (1989)

FLEXIBLE PROCESS
COMMON PROCESS
31
Summary
  • 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

32
There's a difference between knowing the path,
and walking the path. Morpheus, The Matrix (19
99)

33
References
  • 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

34
eds.com
  • Bill Phifer
  • EDS Fellow
  • 180 Sheree Blvd. Suite 3900
  • Exton, PA 19341
  • bill.phifer_at_eds.com
  • 484 875 4303
Write a Comment
User Comments (0)
About PowerShow.com