Topic 7.5 provides guidance on the development of a work breakdown structure (WBS) for software on projects. The WBS provides a common planning framework to use in estimating the scope of a project.
Per the NASA Systems Engineering Handbook 273(Section 184.108.40.206), a work breakdown structure is a hierarchical breakdown of the work necessary to complete a project. The WBS can be product- or process-oriented. A product-oriented WBS has work activities grouped by the product or service they support. A process-oriented WBS includes in the appropriate WBS element the work activities associated with the processes being used. 389The WBS provides the framework to plan, organize, and control a project. 388
Excellent information on the development and usage of the WBS can be found in NASA/SP-2010-3404, NASA Work Breakdown Structure (WBS) Handbook. 390 Additionally, both the NASA Systems Engineering Handbook 273and the "CMMI for Development, Guidelines for Process Integration and Product Improvement" 388 provide further guidance on the development of WBS structures containing software. The NASA Software Engineering curriculum, especially
389, addresses the use of the WBS for software on projects. These resources are cited in the $paramlinktext.
3. The Basic WBS
A project's software may be a stand-alone system or exist as part of a larger system or project. For example, for a space flight project, software may be shown under the Avionics subsystem. For both types, the WBS developer needs to be aware of the responsibilities required of his or her project.
As another example consider the following list-oriented approach to a WBS. Again, the use of NASA/SP-2010-3404, NASA Work Breakdown Structure (WBS) Handbook, 390 will help in the development of the lower levels of the WBS elements.
- SW Management (incl budget, schedule, contractor mgmt, risk, CM, training, IV&V coord, lesson learned, etc)
- SW Requirements Management
- SW Testbed Management
- CSCI Development
- CSCI Test
- CSC Test
- Sustaining Engineering
- Security (physical and IT)
The project's software may also be developed in the context of a product-driven structure. Lower level development of the WBS will include the approach to software development for the individual component or system to be produced in the sub-element. The following figure suggests several approaches for this type of WBS.
The WBS is updated iteratively over the project life cycle . The initial WBS is used for early estimating of cost and schedule. The detailed WBS helps organize and control the work done by populating the project's cost plans and schedule.
A companion WBS dictionary, which is also developed, fully describes the work being done including the title and objective of the element, expected products/services from each element, and the dependencies between elements.
The Software Development Plan (SWE-102) is a place to record the WBS of the life cycle processes and activities.
4. Common Issues
There are several work activities that are often forgotten in developing the WBS:
- Process planning and monitoring activities
- Requirement engineering activities
- Formal review activities
- Development activities
- Stakeholder activities
- Training activities
- Planning, documenting, and tracking of commitments from other organizations
- CMMI Development Team (2010). "CMMI for Development, Version 1.3: Improving processes for developing better products and services,"CMMI Development Team (2010). CMU/SEI-2010-TR-033, Software Engineering Institute.
Tools to aid in compliance with this Topic, if any, may be found in the Tools Library in the NASA Engineering Network (NEN).
NASA users find this in the Tools Library in the Software Processes Across NASA (SPAN) site of the Software Engineering Community in NEN.
The list is informational only and does not represent an “approved tool list”, nor does it represent an endorsement of any particular tool. The purpose is to provide examples of tools being used across the Agency and to help projects and centers decide what tools to consider.