Based on Chapter 5 of the textbook [SE-8] Ian Sommerville ...
Based on Chapter 5 of the textbook [SE-8] Ian Sommerville ...
Based on Chapter 5 of the textbook [SE-8] Ian Sommerville ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
1<br />
<str<strong>on</strong>g>Based</str<strong>on</strong>g> <strong>on</strong> <strong>Chapter</strong> 5 <strong>of</strong> <strong>the</strong> <strong>textbook</strong> [<strong>SE</strong>-8]<br />
<strong>Ian</strong> <strong>Sommerville</strong>, S<strong>of</strong>tware Engineering, 8 th Ed., Addis<strong>on</strong>-Wesley, 2006<br />
and <strong>on</strong> Ch5 PPT presentati<strong>on</strong> from http://www.s<strong>of</strong>tware-engin.com/<br />
September 17, 2007
2<br />
Outline<br />
Introducti<strong>on</strong><br />
Project Planning<br />
Project Scheduling<br />
Risk Management
3<br />
Introducti<strong>on</strong>.<br />
S<strong>of</strong>tware project management is aimed to ensure that <strong>the</strong><br />
s<strong>of</strong>tware is delivered <strong>on</strong> time, within budget and schedule<br />
c<strong>on</strong>straints, and satisfies <strong>the</strong> requirements <strong>of</strong> <strong>the</strong> client<br />
Management <strong>of</strong> s<strong>of</strong>tware projects is different from o<strong>the</strong>r<br />
types <strong>of</strong> management because:<br />
● S<strong>of</strong>tware is not tangible<br />
● S<strong>of</strong>tware processes are relatively new and still “under trial”<br />
● Larger s<strong>of</strong>tware projects are usually “<strong>on</strong>e-<strong>of</strong>f” projects<br />
● Computer technology evolves very rapidly
4<br />
.Introducti<strong>on</strong><br />
Management activities:<br />
● Writing proposals<br />
● Planning <strong>the</strong> project<br />
● Scheduling <strong>the</strong> project<br />
● Estimating <strong>the</strong> cost <strong>of</strong> <strong>the</strong> project<br />
● M<strong>on</strong>itoring and reviewing <strong>the</strong> project’s project s progress<br />
● Selecting, hiring, and evaluating pers<strong>on</strong>nel<br />
● Writing reports and giving presentati<strong>on</strong>s
5<br />
Project Planning…<br />
A project plan should be drawn at <strong>the</strong> start <strong>of</strong> <strong>the</strong> project. This plan<br />
drives <strong>the</strong> project and needs to be c<strong>on</strong>tinuously adjusted<br />
The role <strong>of</strong> <strong>the</strong> project manager is to anticipate possible problems<br />
and be prepared with soluti<strong>on</strong>s for <strong>the</strong>se problems<br />
O<strong>the</strong>r plans that need be developed:<br />
● Quality plan<br />
● Validati<strong>on</strong> and verificati<strong>on</strong> plan<br />
● C<strong>on</strong>figurati<strong>on</strong> management plan<br />
● Maintenance plan<br />
● Staff development plan
6<br />
.Project Planning..<br />
The planning process [Fig 5.2, <strong>SE</strong>-8] <strong>SE</strong> 8]<br />
Establish <strong>the</strong> project c<strong>on</strong>straints<br />
Make initial assessments <strong>of</strong> <strong>the</strong> project parameters<br />
Define project milest<strong>on</strong>es and deliverables<br />
while project has not been completed or cancelled loop<br />
Draw up project schedule<br />
Initiate activities according to schedule<br />
Wait ( for a while )<br />
Review project progress<br />
Revise estimates <strong>of</strong> project parameters<br />
Update <strong>the</strong> project schedule<br />
Re-negotiate project c<strong>on</strong>straints and deliverables<br />
if ( problems arise ) <strong>the</strong>n<br />
Initiate technical review and possible revisi<strong>on</strong><br />
end if<br />
end loop
7<br />
..Project Planning.<br />
The structure <strong>of</strong> <strong>the</strong> project plan:<br />
● Introducti<strong>on</strong> (objectives, c<strong>on</strong>straints)<br />
● Project organizati<strong>on</strong> (team structure, pers<strong>on</strong>nel involved, roles)<br />
● Risk analysis (types <strong>of</strong> risk, probabilities, soluti<strong>on</strong>s to prevent or<br />
reduce <strong>the</strong> risk)<br />
● Hardware and s<strong>of</strong>tware resources needed (prices, delivery schedule)<br />
● Work breakdown (activities, milest<strong>on</strong>es, deliverables)<br />
● Project schedule (dependencies between activities/tasks, work<br />
assignments, time allocated per task)<br />
● M<strong>on</strong>itoring and reporting mechanisms (reports, dates)
8<br />
…Project Planning<br />
Milest<strong>on</strong>e = end-point <strong>of</strong> a specific, distinct s<strong>of</strong>tware process<br />
activity or task (for each milest<strong>on</strong>e a report should be presented<br />
to <strong>the</strong> management)<br />
Deliverable = project result delivered to <strong>the</strong> client<br />
In order to establish milest<strong>on</strong>es <strong>the</strong> phases <strong>of</strong> <strong>the</strong> s<strong>of</strong>tware<br />
process need be divided in basic activities/tasks. Example for<br />
requirements engineering [Fig. 5.3, <strong>SE</strong>-8]<br />
Feasibility<br />
study<br />
Feasibility<br />
report<br />
Requirements<br />
analysis<br />
Requirements<br />
definiti<strong>on</strong><br />
ACTIVITIES<br />
Prototype<br />
development<br />
Evaluati<strong>on</strong><br />
report<br />
MILESTONES<br />
Design<br />
study<br />
Architectural<br />
design<br />
Requirements<br />
specificati<strong>on</strong><br />
Requirements<br />
specificati<strong>on</strong>
9<br />
Project Scheduling……<br />
S<strong>of</strong>tware managers:<br />
● Divide <strong>the</strong> project in activities/tasks<br />
● Estimate time and resources needed to finish <strong>the</strong> project<br />
● Allocate resources to tasks<br />
● Try to employ efficiently all <strong>the</strong> project pers<strong>on</strong>nel<br />
● Minimize dependencies between tasks and teams<br />
● Prepare c<strong>on</strong>tingency plans<br />
● Rely <strong>on</strong> experience and intuiti<strong>on</strong>
10<br />
Identify<br />
activities<br />
S<strong>of</strong>tware<br />
requirements<br />
.Project Scheduling…..<br />
Scheduling ..<br />
The scheduling process [Fig. 5.4, <strong>SE</strong>-8] <strong>SE</strong> 8]<br />
Identify activity<br />
dependencies<br />
Estimate resources<br />
for activities<br />
Allocate people<br />
to activities<br />
Create project<br />
charts<br />
Activity charts<br />
and bar charts
11<br />
..Project Scheduling….<br />
Graphical notati<strong>on</strong>s used in s<strong>of</strong>tware<br />
project scheduling:<br />
● Tables: summary descripti<strong>on</strong> <strong>of</strong> tasks<br />
● Bar charts: show schedule against <strong>the</strong> time<br />
● Activity charts: graphs that depict dependencies<br />
between tasks and indicate <strong>the</strong> critical path (<strong>the</strong><br />
l<strong>on</strong>gest path in <strong>the</strong> activity graph)
12<br />
…Project Scheduling…<br />
Example <strong>of</strong> tabular descripti<strong>on</strong> [Fig. 5.5, <strong>SE</strong>-8]:<br />
Task Durati<strong>on</strong> (days) Dependencies<br />
T1 8<br />
T2 15<br />
T3 15 T1 (M1)<br />
T4 10<br />
T5 10 T2, T4 (M2)<br />
T6 5 T1, T2 (M3)<br />
T7 20 T1 (M1)<br />
T8 25 T4 (M5)<br />
T9 15 T3, T6 (M4)<br />
T10 15 T5, T7 (M7)<br />
T11 7 T9 (M6)<br />
T12 10 T11 (M8)
13<br />
….Project Scheduling..<br />
Example <strong>of</strong> activity chart [Fig. 5.6, <strong>SE</strong>-8]
14<br />
…..Project Scheduling.<br />
Example <strong>of</strong> bar chart [Fig. 5.7, <strong>SE</strong>-8]<br />
T4<br />
T1<br />
T2<br />
4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9<br />
Start<br />
M1<br />
T7<br />
T3<br />
M5<br />
T8<br />
M3<br />
M2<br />
T6<br />
T5<br />
T9<br />
M4<br />
M7<br />
T10<br />
T11<br />
T12<br />
M6<br />
M8<br />
Finish
15<br />
……Project Scheduling<br />
Staff allocati<strong>on</strong> chart [Fig. 5.8, <strong>SE</strong>-8]<br />
Fred<br />
Jane<br />
Anne<br />
Jim<br />
Mary<br />
4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9<br />
T4<br />
T1<br />
T2<br />
T3<br />
T7<br />
T8 T11<br />
T9<br />
T6 T10<br />
T5<br />
T12
16<br />
Risk Management…….<br />
Risk = some adverse circumstance that may<br />
happen and affect negatively <strong>the</strong> project, <strong>the</strong><br />
product, and/or <strong>the</strong> business<br />
Categories <strong>of</strong> risk:<br />
● Project risks<br />
● Product risks<br />
● Business risks<br />
Risk management means anticipating risks and<br />
preparing plans to reduce <strong>the</strong>ir effect
17<br />
.Risk Management……<br />
Examples <strong>of</strong> risks in <strong>the</strong> s<strong>of</strong>tware process [Fig. 5.9, <strong>SE</strong>-8]<br />
Risk Affects Descripti<strong>on</strong><br />
Staff turnover Project Experienced staff will leave <strong>the</strong> project before it is finished.<br />
Management change Project There will be a change <strong>of</strong> organisati<strong>on</strong>al management with<br />
different priorities.<br />
Hardware unavailability Project Hardware that is essential for <strong>the</strong> project will not be<br />
delivered <strong>on</strong> schedule.<br />
Requirements change Project and<br />
product<br />
Specificati<strong>on</strong> delays Project and<br />
product<br />
Size underestimate Project and<br />
product<br />
CA<strong>SE</strong> tool underperformance<br />
There will be a larger number <strong>of</strong> changes to <strong>the</strong><br />
requirements than anticipated.<br />
Specificati<strong>on</strong>s <strong>of</strong> essential interfaces are not available <strong>on</strong><br />
schedule<br />
The size <strong>of</strong> <strong>the</strong> system has been underestimated.<br />
Product CA<strong>SE</strong> tools which support <strong>the</strong> project do not perform as<br />
anticipated<br />
Technology change Business The underlying technology <strong>on</strong> which <strong>the</strong> system is built is<br />
superseded by new technology.<br />
Product competiti<strong>on</strong> Business A competitive product is marketed before <strong>the</strong> system is<br />
completed.
Risk<br />
identificati<strong>on</strong><br />
List <strong>of</strong> potential<br />
risks<br />
18<br />
..Risk Management…..<br />
The risk management activities [Fig. 5.10, <strong>SE</strong>-8]<br />
Risk analysis<br />
Prioritised risk<br />
list<br />
Risk planning<br />
Risk avoidance<br />
and c<strong>on</strong>tingency<br />
plans<br />
Risk<br />
m<strong>on</strong>itoring<br />
Risk<br />
assessment
19<br />
…Risk Risk Management….<br />
Management<br />
Types <strong>of</strong> risk in risk identificati<strong>on</strong> [Fig. 5.11, <strong>SE</strong>-8] <strong>SE</strong> 8]<br />
Risk type Potential indicato rs<br />
Techno logy Late delivery <strong>of</strong> hardware or support s<strong>of</strong>tware, many repo rted<br />
techno logy prob lems<br />
People Poor staff morale, poo r relati<strong>on</strong>sh ips am<strong>on</strong>gst team member,<br />
job availability<br />
Organisati<strong>on</strong>al Organisati<strong>on</strong>al gossip, lack o f acti<strong>on</strong> by senior management<br />
Tools Reluctance by team members to use tools, complaints abou t<br />
CA<strong>SE</strong> tools, demands for high er-powe red work stati<strong>on</strong>s<br />
Requirements Many requirements change requests, customer complaints<br />
Estimati<strong>on</strong> Failure to meet agreed schedu le, failure to clear reported<br />
defects
20<br />
….Risk Management…<br />
Risk analysis:<br />
● Estimate risk probability:<br />
Very low (< 10%)<br />
Low (10-25%)<br />
Moderate (25-50%)<br />
High (50-75%)<br />
Very high (> 75%)<br />
● Establish risk seriousness:<br />
Insignificant<br />
Tolerable<br />
Serious<br />
Catastrophic
21<br />
…..Risk Management..<br />
Risk planning means preparing a strategy<br />
to deal with each <strong>of</strong> <strong>the</strong> risks identified<br />
Classes <strong>of</strong> strategies:<br />
● Avoidance strategies: <strong>the</strong> probability <strong>of</strong> <strong>the</strong> risk<br />
will be diminished<br />
● Minimizati<strong>on</strong> strategies: <strong>the</strong> effect <strong>of</strong> <strong>the</strong> risk will<br />
be reduced<br />
● C<strong>on</strong>tingency strategies: plans for <strong>the</strong> worst case<br />
scenarios
22<br />
……Risk Management.<br />
Examples <strong>of</strong> risk management strategies [Fig. 5.13, <strong>SE</strong>-8] <strong>SE</strong> 8]<br />
Risk Strategy<br />
Organisati<strong>on</strong>al<br />
financial problems<br />
Recruitment<br />
problems<br />
Prepare a briefing document for senior management<br />
showing how <strong>the</strong> project is making a very important<br />
c<strong>on</strong>tributi<strong>on</strong> to <strong>the</strong> goals <strong>of</strong> <strong>the</strong> business.<br />
Alert customer <strong>of</strong> potential difficulties and <strong>the</strong><br />
possibility <strong>of</strong> delays, investigate buying-in<br />
comp<strong>on</strong>ents.<br />
Staff illness Reorganise team so that <strong>the</strong>re is more overlap <strong>of</strong> work<br />
and people <strong>the</strong>refore understand each o<strong>the</strong>r’s jobs.<br />
Defective<br />
comp<strong>on</strong>ents<br />
Risk Strategy<br />
Requirements<br />
changes<br />
Organisati<strong>on</strong>al<br />
restructuring<br />
Database<br />
performance<br />
Underestimated<br />
development time<br />
Replace potentially defective comp<strong>on</strong>ents with boughtin<br />
comp<strong>on</strong>ents <strong>of</strong> known reliability.<br />
Derive traceability informati<strong>on</strong> to assess requirements<br />
change impact, maximise informati<strong>on</strong> hiding in <strong>the</strong><br />
design.<br />
Prepare a briefing document for senior management<br />
showing how <strong>the</strong> project is making a very important<br />
c<strong>on</strong>tributi<strong>on</strong> to <strong>the</strong> goals <strong>of</strong> <strong>the</strong> business.<br />
Investigate <strong>the</strong> possibility <strong>of</strong> buying a higherperformance<br />
database.<br />
Investigate buying in comp<strong>on</strong>ents, investigate use <strong>of</strong> a<br />
program generator
23<br />
…….Risk Management<br />
Risk m<strong>on</strong>itoring:<br />
● Frequently re-assess <strong>the</strong> risks<br />
Changes in risk probability?<br />
Changes in risk gravity?<br />
● Take into c<strong>on</strong>siderati<strong>on</strong> risk factors<br />
● Discuss key risks at each management project<br />
progress meeting