Defining the Activities Outline of this Lecture 1. Common Terms 2. Work Breakdown Structure Definition and Uses 2. Examples 3. Rules for Creating WBSs 1. 3. IEEE 1074 Standard Processes for Life Cycles good checklist of common activities Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Jargon Alert! Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Work Breakdown Structure “Simply stated, a WBS is a hierarchical list of the work activities to complete a project.” -- course textbook Jargon Alert! Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Activity – A major unit of work to be completed in achieving the objectives of a software project. An activity has precise starting and ending dates, incorporates a set of tasks to be completed, consumes resources and results in work products. An activity may include other activities in a hierarchical manner. IEEE Std 1058 – Standard for Software Project Management Plans Jargon Alert! Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Task – The smallest unit of work subject to management accountability. A task is a well defined work assignment for one or more project members. The specification of work to be accomplished in completing a task is documented in a work package. Related tasks are usually grouped to form activities. IEEE Std 1058 – Standard for Software Project Management Plans Jargon Alert! Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Work Package – A specification for the work to be accomplished in completing an activity or task. A work package defines the work product(s), the staffing requirements, the expected duration, the resources to be used, the acceptance criteria for the work products, the name of the responsible individual, and any special considerations for the work. IEEE Std 1058 – Standard for Software Project Management Plans Jargon Alert! Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Project Function – An activity that spans the entire duration of a software project. Examples of project functions include project management, configuration management, quality assurance, and verification and validation. IEEE Std 1058 – Standard for Software Project Management Plans Jargon Summary A SPMP contains the WBS. The WBS is made up of a list of Activities. Activities are made up of Tasks. Terms WBS Definition WBS Examples WBS Creation IEEE 1074 WBS Definition - MIL-HDBK-881 - 1998 A product-oriented family tree composed of hardware, software, services, data, and facilities. The family tree results from systems engineering efforts during the acquisition of a defense materiel item. A WBS displays and defines the product, or products, to be developed and/or produced. It relates the elements of work to be accomplished to each other and to the end product. A WBS can be expressed down to any level of interest. However the top three levels are as far as any program or contract need go unless the items identified are high cost or high risk. Then, and only then, is it important to take the work breakdown structure to a lower level of definition. Primary use of WBS Determining Budget Creating a Schedule Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Terms WBS Definition WBS Examples WBS Creation IEEE 1074 What else is a WBS used for Insuring that we didn’t forget anything Matching staff skills to tasks Assignment of responsibilities Tracking progress via milestones We cannot know that “coding is 90% complete” until coding is finished Communicating the big picture WBS Contents Product-Oriented WBS lots of nouns Task-Oriented WBS lots of verbs Terms WBS Definition WBS Examples WBS Creation IEEE 1074 WBS Formats Tree Useful at early stages for big picture Indented List Most popular format Easy to create and edit (eg Excel) Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Example WBS # Task Description Who Resources M&S 1 Get to Work Eat Breakfast Shower Get Dressed Goto Office SD, WD SD SD SD, BD bread, coffee soap existing clothes vehicle $1 $.10 1.1 1.2 1.3 1.4 2 Daily Communication 2.1 Check Email $.75 Start Stop Example WBS http://www.hyperthot.com/pm_wbs.htm Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Example WBS Terms WBS Definition WBS Examples WBS Creation IEEE 1074 WBS Rules Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Avoid too much detail break down until a group can do the activity in a week or month - a work package Only specify what you can manage Limit depth of indention to manageable level Use regular milestones Helps measure progress WBS Rules Terms WBS Definition WBS Examples WBS Creation IEEE 1074 Break it down one level at a time Clearly describe each detailed level Make it a team effort Leverage past projects From http://www.chips.navy.mil/archives/03_spring/webpages/project1.htm WBS Rules Terms WBS Definition WBS Examples WBS Creation IEEE 1074 a. Show all software project work at a level that can be used for software project tracking and reporting. The WBS must provide the information that allows the project manager to extract progress measurement (technical, cost, and schedule) for the project's required status reporting. b. Include products, events (e.g., reviews and audits), and processes (e.g., software qualification) that will show visibility into software development, testing, deployment, training, and life cycle support (as required). c. Assign WBS elements so that they can support risk assessment, engineering change proposal evaluation, contract change evaluation, interface management, data management, and configuration control. d. Provide the ability to extract costs for separate types of software work effort (e.g., prototype, full scale development, maintenance). e. Ensure that the WBS is compatible with the available project resources (e.g., staff) and organization (e.g., independent qualification testing). http://www.stsc.hill.af.mil/resources/tech_docs/process_plan/prplp104.html Identifying Work Components SOW Experience / Other WBSs Standards Documents such as IEEE 1074 IEEE 1074 "IEEE Standard for Developing Software Process Life Cycles" contains a good checklist of activities Terms WBS Definition WBS Examples WBS Creation IEEE 1074 IEEE 1074 Activity Groups Software Life Cycle Model Planning Project Management Predevelopment Development Post-Development Integral IEEE 1074 • • • • • • Software Life Cycle Model Planning Project Management Predevelopment Development Post-Development Integral Software Life Cycle Model Planning 1. Map the SLCM to project needs Project Management 2. Project Initialization 3. Project Monitoring and control 4. Software Quality Management IEEE 1074 • • • • • • Software Life Cycle Model Planning Project Management Predevelopment Development Post-Development Integral Predevelopment 5. Concept Exploration 6. System Allocation Development 7. Requirements – detailed later 8. Design 9. Implementation – detailed later IEEE 1074 • • • • • • Software Life Cycle Model Planning Project Management Predevelopment Development Post-Development Integral Post-Development 10. Installation 11. Operation and Support 12. Maintenance 13. Retirement IEEE 1074 • • • • • • Software Life Cycle Model Planning Project Management Predevelopment Development Post-Development Integral Integral 14. Verification and Validation 15. Software Configuration Management 16. Documentation Development 17. Training IEEE 1074 Activities Development 7. Requirements 24. Define and Development Software Requirements 25. Define Interface Requirements 26. Prioritize and Integrate Software Requirements 9. Implementation 32. 33. 34. 35. 36. 37. Create Test Data Create Source Code Generate Object Code Create Operating Documentation Plan Integration Perform Integration Next Time… Before we can build a work plan, we need to know how much time everything will take, how many people we need, how much money… In other words, estimating