24.07.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!