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 02 03 04 05 06

The Problem Agile Response Scrum eXtreme Programming Agile Scientific Research Conclusions

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

2

Agile Methods
The Problem

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

3

01 The Problem
Fast Moving Market

Business Environment

2001 2002 2003 2004 2005 2006 2007

 

Boost Innovation Forge the Future Workforce Culture

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

4

01 The Problem  Changes — — Requirements Technology Environment Requirements Scope unstable chaos complexity Technology  stable simple known New Paradigm Technology AGILE Cost Value Driven unknown TRADITIONAL FIX Requirements Plan Driven Date ESTIMATE Cost Date Features TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.A. Unipersonal 5 . S.

A. S. Unipersonal 6 .01 The Problem Summary  The market demands and expects — — — — innovative high-quality software that meets its needs and soon TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.

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

S.A. Unipersonal 8 .02 Agile Response Market Needs EMBRACING CHANGE Traditional Cost of Change Agile Time TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.

Unipersonal Caso de Uso Clases Análisis Clases de Diseño Código Componentes •Ejecutables •Librerias Traceability 9 .02 Agile Response What is software development? Is a process of knowledge transformation Software Problem Need Software Developer Knowledge Transformation Mental Creative  Human TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.A. S.

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 © 2008 Telefónica Investigación y Desarrollo.A. Unipersonal 10 . S.

agilemanifesto.A. S. while there is value in the items on the left. we value the items on the right more.org That is.02 Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Unipersonal 11 . Through this work we have come to value: Important processes and tools comprehensive documentation contract negotiation following a plan More Important individuals and interactions working software customer collaboration responding to change www. TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.

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

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

02 AGILE Iterative vs YouWaterfall learn as you work Software Software Software Focus In Executable Software Iteration1 Release1 Iteration2 You can't know everything at the beginning Release2 Iteration3 Release3 Requirements WATERFALL Analysis&Design Implementation Testing Architecture Requirements Paperware Soft-NOTaware Deployment … TELEFÓNICA I+D 14 © 2008 Telefónica Investigación y Desarrollo.A. Unipersonal . S.

Waterfall Softwar e Softwar e Softwar e You learn as you work Adaptive Management Focus In Executable Software Iteration1 Release1 Iteration2 You can't know everything at the beginning Release2 Iteration3 Release3 Requirements what method fits me best? Paperwa re Soft-NOTaware Implementation Testing Architecture Requirements WATERFALL Analysis&Design Predictive Management Deployment … TELEFÓNICA I+D 15 © 2008 Telefónica Investigación y Desarrollo. S.A. Unipersonal .02 AGILE Iterative vs.

Unipersonal 16 . S.02 Why Iterative Development? Iterations help acquiring knowledge Risk Estimation Error knowledge Of both the problem and the solution Time Iterations Short term is easier to predict and estimate rather than long term TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.A.

Team uses specific engineering practices to keep the code base fresh and flexible. Teams are self-managing. The phases in each iteration are nearly concurrent. TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.A. S.02 What makes a development process Agile? Each iteration delivers working software. Lean principles and techniques eliminate waste whenever possible. Unipersonal 17 .

Increased quality. motivated and self organizing Teams. Unipersonal 18 . Business alignment.02 Why adopt Agile processes?        Reduced time-to-market.A. TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo. High visibility and control over the project progress. Reduces product and process waste. Increased innovation. Empowered. S.

Specialists have to pick up new skills. or at least weakened. and managers must learn to let them. Teams must learn to self-manage. S.02 What kind of change is required to adopt Agile?   Larger teams must be broken into smaller ones. Unipersonal 19 .A. Routine activities have to be automated. Functional silos have to be broken down.    TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.

02 Where is Agile most suitable?  Projects with some degree of uncertainty around requirements or technology. business stakeholders. Collocated project teams and business customers. and management. Projects that aren’t too big or too small. Unipersonal 20 . Projects with buy-in from team members. Projects using modern languages and tools.A. S.     TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.

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

02 How to use 37 % 72 % 23 % 12 % 9% 5% Scrum Custom/ TELEFÓNICA I+D Hybrid Scrum/ DSDM XP Hybrid XP Pilot experience in Telefónica I+D The State of Agile Development. Julio 2007Other Version One 22 © 2008 Telefónica Investigación y Desarrollo.A. S. Unipersonal .

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

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

A. S. Unipersonal 25 .03 SCRUM: Planning Iterations Product Backlog Iteration 1 Iteration 2 Iteration 3 Use Cases Implemented Risk Addressed Assessment & Planning Next TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.

03 SCRUM: Framework 3 — — — ROLES Product Owner Team Scrum Master 3 — — — BACKLOGS Product Backlog Sprint Backlog Impediments Backlog 4 — — — — EMPIRICAL PROCESS CONTROL    MEETINGS Sprint Planning Daily Meeting Sprint Review Retrospective Transparency Inspect Adapt 26 TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo. S.A. Unipersonal .

03 SCRUM: Workflow SPRI NT 0 Vision Estimation Meeting Product Backlog Sprint Planning (I) Selected Product Backlog Sprint Planning (II) Sprint Backlog SPRI NT ¿Hec ¿Pen ho? dien ¿Trab te? as? Daily Meeting Retrospect ive Increment Sprint Review Impediments Backlog TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo. S. Unipersonal 27 .A.

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

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

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

04 XP. Unipersonal COURAGE 31 . S. Values & Practices COMMUNICATION Test-Driven Development SIMPLICITY Pair Programming Stub out code Watch test fail Refactoring Get test to pass Repeat Refactor Simple Design FEEDBACK TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.A.

S. Values & Practices COMMUNICATION On–site Customer SIMPLICITY Open Workspace Acceptance Tests Test-Driven Developmen t Collective Ownership Pair Programming Coding Standard User Stories One Team Refactoring Retrospective Continuous Integration Simple Design Iterations Metaphor Sustainable Pace Release Plan Small Releases FEEDBACK COURAGE TELEFÓNICA I+D 32 © 2008 Telefónica Investigación y Desarrollo. Unipersonal .A.04 XP.

A. S.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 © 2008 Telefónica Investigación y Desarrollo. Unipersonal 33 .

04 XP: Employment Practices Agile Practices The State of Agile Development. July 2007Version One TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo. Unipersonal 34 .A. S.

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

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

A. Unipersonal 37 . S.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 © 2008 Telefónica Investigación y Desarrollo.

value more those that have less cost (Occam´s Razor)  In the iteration planning re-evaluate general hypothesis 38 TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.A. Unipersonal . S.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.

Unipersonal 39 . S.A.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 © 2008 Telefónica Investigación y Desarrollo.

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

Unipersonal 41 .A. performance. S. quality running tested stories that meet the business need in a predictable. running. and help researchers accomplish goals in a timely fashion To deliver high quality.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. efficient and predictable collaborative manner — on time. on budget! TELEFÓNICA I+D © 2008 Telefónica Investigación y Desarrollo.

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

Sign up to vote on this title
UsefulNot useful