why iterative software project management matters

45
Why Iterative Software Project Management Matters Hermano Moura [email protected] Friday, October 8, 2010 e-Construction Group, UMD, College Park, USA

Upload: hermano-perrelli

Post on 14-Dec-2014

1.333 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Why iterative software project management matters

Why Iterative Software

Project Management

Matters

Hermano Moura

[email protected]

Friday, October 8, 2010

e-Construction Group, UMD, College Park, USA

Page 2: Why iterative software project management matters

objective

introduction of iterative software development projects, showing

how project managers can how project managers can organize and manage such

projects.

Page 3: Why iterative software project management matters

agenda

• software & software development projects

• software life cycle models

• iterative model for software development

• unified framework to software project • unified framework to software project

management – RUP

• iterative nature of agile methodologies

Page 4: Why iterative software project management matters

software

Page 5: Why iterative software project management matters

What is a

SOFTWARE SOFTWARE

PROJECT?

Page 6: Why iterative software project management matters

SOFTWARE DEVELOPMENT

Page 7: Why iterative software project management matters

7

Page 8: Why iterative software project management matters

The Software Project

• According to Walker Royce, the best feature-related software is also the worst: its flexibility (Royce 1998).

• The feature that allows the software to become "almost anything" makes it difficult to plan, "almost anything" makes it difficult to plan, monitor and control software development (d´Anunciação 2009).

• The management of software projects, in turn, has unique characteristics due to the peculiarity of the resulting product of these projects.

Page 9: Why iterative software project management matters

software

process

x

softwaresoftware

management

process

Page 10: Why iterative software project management matters

Project Management Models

Page 11: Why iterative software project management matters

The Software Production Process

• the software production process on two aspects:– the technical (or engineering of the product) and

– the management (software project management).

• Like the technical aspect, software management has received much attention in the development has received much attention in the development of new approaches, methods, techniques and education of people.– Software Engineering textbooks with better and

increasing content on software project management.

– Processes – such as RUP and Scrum – bring explicitly support to management aspects.

Page 12: Why iterative software project management matters

How to

developdevelop

software?

Page 13: Why iterative software project management matters

Software Disciplines

• Requirements

• Analysis & Design

• Implementation (Programming/Coding)

• Test• Test

• Deployment

• ...

Page 14: Why iterative software project management matters

Software Management Disciplines

• Project Management

• Configuration and Change Management

• ...

Page 15: Why iterative software project management matters

Software Development Life Cycle

Models

• Brute force, code and fix, nike-way

• Waterfall

• Spiral

• Iterative

15

• Iterative

Page 16: Why iterative software project management matters

Waterfall Model

Page 17: Why iterative software project management matters

Waterfall development delays risk

mitigation

integration

starts

100%

pro

ject

pro

gre

ssco

din

g)

17

time

pro

ject

pro

gre

ss(%

co

din

g

deadline

original

Source: Software Project Management, Walker Royce

Page 18: Why iterative software project management matters

Bohem´s Spiral Model

Page 19: Why iterative software project management matters

Iterative Model

• Iterative application of the waterfall model

• Initial iterations treat the biggest risks

Req Req Req

19

Req

A&D

Imp

T

Dep

Iteration 1

Req

A&D

Imp

T

Dep

Iteration 2

Req

A&D

Imp

T

Dep

Iteration 3

time

Page 20: Why iterative software project management matters

Iterative development anticipates risk

mitigation

100%

pro

ject

pro

gre

ssco

dn

ig)

Waterfall

Iterative

life cycle

20

time

pro

ject

pro

gre

ss(%

co

dn

ig

Source: Software Project Management, Walker Royce

llfe cycle

original

deadline

Page 21: Why iterative software project management matters

Internet Banking System

• Functionalities:– F1: User Login

– F2: Change Password

– F3: Display Balance

– F4: Display Statement–

– F5: Display Credit Card Statement

– F6: Pay Credit Carde Bill

– F7: Make Transfer

– F8: Make Transfer to other Bank

– F9: Display Check Statement

– F10: Order Checkbook

– F11: Unblock Checkbook

Page 22: Why iterative software project management matters

Internet Banking System :: UML Use

Case Diagram

Solicitar taloes de cheque

Desbloquear taloes de cheque

Efetuar Login

Alterar senha

Consultar saldo

22

Operadora do DOC

Operadora cartao de crédito

Realizar transferencia

Consultar cheques

Consultar extrato

Consultar Qualiti CardRealizar DOC

Efetuar pagamento do Qualiti Card

Cliente

Page 23: Why iterative software project management matters

RUPRational UnifiedRational Unified

Process

Page 24: Why iterative software project management matters

RUP Main Characteristics

• Iterative and incremental

• Guided by use cases

• Based on the system’s architecture• Based on the system’s architecture

• Object oriented

24

Page 25: Why iterative software project management matters

RUP Phases

Inception Elaboration Construction Transition

Scope andprojectviability

Elimination ofcritical risksand stable

architecture

Productdevelopment

ready for beta testing

Deployment to user

environment

25

Page 26: Why iterative software project management matters

Phases and milestones

>>> Phases indicate system maturity! >>>

26

time

Inception Elaboration Construction Transition

milestones

scope architecture operation release

Page 27: Why iterative software project management matters

Phases & Iterations

Page 28: Why iterative software project management matters
Page 29: Why iterative software project management matters

Project Management Activities

Project

Manager

IdentifyRisks

Develop

Project Plan

Develop

Iteration Plan

Execute

Iteration Plan

Assess

IterationFinalize

Project

29

Manager

Reassess

Risks

Project

Software

Architect

Prioritize

Use

Cases

Source: Qualiti Software Processes.

Page 30: Why iterative software project management matters
Page 31: Why iterative software project management matters

Iteration

planning and planning and

risks

Page 32: Why iterative software project management matters

Risks and use cases (functionalities)

• Use case (functionality) development is used

to eliminate risks.

• A risk matrix facilitates the visualization of the

relationships between use cases relationships between use cases

(functionalities) and risks.

32

Page 33: Why iterative software project management matters

Risk Matrix

UC 1 UC 2 UC 3 UC 4

Risk X �

Risk Y � �

Risk Z �

33

Page 34: Why iterative software project management matters

Risks and Iterations

Risk List

Iteration

34

IterationPlanning & Execution

RiskElimination

Page 35: Why iterative software project management matters

Moura’s Cylinder for Software Projects

F3

F1

F2Fn

FnF3

F2

F1

F1

F2

F6

Requirements Analysis & Design Implementation Test© UFPE, Hermano Perrelli de Moura

Page 36: Why iterative software project management matters

iterative nature of agile methodologiesagile methodologies

Page 37: Why iterative software project management matters

Do not plan,

build!build!

Page 38: Why iterative software project management matters

Source: targetprocess.com

Page 39: Why iterative software project management matters

Releases and Iterations in XP

Release 2

Release 3

functionalities

iteration

Release 1

time

functionalities

Page 40: Why iterative software project management matters

Iterations in Scrum

Page 41: Why iterative software project management matters

FINAL REMARKS

Page 42: Why iterative software project management matters

Iterative Software Development

• Testing and integration are performed from the beginning, in a continuous manner

• Critical risks are resolved before major investments are made

• Allows user feedback at early stages• Allows user feedback at early stages

• Small goals, focus on short-term

• More concrete progress measurement

• Partial implementations can be deployed

• Used in predictive and adaptive software methodologies

Page 43: Why iterative software project management matters

References

• d´Anunciação, Gustavo. Análise e extensão do RationalUnified Process com relação à ênfase na criação de valor. Dissertação de Mestrado, Universidade Federal de Pernambuco, Centro de Informática, 2009.

• Highsmith, Jim. Agile project management: creating • Highsmith, Jim. Agile project management: creating innovative products. Addison-Wesley. 2009.

• Kruchten, Phillipe. The Rational Unified Process: AnIntroduction. Addison-Wesley. 2003.

• Royce, Walker. Software Project Management: A Unified Framework. Addison-Wesley. 1998.

Page 44: Why iterative software project management matters
Page 45: Why iterative software project management matters

Why Iterative Software Project

Management Matters

Hermano MouraHermano Moura

[email protected]

[email protected]

Friday, October 8, 2010

e-Construction Group, UMD, College Park, USA