Background on the US Economic Census

Download Report

Transcript Background on the US Economic Census

Using a Software Development
Process to Improve the 2007
U.S. Economic Census
Barry F. Sessamen
Assistant Division Chief,
Economic Census Data Analysis & Dissemination,
ESMPD
1
Overview
• Background on the U.S. Economic Census
• Description of the Software Development
Process
• Lessons Learned
• Conclusions and Next Steps
2
Background on the U.S. Economic
Census
• Conducted in years ending in 2 and 7
• Covers over 27 million establishments
• Forms sent to businesses with paid employees –
550 different forms
• Detailed information provided on the structure of
the economy by industry (over 1,000 industries)
and by location (states, counties, places, zip)
3
Economic Census Coverage of GDP
Services
21%
Not covered
Finance, Insurance,
Real Estate 21%
Retail Trade
9%
2%
Government 12%
Agriculture 1%
Mining 1%
(USDA)
Construction 5%
Wholesale Trade
7%
Transportation, Communication,
Utilities 7%
Manufacturing 14%
4
The Problem
• Code in production that isn’t what users
wanted/expected
• Incomplete documentation
• Defects/ “bugs” in production
• Dependence on hero culture instead of
standards
• Different groups using different standards
5
Software Development Process
6
Plan
-Project Charter
- Purpose
- In-Scope /
Out-of-Scope
- Resources
- Major Milestones
-Project Plan
-
User Concept Diagram
Interrelated Projects
Deliverables
Software Lifecycles
Roles & Responsibilities
Risk Management Plan
Change Control Plan
Communication Plan
7
Requirements
- Projects Will Define System Requirements
Separate from the Design
- Functional Requirements
Define what the software system must do
- Non-Functional Requirements
Describe quality of service, such as: Performance,
Security, Availability, Maintainability, etc.
- Review and Inspection
8
Design
- High Level Design
Depicts the various relationships between
components.
- Detail Level Design
Identifies the logic specification required
to code the program
9
Program Coding
• Checklist of Coding Standards
• Personal Review Checklist
• Code Walkthroughs & Inspections
– Promote quality by identifying defects
before code is released
– Promote knowledge transfer by sharing
coding best practices
10
Testing
• Last chance to fix defects/omissions before
production
• Unit Test
• System Test
 Integration
 Performance
 Regression
• User Acceptance Test
11
Ongoing Activities
• Software Configuration Management
– Track Change Requests
– Change Control Board
– Metrics
• Lessons Learned
• Software Quality Assurance
12
Implementation Strategy
Proven Processes
Processes Updated
Early Adopter Feedback
Early Adopters Validate Processes
Process Coaches Provide Support
Train Early Adopters
Rollout Processes on Flow Basis
13
Lessons Learned
• Continuous Process Improvement
• Clear, Specific Standards Developed Early in
Project Lifecycle
• Work Smarter, Not Harder
• Allow for Errors, But Uncover Them As Far
Upstream as Possible
14
Lessons Learned (cont.)
• Code Reviews – Identify Defects and Provide
Cross Training
• Separate the “What” from the “How”
• Form an Effective Team Environment
• Keep It Short
15
Results
• 2007 U.S. Economic Census Production
Systems were in production earlier than
previously achieved
• Minimal disruptions to production processing
(less rework)
• Economic Census within budget and meeting
planned system scope
16
Conclusion
• A defined and repeatable work process
has improved quality, communication,
and documentation
• Grow the process for the entire
economic directorate – Economic
Software Process Improvement (ESPI)
17
What is the ESPI Program
Mission?
To deliver a comprehensive software development
process for the Economic Directorate.
Our Goal:
To deliver software
code into production
that works correctly
and meets users’ needs
…EVERY TIME!
18
Contact Information
Barry F. Sessamen
[email protected]
301-763-5871
19