why iterative software project management matters

Post on 14-Dec-2014

1.333 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Why Iterative Software

Project Management

Matters

Hermano Moura

hermano@umd.edu

Friday, October 8, 2010

e-Construction Group, UMD, College Park, USA

objective

introduction of iterative software development projects, showing

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

projects.

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

software

What is a

SOFTWARE SOFTWARE

PROJECT?

SOFTWARE DEVELOPMENT

7

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.

software

process

x

softwaresoftware

management

process

Project Management Models

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.

How to

developdevelop

software?

Software Disciplines

• Requirements

• Analysis & Design

• Implementation (Programming/Coding)

• Test• Test

• Deployment

• ...

Software Management Disciplines

• Project Management

• Configuration and Change Management

• ...

Software Development Life Cycle

Models

• Brute force, code and fix, nike-way

• Waterfall

• Spiral

• Iterative

15

• Iterative

Waterfall Model

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

Bohem´s Spiral Model

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

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

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

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

RUPRational UnifiedRational Unified

Process

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

RUP Phases

Inception Elaboration Construction Transition

Scope andprojectviability

Elimination ofcritical risksand stable

architecture

Productdevelopment

ready for beta testing

Deployment to user

environment

25

Phases and milestones

>>> Phases indicate system maturity! >>>

26

time

Inception Elaboration Construction Transition

milestones

scope architecture operation release

Phases & Iterations

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.

Iteration

planning and planning and

risks

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

Risk Matrix

UC 1 UC 2 UC 3 UC 4

Risk X �

Risk Y � �

Risk Z �

33

Risks and Iterations

Risk List

Iteration

34

IterationPlanning & Execution

RiskElimination

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

iterative nature of agile methodologiesagile methodologies

Do not plan,

build!build!

Source: targetprocess.com

Releases and Iterations in XP

Release 2

Release 3

functionalities

iteration

Release 1

time

functionalities

Iterations in Scrum

FINAL REMARKS

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

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.

Why Iterative Software Project

Management Matters

Hermano MouraHermano Moura

hermano@cin.ufpe.br

hermano@umd.edu

Friday, October 8, 2010

e-Construction Group, UMD, College Park, USA

top related