why iterative software project management matters
DESCRIPTION
TRANSCRIPT
Why Iterative Software
Project Management
Matters
Hermano Moura
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
Friday, October 8, 2010
e-Construction Group, UMD, College Park, USA