Project Planning CITS3220 Software Requirements & Project Management
Why plan? The superior programmer uses superior planning skills to avoid having to use superior crisis management skills British Army Saying (The 6 P's) Proper Planning Prevents Piss Poor Performance
Issues in Project Management (a reminder) Before starting the project: planning, estimation, risk analysis; While doing the project: monitoring, evaluation, metrics; After the project is done: assessment and improvement
Overview of Today s Lecture Issues Why plan? What s in a plan? Human factors Definitions and Techniques planning steps; work breakdown structure; critical path analysis and PERT charts; Gantt charts
Why Plan? Control of the project is based on derivation from the plan Communication of roles, responsibilities and resource requirements Strategy enables trade-offs in the cool light of day rather than within a deadline panic Risk management anticipates problems and provides a management strategy Granularity how much planning to do? A plan is a living document
Questions for Project Managers What is the scope of our project? What gets delivered for the available time, people, $? (And what won't we do?) What resources do we need? How do we tell where we are? Are we on schedule? Are we on budget? How do we communicate our plan inside & outside the team?
The W 6 H 3 elements of a plan Objectives WHY is the system being built? Deliverables WHAT has to be produced? Milestones WHICH process stages are needed for control? Methods HOW will the tasks be done (technically)? Resources WHERE do we get the people/tools for the work? Risks HOW will potential problems be minimised? Schedule WHEN will the stages be completed? Verification HOW will we know the system is correct? Responsibility WHO is responsible for ensuring completion?
An effective plan includes Business perspective financial, technical commercial Deliverable components and the tasks required Clearly defined organizational responsibilities Product requirements and deliverables Risk quantified in $ or hours and risk management strategy proposed Sensible task durations e.g. 2 months max Sensible task size (e.g. 1 to 2 person-months) Defined acceptance criteria
A poor plan only technical perspective or only task view no clear assignment of responsibility for production of deliverables no milestones or acceptance criteria risk ignored or buried in bloated estimates long task durations (e.g. 1 year) very large tasks (eg 20 people for 2 months) no process to guarantee the client s needs are met
Human Factors in Project Planning people tend to be risk averse when there is a potential of loss people are unduly optimistic in their plans and forecasts people prefer to use intuitive judgment rather than (quantitative) models Managers are people also, and these human tendencies apply to the managers who make business decisions at the project to the executive level.
Tasks, Milestones & Deliverables Tasks activities which must be completed to achieve the project goal Milestones important checkpoints Deliverables milestones with an external output
Work Breakdown Structure (WBS) A to-do list, sorted by category Task description (what) Estimated time (length) Person responsible for task (who) Resources required Cost ($)
3 Steps to a Project Plan Step 1: Identify Tasks & Resources Step 2: Identify Milestones Step 3: Analyse Dependencies and Define Schedule with a Gantt Chart
Initial Plan, Tasks and Resources Tedious and hard...but must be done What ==> tasks When ==> schedule How ==> people, materials, equipment costs Set scope and avoid "scope creep"
Identifying Tasks & Resources State each task using "verb-noun" form Examples: Write manual; Implement Prototype; Review requirements with client Use appropriate level of detail Function, not form, known at start of project Example: "Build concept demonstration prototype" Make each task significant e.g. Identify competitive products" not "Go to library Defining tasks is hard but worthwhile!
Milestones Key targets for completion of certain phases of a project A milestone requires both the state of the task/phase and a date/time to be set. Some typical SE milestones requirement specifications completed key plans completed systems documentation completed test data sets completed tests run with user prepared test data completed user manuals completed acceptance testing completed post-implementation review completed
Milestones Types of milestones Provide tangible interim goals Demonstrate progress and so provide motivation Used to enforce schedule State each milestone in "noun-verb" form Examples: Mission stated; Mid-quarter review presented; Prototype completed
Scheduling &GANTT charts Gantt charts Best basic scheduling tool Developed in 1917 by Henry L. Gantt Pick appropriate time scale (days/wks) Method of tracking progress Who is responsible Good software (e.g. MS Project) is available. GANTT charts don t show dependencies explicitly
Source http://searchcio.techtarget.com/
Gantt Chart components horizontal axis = total time span of the project vertical axis = project tasks horizontal bars = sequences, timing, and time span for each task bar spans (tasks) may overlap secondary bars, arrowheads, or darkened bars added as project progresses to indicate completed tasks vertical line = report date
PERT charts Programme Evaluation & Review Technique Explicitly shows dependency and parallel tasks Shows critical path and where flex time is Can be hierarchical (with sub-tasks)
Source http://searchsmb.techtarget.com/