Post on 21-Dec-2015
Creator: AC Session No: 10 Slide No: 1 Reviewer: SS
CSE300 Advanced Software Engineering December 2005
Project Management
CSE300
Advanced Software EngineeringUniversity of Sunderland © 2005
Anne Comer
anne.comer@sunderland.ac.uk
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 2 Reviewer: SS
Objectives for this Lecture
1. To overview project management and planning
2. To review activity diagrams and bar charts
3. To consider risk in the context of planning
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 3 Reviewer: SS
• Concerned with activities involved in ensuring that software is delivered on time and on schedule and in accordance with the requirements of the organisations developing and procuring the software
• Project management is needed because software development is always subject to budget and schedule constraints that are set by the organisation developing the software
Software project management
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 4 Reviewer: SS
• Proposal writing
• Project planning and scheduling
• Project costing
• Project monitoring and reviews
• Personnel selection and evaluation
• Report writing and presentations
Management activities
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 5 Reviewer: SS
• These activities are not peculiar to software management
• Many techniques of engineering project management are equally applicable to software project management
• Technically complex engineering systems tend to suffer from the same problems as software systems
Management commonalities
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 6 Reviewer: SS
Project staffing• May not be possible to appoint the ideal people to
work on a project– Project budget may not allow for the use of highly-paid
staff
– Staff with the appropriate experience may not be available
– An organisation may wish to develop employee skills on a software project
• Managers have to work within these constraints, especially when there are shortages of skilled IT staff
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 7 Reviewer: SS
Project planning
• Probably the most time-consuming project management activity
• Continuous activity from initial concept through to system delivery. Plans must be regularly revised as new information becomes available
• Various different types of plan may be developed to support the main software project plan (mainly concerned with schedule and budget)
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 8 Reviewer: SS
Project plan structure
• Scope the problem
• Decompose the problem
• Estimate function and effort
• Risk analysis
• Work breakdown
• Project schedule
• Monitoring and reporting mechanisms
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 9 Reviewer: SS
Activity organization
• Activities in a project should be organised to produce tangible outputs for management to judge progress
• Milestones are the end-point of a process activity
• Deliverables are project results delivered to customers
• The waterfall process allows for the straightforward definition of progress milestones
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 10 Reviewer: SS
Project scheduling• Split project into tasks and estimate time and
resources required to complete each task• Organise tasks concurrently to make optimal
use of workforce• Minimise task dependencies to avoid delays
caused by one task waiting for another to complete
• Dependent on project managers intuition and experience
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 11 Reviewer: SS
The project scheduling process
Estimate resourcesfor activities
Identify activitydependencies
Identifyactivities
Allocate peopleto activities
Create projectcharts
Softwarerequirements
Activity chartsand bar charts
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 12 Reviewer: SS
Scheduling problems• Estimating the difficulty of problems and hence
the cost of developing a solution is hard• Productivity is not proportional to the number of
people working on a task• Adding people to a late project makes it later
because of communication overheads• The unexpected always happens. Always allow
contingency in planning
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 13 Reviewer: SS
Bar charts and activity networks• Graphical notations used to illustrate the project
schedule
• Show project breakdown into tasks. Tasks should not be too small. They should take about a week or two
• Activity charts show task dependencies and the the critical path
• Bar charts show schedule against calendar time
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 14 Reviewer: SS
Task durations and dependencies
Task Duration (days) DependenciesT1 8T2 15T3 15 T1 (M1)T4 10T5 10 T2, T4 (M2)T6 5 T1, T2 (M3)T7 20 T1 (M1)T8 25 T4 (M5)T9 15 T3, T6 (M4)T10 15 T5, T7 (M7)T11 7 T9 (M6)T12 10 T11 (M8)
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 15 Reviewer: SS
Activity network
start
T2
M3T6
Finish
T10
M7T5
T7
M2T4
M5
T8
4/7/99
8 days
14/7/99 15 days
4/8/99
15 days
25/8/99
7 days
5/9/99
10 days
19/9/99
15 days
11/8/99
25 days
10 days
20 days
5 days25/7/99
15 days
25/7/99
18/7/99
10 days
T1
M1 T3T9
M6
T11
M8
T12
M4
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 16 Reviewer: SS
Activity timeline4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
T4
T1T2
M1
T7T3
M5T8
M3
M2T6
T5M4
T9
M7T10
M6
T11M8
T12
Start
Finish
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 17 Reviewer: SS
Staff allocation4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
T4
T8 T11
T12
T1
T3
T9
T2
T6 T10
T7
T5
Fred
Jane
Anne
Mary
Jim
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 18 Reviewer: SS
The risk management process
• Risk identification– Identify project, product and business risks
• Risk analysis– Assess the likelihood and consequences of these
risks
• Risk planning– Draw up plans to avoid or minimise the effects of the
risk
• Risk monitoring– Monitor the risks throughout the project
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 19 Reviewer: SS
Risk identification
• Technology risks
• People risks
• Organisational risks
• Requirements risks
• Estimation risks
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 20 Reviewer: SS
Risk analysis• Assess probability and seriousness of
each risk
• Probability may be very low, low, moderate, high or very high
• Risk effects might be catastrophic, serious, tolerable or insignificant
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 21 Reviewer: SS
Risk Analysis & PlanningRISK PROB-
ABILITY
EFFECTS STRATEGY
Key staff are ill at critical
times
Moderat
e
Serious Reorganise team so that there is more overlap
of work
Changes to requirements
that need major rework
Low Serious Derive traceability information to assess change
impact
Organisation restructured High Serious Prepare briefing document to show the
importance of the work being done and the
negative impact of any further change
Time required to develop
the s/w is underestimated
High Serious Reorganise work schedule and discuss the
range of alternatives with the client
Size of s/w is
underestimated
High Tolerable See above
Rate of fault finding and
fix is underestimated
Moderat
e
Tolerable See above
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 22 Reviewer: SS
Schedule risk
• Minimising risk in task scheduling
– Always difficult to accurately judge task time
• After breaking down into tasks, derive a three-
point estimate of time for each task……
– best time Tb, expected time Te, worst time Tw
• Task time (aggregated) = (Tb + 4Te + Tw) / 6
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 23 Reviewer: SS
Risk monitoring• Assess each identified risks regularly to
decide whether or not it is becoming less or more probable
• Also assess whether the effects of the risk have changed
• Each key risk should be discussed at management progress meetings
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 24 Reviewer: SS
Key points• Good project management is essential for
project success• Managers have diverse roles but their most
significant activities are planning, estimating and scheduling
• Planning and estimating are iterative processes which continue throughout the course of a project
CSE300 Advanced Software Engineering December 2005
Creator/Editor: AC Session No:10 Slide No: 25 Reviewer: SS
• A project milestone is a predictable state where some formal report of progress is presented to management.
• Risk management is concerned with identifying risks which may affect the project and planning to ensure that these risks do not develop into major threats
Key points