Enhancing 2007 U.S. Economic Census with a Software Development Process
190 likes | 220 Vues
Explore how a structured software development process improved the 2007 U.S. Economic Census, covering millions of establishments and industries. Learn lessons, project details, requirements, design, coding, testing, and ongoing activities for successful implementation.
Enhancing 2007 U.S. Economic Census with a Software Development Process
E N D
Presentation Transcript
Using a Software Development Process to Improve the 2007U.S. Economic Census • Barry F. Sessamen • Assistant Division Chief, • Economic Census Data Analysis & Dissemination, ESMPD
Overview • Background on the U.S. Economic Census • Description of the Software Development Process • Lessons Learned • Conclusions and Next Steps
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)
Economic Census Coverage of GDP Services 21% Not covered2% Finance, Insurance, Real Estate 21% Government12% Agriculture 1% (USDA) Retail Trade 9% Mining 1% Construction 5% Wholesale Trade 7% Manufacturing 14% Transportation, Communication, Utilities 7%
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
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 Plan
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
Design • High Level Design • Depicts the various relationships between components. • Detail Level Design • Identifies the logic specification required to code the program
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
Testing • Last chance to fix defects/omissions before production • Unit Test • System Test • Integration • Performance • Regression • User Acceptance Test
Ongoing Activities • Software Configuration Management • Track Change Requests • Change Control Board • Metrics • Lessons Learned • Software Quality Assurance
Early Adopter Feedback Processes Updated Implementation Strategy Proven Processes Early Adopters Validate Processes Process Coaches Provide Support Train Early Adopters Rollout Processes on Flow Basis
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
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
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
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)
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!
Contact Information Barry F. Sessamen barry.f.sessamen@census.gov 301-763-5871