1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed.,...

23
1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison- Wesley, 2006 and on Ch5 PPT presentation from http://www.software-engin.com / September 17, 2007 September 17, 2007
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed.,...

Page 1: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

1

Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8th Ed., Addison-Wesley, 2006

and on Ch5 PPT presentation from http://www.software-engin.com/

September 17, 2007September 17, 2007

Page 2: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

2

Outline

Introduction Project Planning Project Scheduling Risk Management

Page 3: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

3

Introduction.

Software project management is aimed to ensure that the software is delivered on time, within budget and schedule constraints, and satisfies the requirements of the client

Management of software projects is different from other types of management because:● Software is not tangible

● Software processes are relatively new and still “under trial”

● Larger software projects are usually “one-off” projects

● Computer technology evolves very rapidly

Page 4: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

4

.Introduction.Introduction

Management activities:Management activities:● Writing proposalsWriting proposals

● Planning the projectPlanning the project

● Scheduling the projectScheduling the project

● Estimating the cost of the projectEstimating the cost of the project

● Monitoring and reviewing the project’s progressMonitoring and reviewing the project’s progress

● Selecting, hiring, and evaluating personnelSelecting, hiring, and evaluating personnel

● Writing reports and giving presentationsWriting reports and giving presentations

Page 5: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

5

Project Planning…

A project plan should be drawn at the start of the project. This plan drives the project and needs to be continuously adjusted

The role of the project manager is to anticipate possible problems and be prepared with solutions for these problems

Other plans that need be developed:● Quality plan● Validation and verification plan● Configuration management plan● Maintenance plan● Staff development plan

Page 6: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

6

.Project Planning...Project Planning.. The planning process [Fig 5.2, SE-8]The planning process [Fig 5.2, SE-8]

Establish the project constraints Make initial assessments of the project parameters Define project milestones and deliverableswhile project has not been completed or cancelled loop

Draw up project scheduleInitiate activities according to schedule

Wait ( for a while ) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables if ( problems arise ) then Initiate technical review and possible revision end ifend loop

Page 7: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

7

..Project Planning.

The structure of the project plan:● Introduction (objectives, constraints)

● Project organization (team structure, personnel involved, roles)

● Risk analysis (types of risk, probabilities, solutions to prevent or reduce the risk)

● Hardware and software resources needed (prices, delivery schedule)

● Work breakdown (activities, milestones, deliverables)

● Project schedule (dependencies between activities/tasks, work assignments, time allocated per task)

● Monitoring and reporting mechanisms (reports, dates)

Page 8: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

8

…Project Planning Milestone = end-point of a specific, distinct software process

activity or task (for each milestone a report should be presented to the management)

Deliverable = project result delivered to the client In order to establish milestones the phases of the software

process need be divided in basic activities/tasks. Example for requirements engineering [Fig. 5.3, SE-8]

EvaluationreportPrototypedevelopmentRequirementsdefinitionRequirementsanalysisFeasibilityreportFeasibilitystudy ArchitecturaldesignDesignstudyRequirementsspecificationRequirementsspecificationACTIVITIESMILESTONES

Page 9: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

9

Project Scheduling……

Software managers:● Divide the project in activities/tasks

● Estimate time and resources needed to finish the project

● Allocate resources to tasks

● Try to employ efficiently all the project personnel

● Minimize dependencies between tasks and teams

● Prepare contingency plans

● Rely on experience and intuition

Page 10: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

10

.Project Scheduling…...Project Scheduling…..

The scheduling process [Fig. 5.4, SE-8]The scheduling process [Fig. 5.4, SE-8]

Estimate resourcesfor activitiesIdentify activitydependenciesIdentifyactivities Allocate peopleto activitiesCreate projectchartsSoftwarerequirements Activity chartsand bar charts

Page 11: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

11

..Project Scheduling….

Graphical notations used in software project scheduling:● Tables: summary description of tasks

● Bar charts: show schedule against the time

● Activity charts: graphs that depict dependencies between tasks and indicate the critical path (the longest path in the activity graph)

Page 12: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

12

…Project Scheduling…

Example of tabular description [Fig. 5.5, SE-8]:

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)

Page 13: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

13

….Project Scheduling..

Example of activity chart [Fig. 5.6, SE-8]

startT2M3T6FinishT10M7T5T7M2T4M5T8

4/7/038 days14/7/0315 days4/8/0315 days25/8/037 days5/9/0310 days19/9/0315 days11/8/0325 days10 days20 days5 days25/7/0315 days25/7/0318/7/0310 days

T1M1T3T9M6T11M8T12M4

Page 14: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

14

…..Project Scheduling.

Example of bar chart [Fig. 5.7, SE-8]4/711/718/725/71/88/815/822/829/85/912/919/9T4T1T2M1T7T3M5T8M3M2T6T5M4T9M7T10M6T11M8T12

Start

Finish

Page 15: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

15

……Project Scheduling Staff allocation chart [Fig. 5.8, SE-8]4/711/718/725/1/88/815/822/829/85/912/919/9T4T8 T11T12T1T3T9T2T6T10T7T5FredJaneAnneMaryJim

Page 16: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

16

Risk Management…….

Risk = some adverse circumstance that may happen and affect negatively the project, the product, and/or the business

Categories of risk:● Project risks● Product risks● Business risks

Risk management means anticipating risks and preparing plans to reduce their effect

Page 17: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

17

.Risk Management…… Examples of risks in the software process [Fig. 5.9, SE-8]

Risk Affects Description

Staff turnover Project Experienced staff will leave the project before it is finished.

Management change Project There will be a change of organisational management withdifferent priorities.

Hardware unavailability Project Hardware that is essential for the project will not bedelivered on schedule.

Requirements change Project andproduct

There will be a larger number of changes to therequirements than anticipated.

Specification delays Project andproduct

Specifications of essential interfaces are not available onschedule

Size underestimate Project andproduct

The size of the system has been underestimated.

CASE tool under-performance

Product CASE tools which support the project do not perform asanticipated

Technology change Business The underlying technology on which the system is built issuperseded by new technology.

Product competition Business A competitive product is marketed before the system iscompleted.

Page 18: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

18

..Risk Management…..

The risk management activities [Fig. 5.10, SE-8]

Risk avoidanceand contingencyplansRisk planningPrioritised risklistRisk analysisList of potentialrisksRiskidentification RiskassessmentRiskmonitoring

Page 19: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

19

……Risk Management….Risk Management…. Types of risk in Types of risk in risk identificationrisk identification [Fig. 5.11, SE-8] [Fig. 5.11, SE-8]

Risk type Potential indicators

Technology Late delivery of hardware or support software, many reportedtechnology problems

People Poor staff morale, poor relationships amongst team member,job availability

Organisational Organisational gossip, lack of action by senior management

Tools Reluctance by team members to use tools, complaints aboutCASE tools, demands for higher-powered workstations

Requirements Many requirements change requests, customer complaints

Estimation Failure to meet agreed schedule, failure to clear reporteddefects

Page 20: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

20

….Risk Management…

Risk analysis:● Estimate risk probability:

Very low (< 10%) Low (10-25%) Moderate (25-50%) High (50-75%) Very high (> 75%)

● Establish risk seriousness: Insignificant Tolerable Serious Catastrophic

Page 21: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

21

…..Risk Management..

Risk planning means preparing a strategy to deal with each of the risks identified

Classes of strategies:● Avoidance strategies: the probability of the risk

will be diminished● Minimization strategies: the effect of the risk will

be reduced● Contingency strategies: plans for the worst case

scenarios

Page 22: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

22

……Risk Management. Examples of risk management strategies [Fig. 5.13, SE-8]Examples of risk management strategies [Fig. 5.13, SE-8]

Risk Strategy

Organisationalfinancial problems

Prepare a briefing document for senior managementshowing how the project is making a very importantcontribution to the goals of the business.

Recruitmentproblems

Alert customer of potential difficulties and thepossibility of delays, investigate buying-incomponents.

Staff illness Reorganise team so that there is more overlap of workand people therefore understand each other’s jobs.

Defectivecomponents

Replace potentially defective components with bought-in components of known reliability.

Risk Strategy

Requirementschanges

Derive traceability information to assess requirementschange impact, maximise information hiding in thedesign.

Organisationalrestructuring

Prepare a briefing document for senior managementshowing how the project is making a very importantcontribution to the goals of the business.

Databaseperformance

Investigate the possibility of buying a higher-performance database.

Underestimateddevelopment time

Investigate buying in components, investigate use of aprogram generator

Page 23: 1 Based on Chapter 5 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley, 2006 and on Ch5 PPT presentation from

23

…….Risk Management

Risk monitoring:● Frequently re-assess the risks

Changes in risk probability? Changes in risk gravity?

● Take into consideration risk factors ● Discuss key risks at each management project

progress meeting