introduction successful software projects require – careful planning – good use of iterative...

29
INTRODUCTION Successful software projects require –Careful planning – Good use of iterative approaches. –Understanding Risks – Assigning ressources – Defining work structure

Upload: preston-franklin

Post on 16-Dec-2015

219 views

Category:

Documents


4 download

TRANSCRIPT

INTRODUCTION

Successful software projects require –Careful planning – Good use of iterative approaches.–Understanding Risks– Assigning ressources– Defining work structure– Balancing the budget

Project Management - Outline

Defining the Project Manager Role– The Project Manager– The Project Artifacts and Milestones

–Planning Projects

–Managing Iterations

–Managing Risks

Project Manager Role

–Plan and control all the activities

– Identify and solves problems early

–Decide on the tradeoffs ;

–Optimizes the performance of individual activities

Plan

• Specify goal and objectives

• Strategies

• Policies

• Plans (Task assign , schedule. etc)

• Procedures

Control (ensure Evrything OK)

• Using measurable objectives

• How far to completion

• Budget

• Quality

• Effect of change

• Team performance

• Taking corrective actions

• Redirecting the team towards original plan

• Modifying the original plan

Plans and Controls

Start1/97

LCO3/97

Build #

1

Build #

2

5/97

LCS5/97

IOC12/97

2/984/97

Planning

Completed(% of total)

100

75

50

25

Inception

ElaborationConstructionTransition

Controlling

Managing ExpectationsWhy manage expectations?

1. People are not perfect.

2. People are not logical.

3. People perceive things differently.

4. Software engineers are people too.

5. Things happen.

Gause & Weinberg, 1989

A new car!

A new car!

Project management

• A set of activities based on the iterations• Risks are evaluated• Project plan is dev (many iterations)• Iteration plan is drawn up , updated , revisited

before the start of the next iteration

Project Management Discipline

SoftwareDevelopment

Plan

MeasurementPlan

Project PlanningReviewReviewer

WorkOrder

Project Manager

DevelopMeasurement

Plan

Plan Phasesand Iterations

Risk List

Software Development Plan

Project Manager Software

Development Plan

Measurement Plan

ProjectPlanRisk List

UPEDU GUIDELINE: Project PlanUPEDU GUIDELINE: Risk list

Responsible for putting together , monitoring and updating the software dev plan. (content likely change drasttically throughout the project )

Each iteration : • requirement ,• analysis and Design, • implementation , • testing ,• project management • Software configuration • Change management

Manager must define milestones (end of each iteration , end of each phase) to steer the progress of the project activities( enable to decide wheather OK , abortion or change should be done.

Major Milestones : progress !

Inception Elaboration Construction Transition

Commit resources for the elaboration phase

Lifecycle Objective Milestone

Commit resources for construction

Lifecycle Architecture Milestone

Product sufficiently mature for customers

Initial Operational End product Milestone

Customer acceptanceor end of life

Product ReleaseTo the customer

time

Project Management - Outline

•Defining the Project Manager Role

•Planning Projects

– Project Organization– The Planning strategies– The Project Plan Artifact

•Managing Iterations

•Managing Risks

Project organization is influenced by many factors:

• The Size of the Software Development Effort– Formality, Standards, Process Rigidity.

• The Degree of Novelty – First of its Kind, Evolution Cycle, Maintenance

• Type of Application– Mission-critical, Performance, Memory constraints,

• The Current Development Process– Process Maturity, Experience of the Developers and Managers

• Organizational Factors – Team attitudes toward changes, Team enthusiasm toward the project

• Technical and Managerial Complexity– Size of the team vs size of the project

Planning strategies -

Top-Down• Begins understanding general req and

constraints.• Then derives a macro-level budget and schedule

and decompose this into lower-level budgets and intermidiate milestones

Bottom-up• Analysis of the micro-level budgets and schedules• Add all the elements – high level budget and

intermediate milestones.

Top-down and Bottom-up- Project Plan

Current

Iteration Plan

Phases and major milestones What and when

Project Plan

Iterations for each phase Number of iterations Objectives DurationStaffing profile

Fine-Grained PlansIntra iteration

Coarse-Grained PlanInter iteration

Next

TasksAllocation to individuals/teamsMajor builds

Project Plan

Project Plan

Iteration Plan

4/02

Start1/02

Proposal3/02

5/02

LCA7/02

IOC12/02

2/034/02

IT1 IT2

ArchitectureReview

ProjectPlanning

ß1 ß2 ProductRelease

IT3 IT4 IT5

DesignReview

Build#1

Build#2

Bar / Gantt Chart Sample

25 01 08 15 22

Jan07

29 05 12 19

Feb07

26 05 12 19

Mar07

26 02 09 16 23

Apr07

30 07 14 21

May07

28 04

Jun07Status Date: 02/Mar/2007

WBS Description

Sample Project Plan

1 Literature Search

2 Concepts Development

3 Lab Models

4 Design

5 Prototype

Planned Progress

Actual Progress

Ahead of Schedule

Behind Schedule

Time Now

Completed Task

Typical project contains info about

Work Structure : (WBS) project breaks to manageable tasks Schedule: the act of assessing the level of effort and ressources required Budget : allocate a certain cost to each activity in the WBS

Resource

Paul

Mary

Joe

Sylvia

Stefan

Role

Designer

Use-Case Specifier

System Analyst

Implementer

Architect

Activities

Define Operations

Detail a Use Case

Find Actors and Use Cases

Perform Unit Tests

Identify Design Mechanisms

$$$

Project Management - Outline•Defining the Project Manager Role•Planning Projects

•Managing Iterations

– The Definition of an Iteration– Scope on an Iteration– Iteration assessment

•Managing Risks

Managing iterations• Best way of structuring software dev project is

through an evolutionary dev plan (iterations )• Project manager must divide and organize the

sequence of iterations according to specific objectives.

• Each iteration will have its share of requirements(objectives) , activities and risks.

• After completing an iteration, manager may find that previously identified risks are no more risks or new ones crop up.

• Should mitigate as many risks as possible

Project Management

Engineering Workflow

Implementation

Test

Analysis & Design

Process Disciplines

Supporting Workflows

Config. & Change Mgmt

Requirements

Elaboration TransitionInception Construction

Iterations

An iteration

Scope of an Iteration depends on Factors

• How many iterations should be included in the project plan?

• How long should each iteration take to plan?– Depends on a number of factors:

• Size of the system being built: The larger the system, the longer the duration.• Number of people: The larger the number of people, the longer the duration.

(overhead for planning the work)

Low 3 0 1 1 1

Typical 6 1 2 2 1

High 9 1 3 3 2

Total I E C T

UPEDU Concept: ITERATION

Progress

Stability

Modularity

Quality

Maturity

Expenditures

Objective evaluation-Metrics

Size and complexity

Rate of change in the project’s complexity or size

Scope of change

Number of errors

Frequency of errors

Project expenditures against plan

Metric Meaning

Iteration assessment – using metrics

Difficult to assess the whole project. One approach is to assess a project at each iteration.

Manager must continuously (meatings) assess progress and risks to prevent any difficulties

Successful iteration : risks reduced as planned , all functionalities implemented , quality objective met

Project Management - Outline•Defining the Project Manager Role

•Planning Projects

•Managing Iterations

•Managing Risks

– Risk Definition– Risk Strategies– Risk Assessments

Managing risks

Manager must :

– have a knowledge of the risks to be present

– have a knowledge of the info that could be missing .

– Have clear strategi to mitigate them

– Deal with problems (unavailabe ressources , funding

of the project , scheduling)

Concepts Associated with Defining Risk

• Risk: – Information missing on a given subject

• Indirect risk:– Project has little or no control (client may lack financing , member may be

sick)

• Direct risk– Project has a large degree of control (inacurate scheduling , budget

shortage)

• Risk attributes:– Probability of occurrence

• Risk magnitude indicator:– High, Significant, Moderate, Minor, Low

UPEDU Concept: RISK

Risk Strategies-managing risks

Risk acceptancelive with it

Risk avoidancereorganize the project to eliminate the risk(remove non critical minor functionality )

Risk mitigation ( through tests and prototypes) reduce the probability or impact

Risk contingency (as result of a failure to mitigate) plan “Plan B” (ex : new iteration)

Risk transfer sub-contract the risk

Risk Strategies are needed to be deployed once risks are identified and classified

Risks assesments

• Monitoring through objective measurements should be

done throughout the software dev life cycle.

• For every risk identified , its probability of occurence as

well as its impact on the project must be established

• Mitigating and contingency strategies must be devised

• Keep up to date the risk list throughout the project