CSC111H Project Planning Dennis Burford [email protected].

22
CSC111H Project Planning Dennis Burford [email protected]

Transcript of CSC111H Project Planning Dennis Burford [email protected].

Page 1: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

CSC111HProject Planning

Dennis Burford

[email protected]

Page 2: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Planning

• Important because:– Software development is complex process– Team work is essential– Time and money constraints– Need direction... i.e. goals

• May build wrong thing!

– Need a measure of progress / success or failure

Page 3: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Planning

• Problem Definition

• Determine Constraints

• Task Breakdown

• Scheduling

• Delegation of tasks - Team Work

• Documentation

Page 4: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Problem Definition

• Define problem clearly and unambiguously• “Build” system on paper

– Tests problem understanding

– Uncovers potential problems

• Draw up formal problem definition– Need knowledge of problem (above)

– Part of software lifecycle

• Will refer to prob. def. throughout project

Page 5: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Software Lifecycle

• Specification – what are the needs? (WHAT)

• Design – how will we do it? (HOW)

• Implementation – do the actual programming

• Testing – make sure it does what it was supposed to do

• Maintenance – ongoing adjustments & corrections

Page 6: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Determine Constraints• Time

– Milestones and deliverables– Final delivery date

• People– Number of participants– Skills available

• Resources– Money– Equipment– Information?

Page 7: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Task Breakdown

• Establish “areas” of work

• Give names to tasks

• Task hierarchy– Each task broken into smaller sub-tasks– Task complete when all subtasks complete

Page 8: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Task Breakdown

Project

GUI C/S

Requirements Layout Implementation

Integration

Components Listeners

Page 9: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Scheduling

• Dependencies– What tasks to be done before others?

• Estimate time– Conservative estimates– Rather overestimate and have more time at end

• Allocation of people to task– Fair breakdown– Maximise skills

Page 10: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Dependencies : Making Tea...

Task Duration Dependent on...

A. Boil water in kettle 4

B. Heat milk 7

C. Tea bags into pot 1

D. Sugar into cups 1

E. Pour water into pot 3

F. Pour tea into cups 1

G. Add milk to tea 1

H. Stir and drink 6

Page 11: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Task Duration Dependent on...

A. Boil water in kettle 4 -

B. Heat milk 7 -

C. Tea bags into pot 1 -

D. Sugar into cups 1 -

E. Pour water into pot 3 A, C

F. Pour tea into cups 1 D, E

G. Add milk to tea 1 B, F

H. Stir and drink 6 G

Dependencies : Making Tea...

Page 12: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Scheduling

• Scheduling techniques / documents

– Table of tasks, delegation, time estimates and completion dates

– Gantt chart: visual representation of tasks, dependencies and completion times

Page 13: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Scheduling: Table

# Task Who Duration (h) Start Date End Date1 Create GUI JS + NB 15 1 Mar 10 Mar1.1 GUI requirements JS + NB 2 1 Mar 2 Mar1.2 Layout JS + NB 1 2 Mar 3 Mar1.3 Component Hierarchy JS 2 2 Mar 3 Mar1.4 Implementation JS 10 3 Mar 10 Mar

Page 14: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Scheduling: Gantt ChartBoil WaterA

Heat MilkB

T bagsC

Sugar D

Water in potE

T in cupsF

Add milkG

DrinkH

10 4 7 8 9 15

Page 15: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Scheduling: Making Tea...

Task Duration Dependent on...

A. Boil water in kettle 4 -

B. Heat milk 7 -

C. Tea bags into pot 1 -

D. Sugar into cups 1 -

E. Pour water into pot 3 A, C

F. Pour tea into cups 1 D, E

G. Add milk to tea 1 B, F

H. Stir and drink 6 G

Page 16: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Scheduling

• Milestones– Check of progress made

– End of distinct stage

– Must be verifiable

• Deliverables– Milestone

– Tangible progress - usually delivered to customer

9

Page 17: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Team Work

• Division of labour between members• Ensure fair breakdown

• Use strengths / skills of each member• Team work, “interfacing”, is part of any project

• Related sub-tasks should be done by same person• Plan for integration of separate work

Page 18: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Team Work

• Hold meetings:– Regular – Focussed– Efficient use of time

• Responsibility, Accountability, Discipline

Page 19: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Documentation

• Workbooks– All ideas, plans, designs– Dates and page numbers– Record of meetings, problems, progress

• Project Report– “Active” document– Start writing from day 1– Constantly revise and rewrite

Page 20: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Project Pitfalls• Coding before planning

• No milestones

• Unrealistic goals

• Great plan, no action

• Rigid “at-all-costs” task completion (overrun time allocation)

• One man show

• No documentation / last-day write-up

Page 21: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Assignment: Work-plan

The aim of this deliverable is for you to start thinking about the project in more detail. It is suggested you read through all the future tuts associated with this project (3-8). You are required to break down the project in a number of detailed tasks. For each task estimate how long the task will take you (and then multiply this by 2 for a more realistic estimate). From this develop an outline plan of how you intend structuring your work over the remainder of the project (remember to include the time to do your documentation). For each task, state how long you estimate it will take you (in hours), as well as the date you expect to complete it. Your tasks must be more detailed than the handins we have specified.

Page 22: CSC111H Project Planning Dennis Burford dburford@cs.uct.ac.za.

Assignment: Work-plan

Programming tasks 30%– Well thought out, and detailed = 30%– Some tasks, but very broad, or major tasks missing=15%– No programming tasks given=0%

Documentation tasks 30%– Well thought out, and detailed=30%– Some tasks, but very broad, or major tasks missing=15%– No documentation tasks given (0%)

Estimated Time 20%– Seems realistic=20%– Times given, but not very realistic=10%– Estimated times not given=0%

Neatness (in electronic form, tables etc) 20%