Title: Software Process Improvement Efforts at the U S Census Bureau
1Software Process Improvement Efforts at theU S
Census Bureau
Howard Hogan Ellen Soper
2Experience of the Economic Directorate
3Moral of the Story
- Continuous improvement is hard to see.
- Dont get discouraged.
4Overview
- Culture Environment
- CMM
- Meta-planning
- Planning
- Future
5Some History
- 1951 UNIVAC I
- Programmers were statisticians
- Statisticians were programmers
6Culture
- No tradition of written schedules
- No tradition of written resource estimates
7Culture
- A tradition of specifications
- Users often also use files, data bases themselves
- Users often applications (SAS) experts
- Software Engineers often highly knowledgeable of
survey processes - Years of direct interaction
8Economic SurveysEnvironment
- On-going surveys
- StEPS
- 5 Divisions
- 3 Subject matter
- 1 Planning and coordination
- 1 Software engineering
9On-Going Surveys
- Monthly Quarterly Surveys
- Annual Surveys
- Periodic Surveys
- Monthly and annual production
- Maintenance of legacy systems
10StEPS
- Standard
- Economic
- Processing
- System
11StEPS
- All-inclusive processing system
- Written in SAS, running on Unix
12Projects Activities
- StEPS Maintenance
- StEPS Migrations
- New StEPS functionality
- Legacy production and Maintenance
13Existing Groups
- User group
- Design Architecture Review Board
- StEPS Manager
- Failed Change Control Board
14Change Request Sources
- Remedy
- Users
- Software developers
- Division Chiefs
- New Projects
15Perceived Problems
- Slipping schedule
- Little user understanding of resource constraints
16Structural Problems
- No formal trade off among requirements
- Change control board broke down under weight of
trivial changes lack of enforcement - No one to say no
17What is SW-CMM?
- The Software Capability Maturity Model (CMM) was
developed by the Software Engineering Institute
(SEI) of Carnegie Mellon University. - The CMM is a model used in assessing and
improving software development processes.
18The Five Levels of Software Process Maturity
Focus on process improvement
Process measured and controlled
Process characterized, fairly well understood
Projects can repeat previously mastered tasks
Process unpredictable and poorly controlled
19The Key Process Areas for Level 1
Optimizing
Process is informal and unpredictable
Managed
1
Defined
Repeatable
Initial
20The Key Process Areas for Level 2
Project management is in place performance is
repeatable
- Project Planning
- Project Tracking and Oversight
- Configuration Management
- Quality Assurance
- Requirements Management
- Subcontract Management
Repeatable
21What it means to be Level 2
- Procedures are documented and followed
- Realistic project commitments
- Management tracks software schedules, and
functionality against plans - Software work products are baselined
- Strong customer/sponsor relationships
- Projects can have their own unique processes
- Requirements are documented and tracked
22Pilot
- SMASM
- Services Monthly Annual Sample Maintenance
-
- Quarterly sampling of new establishments
23SMASM Lessons Learned
- Well accepted by participants
- Showed full model could work
- Used more resources than ordinarily available
- Did not involve those with normal planning
responsibility
24Meta-Planning
- Planning on how to plan
- Developing a schedule on when to develop a
schedule - Managing the management process
25Meta-Planning
- Managing the software development improvement
process is a project in itself. - It should be treated as a project.
26Meta-Planning
- Base lining
- Organizing management group
- Gathering resources
- Developing a management structure
- Developing a meta-planning schedule
- Developing templates, policies, training
27Organizing management group
- Inter-divisional
- Multi-leveled
- 2 Division Chiefs
- 2 Assistant Division Chiefs
- 2 Branch Chiefs
- Builds on existing management structure
- Did not replace existing working relationships
28Gathering resources
- Software process improvement expert
- Project coordinator
- More, more, more
29Developing a meta-planning schedule
- What policies, templates, guidelines, schedules
have to be developed? - Who will develop them?
- When will they be developed by?
- How will they look?
- Where will they be stored?
30Developing templates, policies, training
- Choosing a philosophy and approach
- Consistent with goals
- Consistent with resources
- Consistent with culture
- First efforts must be successful
- First efforts should not be mission critical
- First efforts should not be burdensome
- Look for allies, friends, supporters
31Planning
- Charters
- Project Planning and Tracking
- Developing requirements
- Change control
- Issues tracking
- Schedule
32Charters
- What is not in scope
- How to develop milestone dates when requirements
are unknown - How to get sign-off
33Project Planning and Tracking
34Developing Requirements
- Team Chartered
- Extensive Training
- A Major Challenge
35Change control
- We require a better process for resolving
problems at lowest levels. - With different sizes
- Quick and easy fixes
- Median requirement, which could add up
- Major projects
36Issues tracking
- Harder than we thought
- Tracking both planning issues and sustentative
issues - Needed to assign someone with primary
responsibility
37Schedule
- Unified schedule at appropriate level
- When to baseline
- New requirement always coming in
- Better to wait until we know more
38Future Planning Issues
- Pilots II
- Training and roll-out
- Support resources
- Buy-in
- PSP/TSP Pilots
39Moral of the Story
- Continuous improvement is hard to see.
- Dont get discouraged.
40 Howard Hogan