lecture 4: software process management dr valentina plekhanova university of sunderland, uk...

28
Lecture 4 Lecture 4 : : Software Process Software Process Management Management Dr Valentina Plekhanova Dr Valentina Plekhanova University of Sunderland, University of Sunderland, UK UK http://www.cet.sunderland.ac.uk/~cs0vpl/ http://www.cet.sunderland.ac.uk/~cs0vpl/ SE-Com185.htm SE-Com185.htm

Upload: eric-miller

Post on 17-Jan-2016

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4Lecture 4:: Software Process ManagementSoftware Process Management

Dr Valentina PlekhanovaDr Valentina Plekhanova

University of Sunderland, UKUniversity of Sunderland, UK

http://www.cet.sunderland.ac.uk/~cs0vpl/SE-Com185.htmhttp://www.cet.sunderland.ac.uk/~cs0vpl/SE-Com185.htm

Page 2: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 2

Process Models …Process Models … Existing process modelsprocess models represent various

projects goal(s) and this defines an ordering of project (tasks) activities.

Page 3: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 3

Project ManagementProject Management In contrast with software process models, project project

managementmanagement deals with resources. Moreover, it is used as a means to provide

planning, organisation, direction and control of resources in order to meet an organisation’s objectives by a specific date and within a well-defined budget.

Project management involves the application of limited resources to the completion of tasks in the most effective and efficient manner.

Page 4: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 4

Project SchedulingProject Scheduling A pivotal problem of project management

is to find the best trade-offs among resources.

Support for the co-ordination of people, tasks, equipment, products, time and money is provided by project management project management schedulingscheduling.

Page 5: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 5

Planning Phase: Planning Phase: Estimating Duration & CostEstimating Duration & Cost … ???

DurationDuration … Another important part is estimating the the

duration of the projectduration of the project. However, in estimating these issues a large

number of variables are involved, principally the human factor.

Page 6: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 6

Cost EstimationCost Estimation An accurate cost estimation is an integral part of

any software project management plan. A number of approaches can be used for cost

estimation. These include: Expert judgement by analogy: consultation

between a number of experts to devise a cost structure based on previous similar projects he/she has worked on Bottom-up approach: breaking the target product into smaller units.

Page 7: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 7

COCOMOCOCOMO A number of algorithmic models have been

devised. The major one is Boehm’s Constructive Constructive

Cost ModelCost Model (COCOMO).

Page 8: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 8

Training RequirementsTraining Requirements Staff must be trained in new software

development methods; operating systems, documentation preparation and hardware.

A training plan must then be incorporated into the SPMP.

Page 9: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 9

Project Management:Project Management: MetricsMetrics Metrics can be used to measure the size of

a product. These include: Lines of code (?!)Lines of code (?!) Thousand delivered source instructions (?!)Thousand delivered source instructions (?!) ……??

Page 10: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 10

Project Management:Project Management: MetricsMetrics However, the above metrics are dependent

on the language used, whether executable or comments should be counted and not all source code is delivered to the client.

Page 11: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 11

Project Management ToolsProject Management Tools Well-known management tools are Critical Path Critical Path

MethodMethod (CPM) and Program Evaluation Program Evaluation Report techniqueReport technique (PERT).

These tools are used to assist in the planning phase.

This can determine which activities are critical and may delay the project if not completed on time.

Page 12: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 12

Basic Project Management Scheduling Basic Project Management Scheduling

TechniquesTechniques There are different types of schedules. Some of the basic ones are Gantt chartsGantt charts,

CPMCPM and PERTPERT types.

Page 13: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 13

Gantt ChartsGantt Charts Gantt chartsGantt charts is the typical method of

scheduling construction projects. The primary limitation of this technique, as

is outlined in literature is its inability to direct attention to the interrelationships and interdependencies among the activities.

Page 14: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 14

Gantt ChartsGantt Charts

Page 15: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 15

Critical Path MethodCritical Path Method CPM typeCPM type is based on the Critical Path Method. This type looks for the schedule with

minimum cost in a definite period of time in the case where the cost is associated with each activity.

Time is a resource. The resource allocation problem is to

allocate time among project tasks.

Page 16: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 16

Critical Path Method …& SE ..Critical Path Method …& SE ..??!??!

AA

BB

CC

DD

EE

FF

VV

10

1515

20

10

1010

10

1010

55

1515

ABEV 30 ACDFVACDFV 5050

ACDV 30 ADFV 45

ADEV 35

Page 17: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 17

Program Evaluation Review TechniquesProgram Evaluation Review Techniques

PERT typePERT type, which is based on the Program Evaluation Review Techniques, looks for the schedule, which minimises the objective function such as project time (total elapsed time).

That is, it determines the start and completion times of each activity.

Page 18: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 18

CPM & PERTCPM & PERT Both techniques CPMCPM and PERTPERT use network

methods to assist in project management and to overcome the interrelationship limitation in Gantt charts.

Both these techniques CPMCPM && PERTPERT identify a project critical path whose activities could not be delayed, and also indicate slack activities that could be somewhat delayed without lengthening the project completion time.

Page 19: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 19

CPMCPM & & PERTPERT: : DifferenceDifference CPM and PERT have the underlying

difference. From its origin viewpoint, the CPMCPM technique was developed for constructionconstruction projects, while PERTPERT was elaborated for research and developmentresearch and development projects.

Page 20: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 20

CPMCPM

In the construction industryconstruction industry, prior experience with similar projects can be used to predict time estimates for projects within a relatively tight range.

In the CPM method the expected activity time is a single point estimatesingle point estimate that assumes certainty: each activity is considered of exact fixed length. That is, CPM assumes that time is predictable or deterministicpredictable or deterministic.

Page 21: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 21

PERTPERT However, with researchresearch and development development

projectsprojects, a great deal of uncertainty is associated with time estimates because no previous similar experience exists and precise time estimates are not available.

PERT assumes the time estimate for an activity lies within the range of earliest time and latest time.

Page 22: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 22

PERT PERT [Gray, 1981]

PERT uses three time estimatesthree time estimates (optimistic, most likely, and pessimistic) to compute the average or expected time.

PERT offers a way of dealing with random variationrandom variation and considers each activity stochasticstochastic in that variability is allowed in each activity.

Page 23: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 23

PERT PERT [Plekhanova, 1998; Plekhanova 2000]

It should be pointed out, that PERT was developed for researchresearch and development development projectsprojects, which consist of cognitive taskscognitive tasks.

However, PERT is not concerned with the specific character of cognitive tasks.

Page 24: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 24

CPM & PERTCPM & PERT PERT&CPM have been found to be

useful in project management to provide efficient resource scheduling. In particular, PERT&CPM identify the critical jobs, which control the project completion date.

Moreover, the application of these tools reduces the degree of scheduling errors and, hence, increases the cost savings.

Page 25: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 25

CPM & PERTCPM & PERT However, as mentioned in project

management literature, the actual savings derived from using PERT&CPM methods are difficult to identify and measure precisely.

Page 26: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 26

Note that [Plekhanova 2000]…

existing project management scheduling tools are concerned with a problem of resource availability and utilisationresource availability and utilisation, not with capability and compatibility of project resources.

There is, therefore, an assumption that the quality of project resources does not have an impact on project scheduling and task performance.

Page 27: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 27

Paradox !!!! Paradox !!!! [[Plekhanova 2000]

We have a paradoxical situation, in that contemporary project management approaches (both mathematical and heuristic based) cannot be sufficiently employed in complex situations [Gray, 1981] and, yet, they are used for complex situations in practice.

Page 28: Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK cs0vpl/SE-Com185.htm

Lecture 4 Valentina Plekhanova 28

Management is a human activity !Management is a human activity ! It is important to notice that although there

are many project management (scheduling) tools, use of them does not guarantee success.

Management is a human activity and Management is a human activity and project success depends on the competence project success depends on the competence of management.of management.