Once we have completed our plan on what to deliver and the contents of deliverables (via requirements), we need to: plan out how to accomplish the deliverables Task Analysis is Part of Planning Task Analysis • Task analysis is domain dependent– thus you need domain experts to help: (if you want to do well) – – – – – build a desk plant a tree write computer program build a road make a spaghetti dinner • Software project task analysis is no different – you need domain knowledge to do this well • • • • computer science software engineering information technology math/science/arts task analysis: – the definition and sequencing of tasks needed to accomplish the result. From the Requirements to Work Breakdown Structure (WBS) • We get 2 main sets of information from Requirements: – 1) list of deliverables to the customers – 2) descriptions (functional & non-functional) about those deliverables Note: date or schedule requirement is purposely not included, yet • The first “high level” task of sequencing the required customer deliverables may seem simple, but --- consider the example list: – – – – code user guide support plan development process document WBS: is the listing and sequencing of the work activities needed to produce the required deliverables. (Note that there may be concurrent activities.) Assume these external deliverables code user guide product support plan How are these related ? dev. process doc. A ‘Sample’ Sequence of External Deliverables code dev. process doc product support plan user guide End - Do you all agree ? Discuss - what do you need to decide here. - Also decide if the sequence of deliverables “equal” sequence of activities (tasks) to produce the material Representing in “Schedule” form Deliverables became Tasks ! Note: added new parameter Tasks Resp. Proc. doc Gw Code Gx User Guide Gy S.Plan Gz month1 month2 month3 All the same length and no overlap Effort Analysis • Estimation of “Effort” for each deliverable – need to understand the subtasks required to produce the deliverable and any “intermediate deliverables” that may be required. – need to break it (deliverable or task) down more • by sub-components • to the level where : How important are these? – one person can do the task – skill & productivity of the person can be described – actual task can be described and size estimate has some comparable “past history” or “algorithm” A Deeper Work Breakdown Structure (WBS) of “Developing” Product Support Plan Interview Customer for input Analysis and Develop Outline Not O.K. 1 cycle only O.K. Review with Customer Develop the whole Support Plan Final Review End Effort Analysis & A Deeper Work Breakdown Structure (WBS) of “Developing” Support Plan Interview Customer for input ** Analysis and Develop an Outline Effort is Based on the assumptions: 1. How much (size of) work is estimated. 2. Productivity of the assigned person 2 p-days ** 1/2 p-day O.K. 1/2 p-day Review with Customer Develop the whole Plan 5 p-days ** - Do not forget about wait time - how many people are required ? - what kind of skill & background ? 1/2 p-day 1 p-day Final Review End 2 Major “Information/Assumption” Needs for Effort Analysis & Deeper WBS &Schedule • An estimate of the “size” of the work: – – – – pages of document lines of code number of people to visit length of meeting • Productivity of the “individual” assigned – – – – 5 pages a day (for document) 30 loc/day (for source code) 2 people/hour (for interview or visits) 3hrs/meeting (for meetings) Assuming WBS is Performed for Each Deliverable code develop. Process doc P-25 days Support plan P-7 days P-10 days End user guide P-10 days Assume you agree with the sequence For each of the major deliverables, estimate the required effort in “p-days” via WBS (*** these are person-days ---- want to get to individuals) Improving on Task “Schedule” Having chosen specific resources Tasks Resp. Proc Qais Code Justin User Gabe Guide S.Plan Marshon May June July Overlapping, different length Adding Milestones in “Schedule” Tasks Resp. Proc Qais Code Justin May June July User Gabe Guide S.Plan Marshon Minor Minor Major Major (project end) General flow of WBS to Timeline Schedule Identify the deliverables For each task: compute the effort/timeline for that task by dividing sise by productivity After all the timelines for all the tasks for all the deliverables are computed do following step For each deliverable: identify the tasks for completing the deliverable For each task: -Estimate the productivity of the assigned resource for effort analysis Sequence the tasks For each task: -Estimate the size for effort analysis Lay out the timeline for all the ordered tasks needed for each of the deliverables. (task timeline may overlap)