Defining the Activities Documents Goal Statement defines why helps manage expectations Statement of Work what gets delivered defines scope Software Project Management Plan how will the project be run organizes the team(s) Work Breakdown Structure what are our tasks organizing document SOW SPMP WBS Tasks > SOW SPMP WBS Tasks Statement of Work Written by the Customer Similar to a Call for Proposals (CFP) Purpose “A SOW should specify in clear, understandable terms the work to be done in developing or producing the goods to be delivered or services to be performed by a contractor. A SOW defines all non-specification requirements for contractor effort. Specifications are typically referenced in the SOW but the specific qualitative or quantitative technical requirements shall not be spelled out in the SOW. “ -- U.S. Government > SOW SPMP WBS Tasks SOW Format – example 1 STATEMENT OF WORK 1. 2. 3. 4. 5. 6. GENERAL. The Bureau of Reclamation has a requirement for … BACKGROUND. WORK TO BE PERFORMED BY CONTRACTOR. GOVERNMENT-FURNISHED MATERIALS/SERVICES. SUMMARY OF DELIVERABLE. PROJECT COMPLETION/DELIVERY SCHEDULE 6.1 REVIEW OF DELIVERABLES. 6.2 ACCEPTANCE OF DELIVERABLES. 7. CONTRACTOR PAYMENT SCHEDULE 8. TECHNICAL COORDINATION 9. ADDRESS FOR DELIVERABLES > SOW SPMP WBS Tasks SOW Format – example 2 DOD-type SOW 1. 2. 3. 4. Scope – what is in this SOW Background Related Documents Deliverables Sub-Tasks Reports place of work review timetable Software Project Management Plan Contents Goal Statement Process Model management and technical Organizational Chart Timetable and Deliverables Work Breakdown – next topic tonight Schedule – in two weeks Budget costs estimates - next week SOW > SPMP WBS Tasks SOW > SPMP WBS Tasks IEEE 1058 Standard for SPMP 1. Introduction 1.1 Project overview 1.2 Project deliverables 1.3 Evolution of the SPMP 1.4 Reference materials 1.5 Definitions and acronyms 2. Project organization 2.1 Process model 2.2 Organizational structure 2.3 Organizational boundaries and interfaces 2.4 Project responsibilities 3. Managerial process 3.1 Managerial objectives & priorities 3.2 Assumptions, dependencies & constraints 3.3 Risk management 3.4 Monitoring & controlling mechanisms 3.5 Staffing plan 4. Technical process 4.1 Methods, tools & techniques 4.2 Software documentation 4.3 Project support functions 5. Work packages, schedule & budget 5.1 Work packages 5.2 Dependencies 5.3 Resource requirements 5.4 Budget & resource allocation 5.5 Schedule Jargon Alert! Work Breakdown Structure “Simply stated, a WBS is a hierarchical list of the work activities to complete a project.” Jargon Alert! 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! 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! 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! 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. SOW SPMP > WBS Tasks WBS Definition - MIL-HDBK-881 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. SOW SPMP > WBS Tasks Primary uses of WBS Determining Budget Creating a Schedule Insuring that we didn’t forget anything Matching staff skills to tasks Communicating the big picture SOW SPMP > WBS Tasks WBS Formats Tree Useful at early stages for big picture Indented List Most popular format Easy to create and edit (eg Excel) SOW SPMP > WBS Tasks Example WBS # Task Description Who Resources M&S 1 Get to Work Eat Breakfast Shower Get Dressed Goto Office SD, WD SD SD SD 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 SOW SPMP > WBS Tasks Example WBS http://www.hyperthot.com/pm_wbs.htm SOW SPMP > WBS Tasks Example WBS SOW SPMP > WBS Tasks WBS Rules 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 SOW SPMP > WBS Tasks WBS Rules 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 SOW SPMP WBS > Tasks Identifying Tasks SOW Experience / Other WBSs Standards Documents such as IEEE 1074 SOW SPMP WBS > Tasks IEEE 1074 "IEEE Standard for Developing Software Process Life Cycles" contains a good checklist of activities SOW SPMP WBS > Tasks IEEE 1074 Activity Groups Software Life Cycle Model Planning Project Management Predevelopment Development Post-Development Integral - detailed next - detailed next 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 next 8. Design 9. Implementation – detailed next IEEE 1074 • • • • • • Software Life Cycle Model Planning Project Management Predevelopment Development Post-Development Integral 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 … Before we can build a schedule, we need to know how much time everything will take, how many people we will need, how much money… In other words, estimating