Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TELEFÓNICA I+D
Date: June 2008
01 The Problem
02 Agile Response
03 Scrum
04 eXtreme Programming
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
Boost Innovation
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
Value Driven
Plan Driven
TELEFÓNICA I+D
5
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 The Problem
Summary
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?
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
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
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
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
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
Time
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.
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.
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.
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
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
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
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
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”
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
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