You are on page 1of 42

Agile Methods in Research

Xavier Amatriain Rubio


Gemma Hornos Cirera

TELEFÓNICA I+D
Date: June 2008

© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal


Index

01 The Problem

02 Agile Response

03 Scrum

04 eXtreme Programming

05 Agile Scientific Research

06 Conclusions

TELEFÓNICA I+D
2
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Agile Methods
The Problem

TELEFÓNICA I+D
3
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 The Problem
Business Environment

Fast Moving
Market

2001 2002 2003 2004 2005 2006 2007

 Boost Innovation

 Forge the Future Workforce


Culture

TELEFÓNICA I+D
4
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 The Problem unstable chaos
Technology

Requirements
Environment
 Changes complexity
— Requirements
— Scope
Technology simple
stable
 New Paradigm known Technology unknown

TRADITIONAL AGILE

FIX Requirements Cost Date

Value Driven
Plan Driven

ESTIMATE Cost Date Features

TELEFÓNICA I+D
5
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 The Problem
Summary

 The market demands and expects


— innovative
— high-quality software
— that meets its needs
— and soon

TELEFÓNICA I+D
6
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Agile Methods
The Response

TELEFÓNICA I+D
7
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 Agile Response
Market Needs

EMBRACING
CHANGE
Traditional
Agile
Change
Cost of

Time

TELEFÓNICA I+D
8
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 Agile Response
What is software development?
Is a process of knowledge transformation

Software
Problem
Need
Software Developer

Knowledge Transformation

Mental
Creative 
Human Caso de Uso Clases Análisis Clases de Diseño Código Componentes
•Ejecutables
•Librerias

Traceability

TELEFÓNICA I+D
9
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 What is Agile?

Agile processes are iterative


processes that use specific project
management and software
engineering practices to sustain the
delivery of new software
functionality every one to four
weeks

TELEFÓNICA I+D
10
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 Agile Manifesto
We are uncovering better ways of developing software by
doing it and helping others do it. Through this work we
have come to value:
Important More Important
processes and tools individuals and interactions
comprehensive
working software
documentation
contract negotiation customer collaboration

following a plan responding to change


www.agilemanifesto.org

That is, while there is value in the items on the left, we


value the items on the right more.

TELEFÓNICA I+D
11
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 Agile Manifesto
We are uncovering better ways of developing software by
doing it and helping others do it. Through this work we
have come to value:
Important More Important
processes and tools individuals and interactions
comprehensive Only code 
working software
documentation
AGIL 
Creating and responding to change
contract negotiation customer collaboration
E:
following a plan responding to change
www.agilemanifesto.org

That is, while there is value in the items on the left, we


value the items on the right more.

TELEFÓNICA I+D
12
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 Agile Methods
 Scrum Inclusive
Rules
 eXtreme Programming (XP)
Generative
 Crystal Rules
 Feature Driven Development
 Dynamic Systems Development Method
 Adaptive Software Development
 Lean Development
 Pragmatic Programming

TELEFÓNICA I+D
13
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 Iterative vs
YouWaterfall
learn Software
as you
work Software Software
AGILE

Focus In Executable Software

Iteration1 Release1 Iteration2 Release2


Iteration3 Release3

You can't know


Requirements everything at
the beginning
WATERFALL

Analysis&Design Soft-NOT-
Paperware aware

Implementation

Testing

Architecture Deployment
Requirements

TELEFÓNICA I+D
14
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 Iterative vs. Waterfall
Softwar
You learn e
as you Softwar Softwar
work e e

Adaptive
AGILE

Management
Focus In Executable Software

Iteration1 Release1 Iteration2 Release2


Iteration3 Release3

what method fits me


You can't
know
Requirements best? everything at
the
beginning
WATERFALL

Paperwa Soft-NOT-
Analysis&Design
re aware

Implementation Predictive
Management
Testing

Architecture Deployment
Requirements

TELEFÓNICA I+D
15
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 Why Iterative Development?
Iterations help acquiring knowledge

Risk
knowledge

Estimation Error Of both the


problem and the
solution

Time

Short term is easier


Iterations
to predict and
estimate rather than
long term
TELEFÓNICA I+D
16
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 What makes a development process
Agile?
Each iteration delivers working software.

The phases in each iteration are


nearly concurrent.

Team uses specific engineering practices


to keep the code base fresh and flexible.

Teams are self-managing.

Lean principles and techniques eliminate


waste whenever possible.

TELEFÓNICA I+D
17
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 Why adopt Agile processes?
 Reduced time-to-market.

 Increased innovation.

 Business alignment.

 Increased quality.

 Reduces product and process waste.

 High visibility and control over the project progress.

 Empowered, motivated and self organizing Teams.

TELEFÓNICA I+D
18
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 What kind of change is required to
adopt Agile?
 Larger teams must be broken into smaller ones.

 Functional silos have to be broken down, or at least


weakened.

 Specialists have to pick up new skills.

 Teams must learn to self-manage, and managers must


learn to let them.

 Routine activities have to be automated.

TELEFÓNICA I+D
19
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 Where is Agile most suitable?
 Projects with some degree of uncertainty around
requirements or technology.

 Projects that aren’t too big or too small.

 Projects with buy-in from team members, business


stakeholders, and management.

 Collocated project teams and


business customers.

 Projects using modern languages


and tools.

TELEFÓNICA I+D
20
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 How widely are Agile processes
used?

TELEFÓNICA I+D
21
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
02 How to use

72
37 %
%

23
%

12
% 9%

5%
Pilot
experience in
Scrum Scrum/ XP
Telefónica I+D
Custom/ DSDM
The State of Agile Development. Julio 2007-
XP Hybrid Other
Version One
Hybrid
TELEFÓNICA I+D
22
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Agile Methods
Scrum

TELEFÓNICA I+D
23
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
03 SCRUM: Planning Iterations

Source mountaingoatsoftware.com

TELEFÓNICA I+D
24
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
03 SCRUM: Planning Iterations
Product Backlog

Iteration 1 Iteration 2 Iteration 3

Assessment &
Planning Next
Use Cases
Implemented
Risk Addressed

TELEFÓNICA I+D
25
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
03 SCRUM: Framework
3 ROLES
— Product Owner
— Team
— Scrum Master

3 BACKLOGS
— Product Backlog
— Sprint Backlog
— Impediments Backlog

4 MEETINGS
EMPIRICAL PROCESS
CONTROL — Sprint Planning
 Transparency — Daily Meeting
 Inspect — Sprint Review
 Adapt — Retrospective

TELEFÓNICA I+D
26
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
03 SCRUM: Workflow
SPRI
NT 0
Sprint Sprint
Selected
Vision Planning Product Planning
Product (I) Backlog (II)
Estimation Backlog
Meeting

Sprint
Backlog

SPRI
NT

¿Hec
Retrospect ¿Pen ho?
dien
ive ¿Trab te?
as? Daily Meeting
Increment

Sprint Review Impediments


Backlog

TELEFÓNICA I+D
27
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
03 SCRUM: Sprint Backlog DONE
What does
mean?

I MPEDED
PRIORITIY

TELEFÓNICA I+D
28
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
03 SCRUM: Reports
Sprint Burndown Chart
Remaining Time

days

TELEFÓNICA I+D
29
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Agile Methods
eXtreme Programming

TELEFÓNICA I+D
30
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
04 XP. Values & Practices COMMUNICATION SIMPLICITY

Test-Driven
Development

Pair Programming
Refactoring
Stub out code
Get test to pass Refactor
Watch test fail

Repeat
Simple Design

COURAGE
FEEDBACK

TELEFÓNICA I+D
31
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
04 XP. Values & Practices
COMMUNICATION SIMPLICITY
On–site Customer

Open Workspace
Acceptance Tests User Stories
Test-Driven
Developmen
t
Collective Coding
Ownership Standard

Pair
One Team Refactoring Retrospective
Programming

Continuous Sustainable
Integration Pace
Simple
Design
Iterations Release Plan
Metaphor

Small Releases
COURAGE
FEEDBACK
TELEFÓNICA I+D
32
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
04 XP: Planning/Feedback Loop
Release Plan

Iteration Plan

Acceptance Test

Stand Up Meeting

Pair Negotiation

Unit Test

Pair Programming

Code

TELEFÓNICA I+D
33
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
04 XP: Employment Practices
Agile Practices

The State of Agile Development. July 2007-


Version One

TELEFÓNICA I+D
34
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Agile Methods
Agile Scientific Research

TELEFÓNICA I+D
35
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
05 Agile Scientific Research
The Scientific Process

TELEFÓNICA I+D
36
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
05 Agile Scientific Research
The Scientific Process
 What does the scientific method share with Agile
Methodologies?
— Iterative
— Fast-changing requirements
— Test-driven (Hypothesis-driven)
— Pair-programming (Peer review)
— Simple Design (Occam´s Razor)
— …

TELEFÓNICA I+D
37
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
05 Agile Scientific Research
Planning iterations
 Iteration 0: build up general hypothesis
— List of “stories” -> things we would like to say in our final
article
– Optionally, write the article itself in this first iteration

 Every 1-2 weeks come up with a list of prioritized tasks


— List all possible tasks (ideally 1-2 day workload)
— Measure interest of the task towards final goal
— Measure cost in terms of predicted hours of work
— List them in order of priority value (= interest – cost)
– For ties, value more those that have less cost (Occam´s Razor)

 In the iteration planning re-evaluate general hypothesis

TELEFÓNICA I+D
38
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
05 Agile Scientific Research
Test Driven Development
 Plan stories and tasks by writing the tests first
— Use test as an “executable hypothesis”
– “If I can prove hypothesis H then it should happen that tests t1 and t2 should
pass”

— Maintain collection of tests as a record of experiments


— Use the red-green-refactor cycle
– Refactor to refine your theory while still being consistent to experimental data

TELEFÓNICA I+D
39
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Agile Methods
Conclusions

TELEFÓNICA I+D
40
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
06 Conclusions
 Scientific Research is an iterative process with fast
changing requirements
— It can be managed as an Agile project
— Many of the Agile practices are applicable
— Agile can help improve focus, performance, and help
researchers accomplish goals in a timely fashion

To deliver high quality,


quality running,
running
tested stories that meet the business
need in a predictable,
predictable efficient and
collaborative manner — on time, on
budget!

TELEFÓNICA I+D
41
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal

You might also like