Upload
dayna-mason
View
217
Download
0
Embed Size (px)
Citation preview
1
Project Management
Software Engineering
2004-2005
2
What is a project?
• A piece of work that is undertaken
• Usually has a recognised beginning and end
• Usually has identifiable stages
3
Software Project
• Traditional software development approach• Definite stages• Definite end point• Similar to creating a building
4
Open ended Software Project
• When does maintenance end?
5
Implementation
• Program / module development– Each individual module developed and tested as a
discrete unit
• Systems testing– Programs/modules combined and tested as sub-systems
• Conversion– Existing system converted to enable new system to
operate on “live” data
6
Planning is essential fo success
• Consists of– Estimating effort– Scheduling tasks– Monitoring their progress
7
Estimating
• Steps– Identify the tasks– Estimate the effort required for each task– Identify total resources required– Identify minimum elapsed time for tasks
8
Estimating – identifying tasks
• Can be like top-down design– How to get to the top of Mt Everest from
Liverpool?– Break it down into steps
9
Estimating – identifying tasksin a software project
10
Estimating – identifying tasks in your individual project
• Your individual project plan will only be concerned with implementation
• Can you identify tasks in implementing your individual project?
• Clues:– Use case diagram– Class diagram
• Need to complete these before you can plan your project
11
Estimating – effort required for each task
• Measured in person-days
12
Factors affecting estimating effort
• the complexity of the processing required
• the number of input and output types (files, screen interaction, etc.)
• the number of data structures involved
• the programming language to be used
• the machine time available for development
• the experience of the staff involved
13
Factors affecting estimating effort
• the development support facilities• the novelty of the application• the type of application ('real time'
applications are notoriously more demanding than 'batch' applications)
• the novelty of the computer equipment and support environment
• the development methodology employed
14
Estimating – total resources required
• Computer equipment
• System software licences– compilers etc
• Accommodation
• Secretarial support
• User support– Liaison– Answering technical queries
15
Estimating – minimum elapsed time
• Writing a class may take 4 person days
• So 4 people could do it in 1 day?
• Or 40 people could finish it in 50 minutes?
16
Scheduling
• Allocating tasks to individuals
• Determining appropriate start times and end times for each task
17
Scheduling example
18
Scheduling exampleEstimates
19
Scheduling example
20
Exercise 2
• Suppose that for the development of this module, only one hour of access to the computer equipment each day is available.
What effect will this have on each stage of development?
21
Exercise 2
• Suppose that for the development of this module, only one hour of access to the computer equipment each day is available. What effect will this have on each stage of development?
3 x 1 hour per day computer time needed
18 x 1 hour per day computer time needed
22
Sitting around doing nothing time
• Total elapsed time is 29 days• Effort required is 20.5 days• Thus programmer sitting around doing nothing for 8.5
days.
23
Trying to solve this problem
• Waste of valuable resources
• The notes show the complexity and pitfalls of trying to solve the problem by assigning him/her to other tasks while waiting
• Need to take into account the overhead required to switch intellectual tasks and the problems this can cause
24
Aim of scheduling• Identify when tasks can begin and when
they are expected to end• Can be shown in a Gantt chart
25
How to make a Gantt chart
• Identify the estimated elapsed time for each activity
• Identify the dependencies– What other tasks must be completed before
each task can start
• Derive a network diagram
• Use it to draw the Gantt chart
26
Elapsed time and dependencies
27
Network diagrams
• Activities represented by lines• Start and end points of activities are called
events – represented by circles
28
Events
29
Drawing a network diagram
30
Entering the earliest expected times (EAT)
40
50
Two earliest times Always use the latest
31
Try this
32
• Latest of the three is 48 so it goes into the event
33
34
Entering the latest allowable times (LAT)
30
20
Two latest times
Always use the earliest
35
Analysing the network
• Find maximum span for each activity• Max span = LAT end – EAT start• Max span = 38 - 20 = 18
36
Spans and floats
• Total float = Maximum span – estimation duration• Results in the above
37
Complete the table
38
Completed table
39
Meaning of total float zero
• Any delay in a zero float activity delays the whole project
• Delay of 5 days in T.Util delays whole project by 5 days
• Delay of 5 days in Sc.E does not delay the project at all since this delay is within the available float for Sc.E
40
Identifying the critical path
• Critical path is the list of activities with total float zero
• Any delay in any activities on the critical path delays the whole project
41
Adding activities to the project
42
A first attempt
• Implies Sc.E (screen entry) also depends on acquiring special stationary – not true
43
Better
• Rep depends on Ospec and T.Util completing
• Sc.E only depends on T.Util completing
• Dotted line is a dummy activity (0 length)
44
Modified max spans
• Critical path: Req.A, De, T.Util, Sc.E, Val, Sys.T
45
Gantt Chart for last exercise
• For each rectangle:– Left hand edge is at earliest estimated time– Length of rectangle = estimated duration