Agile Methods in Research © 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal Xavier Amatriain Rubio Gemma Horn...
<ul><li>01 The Problem </li></ul><ul><li>02 Agile Response </li></ul><ul><li>03 Scrum   </li></ul><ul><li>04   eXtreme Pro...
Agile Methods  The Problem
The Problem  Business Environment 01 Fast Moving Market <ul><li>Boost Innovation </li></ul><ul><li>Forge the Future Workfo...
The Problem  Technology  Environment 01 <ul><li>Changes </li></ul><ul><ul><li>Requirements </li></ul></ul><ul><ul><li>Scop...
The Problem  Summary <ul><li>The market demands and expects  </li></ul><ul><ul><li>innovative </li></ul></ul><ul><ul><li>h...
Agile Methods  The Response
Agile Response Market Needs EMBRACING   CHANGE 02 Traditional Agile Time Cost  of  Change
What is software development? <ul><li>Mental </li></ul><ul><li>Creative  </li></ul><ul><li>Human </li></ul>Agile Response ...
What is Agile? Agile processes are  iterative processes  that use specific project management and software engineering pra...
Agile Manifesto That is, while there is value in the items on the left, we value the items on the right more. We are uncov...
Agile Manifesto That is, while there is value in the items on the left, we value the items on the right more. We are uncov...
Agile Methods <ul><li>Scrum </li></ul><ul><li>eXtreme Programming (XP) </li></ul><ul><li>Crystal </li></ul><ul><li>Feature...
Iterative vs Waterfall Soft-NOT-aware Software Software Software Paperware Focus In Executable Software You can't know eve...
Iterative vs. Waterfall Soft-NOT-aware Software Software Software Paperware Focus In Executable Software You can't know ev...
Why Iterative Development? knowledge Risk Iterations help acquiring knowledge Of both the problem and the solution Estimat...
What makes a development process  Agile ? Each  iteration  delivers  working software . The  phases  in each iteration are...
Why adopt Agile processes? <ul><li>Reduced  time-to-market. </li></ul><ul><li>Increased innovation.  </li></ul><ul><li>Bus...
What kind of change is required to adopt Agile? <ul><li>Larger teams must be broken into smaller ones. </li></ul><ul><li>F...
Where is Agile most suitable? <ul><li>Projects with some degree of uncertainty around requirements or technology. </li></u...
How widely are Agile processes used? 02
How to use The State of Agile Development. Julio 2007- Version One 72% Pilot experience in Telefónica I+D 02 Scrum  Scrum/...
Agile Methods  Scrum
SCRUM: Planning Iterations Source mountaingoatsoftware.com 03
SCRUM: Planning Iterations  Iteration 1 Iteration 2 Iteration 3 Product Backlog Assessment &  Planning Next Use Cases Impl...
SCRUM: Framework <ul><li>3 ROLES </li></ul><ul><ul><li>Product Owner </li></ul></ul><ul><ul><li>Team </li></ul></ul><ul><u...
SCRUM: Workflow 03 Sprint Planning (I) Selected  Product Backlog Sprint Planning (II) Increment Sprint Backlog Retrospecti...
SCRUM: Sprint Backlog PRIORITIY What does  DONE  mean? 03
SCRUM: Reports 03 Sprint Burndown Chart Remaining  Time days
Agile Methods  eXtreme Programming
XP.  Values & Practices 04 Simple Design Test-Driven Development Pair Programming Refactoring COMMUNICATION SIMPLICITY COU...
XP.  Values & Practices 04 COMMUNICATION SIMPLICITY COURAGE FEEDBACK Simple Design Test-Driven Development Pair Programmin...
XP: Planning/Feedback Loop 04 Code Pair Programming Unit Test Pair Negotiation Stand Up Meeting Acceptance Test Iteration ...
XP: Employment Practices The State of Agile Development. July 2007- Version One 04 Agile Practices
Agile Methods  Agile Scientific Research
Agile Scientific Research The Scientific Process 05
Agile Scientific Research The Scientific Process <ul><li>What does the scientific method share with Agile Methodologies? <...
Agile Scientific Research Planning iterations <ul><li>Iteration 0: build up general hypothesis </li></ul><ul><ul><li>List ...
Agile Scientific Research Test Driven Development <ul><li>Plan stories and tasks by writing the tests first </li></ul><ul>...
Agile Methods  Conclusions
Conclusions <ul><li>Scientific Research is an iterative process with fast changing requirements </li></ul><ul><ul><li>It c...
© 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Upcoming SlideShare
Loading in...5
×

Agile Science

3,882

Published on

Presentation about the basics of Agile Methodologies and how they can be applied to Scientific Research. This presentation later evolved into the Agile Research method. June 2008

Published in: Technology, Education
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,882
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
193
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

Agile Science

  1. 1. Agile Methods in Research © 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal Xavier Amatriain Rubio Gemma Hornos Cirera TELEFÓNICA I+D Date: June 2008
  2. 2. <ul><li>01 The Problem </li></ul><ul><li>02 Agile Response </li></ul><ul><li>03 Scrum </li></ul><ul><li>04 eXtreme Programming </li></ul><ul><li>05 Agile Scientific Research </li></ul><ul><li>06 Conclusions </li></ul>Index
  3. 3. Agile Methods The Problem
  4. 4. The Problem Business Environment 01 Fast Moving Market <ul><li>Boost Innovation </li></ul><ul><li>Forge the Future Workforce Culture </li></ul>2001 2002 2003 2004 2005 2006 2007
  5. 5. The Problem Technology Environment 01 <ul><li>Changes </li></ul><ul><ul><li>Requirements </li></ul></ul><ul><ul><li>Scope </li></ul></ul><ul><ul><li>Technology </li></ul></ul><ul><li>New Paradigm </li></ul>Technology Requirements known unknown stable unstable simple chaos complexity Requirements Cost Date Cost Date Features Plan Driven Value Driven FIX ESTIMATE TRADITIONAL AGILE
  6. 6. The Problem Summary <ul><li>The market demands and expects </li></ul><ul><ul><li>innovative </li></ul></ul><ul><ul><li>high-quality software </li></ul></ul><ul><ul><li>that meets its needs </li></ul></ul><ul><ul><li>and soon </li></ul></ul>01
  7. 7. Agile Methods The Response
  8. 8. Agile Response Market Needs EMBRACING CHANGE 02 Traditional Agile Time Cost of Change
  9. 9. What is software development? <ul><li>Mental </li></ul><ul><li>Creative </li></ul><ul><li>Human </li></ul>Agile Response Is a process of knowledge transformation Software Problem Need Software Developer 02 Traceability Knowledge Transformation
  10. 10. 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 02
  11. 11. Agile Manifesto That is, while there is value in the items on the left, we value the items on the right more. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: 02 More Important Important individuals and interactions processes and tools working software comprehensive documentation customer collaboration contract negotiation responding to change following a plan www.agilemanifesto.org
  12. 12. Agile Manifesto That is, while there is value in the items on the left, we value the items on the right more. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: 02 More Important Important individuals and interactions processes and tools working software comprehensive documentation customer collaboration contract negotiation responding to change following a plan www.agilemanifesto.org AGILE :  Only code  Creating and responding to change
  13. 13. Agile Methods <ul><li>Scrum </li></ul><ul><li>eXtreme Programming (XP) </li></ul><ul><li>Crystal </li></ul><ul><li>Feature Driven Development </li></ul><ul><li>Dynamic Systems Development Method </li></ul><ul><li>Adaptive Software Development </li></ul><ul><li>Lean Development </li></ul><ul><li>Pragmatic Programming </li></ul>02 Inclusive Rules Generative Rules
  14. 14. Iterative vs Waterfall Soft-NOT-aware Software Software Software Paperware Focus In Executable Software You can't know everything at the beginning You learn as you work WATERFALL AGILE 02 Requirements Analysis&Design Implementation Testing Deployment Architecture Requirements … Iteration1 Iteration2 Iteration3 Release1 Release2 Release3
  15. 15. Iterative vs. Waterfall Soft-NOT-aware Software Software Software Paperware Focus In Executable Software You can't know everything at the beginning You learn as you work WATERFALL AGILE Adaptive Management Predictive Management what method fits me best? 02 Requirements Analysis&Design Implementation Testing Deployment Architecture Requirements … Iteration1 Iteration2 Iteration3 Release1 Release2 Release3
  16. 16. Why Iterative Development? knowledge Risk Iterations help acquiring knowledge Of both the problem and the solution Estimation Error Short term is easier to predict and estimate rather than long term Time Iterations 02
  17. 17. 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. 02
  18. 18. Why adopt Agile processes? <ul><li>Reduced time-to-market. </li></ul><ul><li>Increased innovation. </li></ul><ul><li>Business alignment. </li></ul><ul><li>Increased quality. </li></ul><ul><li>Reduces product and process waste. </li></ul><ul><li>High visibility and control over the project progress. </li></ul><ul><li>Empowered, motivated and self organizing Teams. </li></ul>02
  19. 19. What kind of change is required to adopt Agile? <ul><li>Larger teams must be broken into smaller ones. </li></ul><ul><li>Functional silos have to be broken down, or at least weakened. </li></ul><ul><li>Specialists have to pick up new skills. </li></ul><ul><li>Teams must learn to self-manage, and managers must learn to let them. </li></ul><ul><li>Routine activities have to be automated. </li></ul>02
  20. 20. Where is Agile most suitable? <ul><li>Projects with some degree of uncertainty around requirements or technology. </li></ul><ul><li>Projects that aren’t too big or too small. </li></ul><ul><li>Projects with buy-in from team members, business stakeholders, and management. </li></ul><ul><li>Collocated project teams and business customers. </li></ul><ul><li>Projects using modern languages and tools. </li></ul>02
  21. 21. How widely are Agile processes used? 02
  22. 22. How to use The State of Agile Development. Julio 2007- Version One 72% Pilot experience in Telefónica I+D 02 Scrum Scrum/ XP Custom/ DSDM XP Hybrid Other Hybrid 37% 23% 12% 9% 5%
  23. 23. Agile Methods Scrum
  24. 24. SCRUM: Planning Iterations Source mountaingoatsoftware.com 03
  25. 25. SCRUM: Planning Iterations Iteration 1 Iteration 2 Iteration 3 Product Backlog Assessment & Planning Next Use Cases Implemented Risk Addressed 03
  26. 26. SCRUM: Framework <ul><li>3 ROLES </li></ul><ul><ul><li>Product Owner </li></ul></ul><ul><ul><li>Team </li></ul></ul><ul><ul><li>Scrum Master </li></ul></ul><ul><li>3 BACKLOGS </li></ul><ul><ul><li>Product Backlog </li></ul></ul><ul><ul><li>Sprint Backlog </li></ul></ul><ul><ul><li>Impediments Backlog </li></ul></ul><ul><li>4 MEETINGS </li></ul><ul><ul><li>Sprint Planning </li></ul></ul><ul><ul><li>Daily Meeting </li></ul></ul><ul><ul><li>Sprint Review </li></ul></ul><ul><ul><li>Retrospective </li></ul></ul><ul><li>EMPIRICAL PROCESS CONTROL </li></ul><ul><li>Transparency </li></ul><ul><li>Inspect </li></ul><ul><li>Adapt </li></ul>03
  27. 27. SCRUM: Workflow 03 Sprint Planning (I) Selected Product Backlog Sprint Planning (II) Increment Sprint Backlog Retrospective Sprint Review Estimation Meeting Vision SPRINT 0 Impediments Backlog Daily Meeting ¿Hecho? ¿Pendiente? ¿Trabas? SPRINT Product Backlog
  28. 28. SCRUM: Sprint Backlog PRIORITIY What does DONE mean? 03
  29. 29. SCRUM: Reports 03 Sprint Burndown Chart Remaining Time days
  30. 30. Agile Methods eXtreme Programming
  31. 31. XP. Values & Practices 04 Simple Design Test-Driven Development Pair Programming Refactoring COMMUNICATION SIMPLICITY COURAGE FEEDBACK Stub out code Watch test fail Refactor Repeat Get test to pass
  32. 32. XP. Values & Practices 04 COMMUNICATION SIMPLICITY COURAGE FEEDBACK Simple Design Test-Driven Development Pair Programming Refactoring Open Workspace Collective Ownership Continuous Integration Metaphor Sustainable Pace Coding Standard Acceptance Tests One Team Iterations Small Releases Release Plan Retrospective User Stories On–site Customer
  33. 33. XP: Planning/Feedback Loop 04 Code Pair Programming Unit Test Pair Negotiation Stand Up Meeting Acceptance Test Iteration Plan Release Plan
  34. 34. XP: Employment Practices The State of Agile Development. July 2007- Version One 04 Agile Practices
  35. 35. Agile Methods Agile Scientific Research
  36. 36. Agile Scientific Research The Scientific Process 05
  37. 37. Agile Scientific Research The Scientific Process <ul><li>What does the scientific method share with Agile Methodologies? </li></ul><ul><ul><li>Iterative </li></ul></ul><ul><ul><li>Fast-changing requirements </li></ul></ul><ul><ul><li>Test-driven (Hypothesis-driven) </li></ul></ul><ul><ul><li>Pair-programming (Peer review) </li></ul></ul><ul><ul><li>Simple Design (Occam´s Razor) </li></ul></ul><ul><ul><li>… </li></ul></ul>05
  38. 38. Agile Scientific Research Planning iterations <ul><li>Iteration 0: build up general hypothesis </li></ul><ul><ul><li>List of “stories” -> things we would like to say in our final article </li></ul></ul><ul><ul><ul><li>Optionally, write the article itself in this first iteration </li></ul></ul></ul><ul><li>Every 1-2 weeks come up with a list of prioritized tasks </li></ul><ul><ul><li>List all possible tasks (ideally 1-2 day workload) </li></ul></ul><ul><ul><li>Measure interest of the task towards final goal </li></ul></ul><ul><ul><li>Measure cost in terms of predicted hours of work </li></ul></ul><ul><ul><li>List them in order of priority value (= interest – cost) </li></ul></ul><ul><ul><ul><li>For ties, value more those that have less cost (Occam´s Razor) </li></ul></ul></ul><ul><li>In the iteration planning re-evaluate general hypothesis </li></ul>05
  39. 39. Agile Scientific Research Test Driven Development <ul><li>Plan stories and tasks by writing the tests first </li></ul><ul><ul><li>Use test as an “executable hypothesis” </li></ul></ul><ul><ul><ul><li>“ If I can prove hypothesis H then it should happen that tests t1 and t2 should pass” </li></ul></ul></ul><ul><ul><li>Maintain collection of tests as a record of experiments </li></ul></ul><ul><ul><li>Use the red-green-refactor cycle </li></ul></ul><ul><ul><ul><li>Refactor to refine your theory while still being consistent to experimental data </li></ul></ul></ul>05
  40. 40. Agile Methods Conclusions
  41. 41. Conclusions <ul><li>Scientific Research is an iterative process with fast changing requirements </li></ul><ul><ul><li>It can be managed as an Agile project </li></ul></ul><ul><ul><li>Many of the Agile practices are applicable </li></ul></ul><ul><ul><li>Agile can help improve focus, performance, and help researchers accomplish goals in a timely fashion </li></ul></ul>To deliver high quality , running , tested stories that meet the business need in a predictable , efficient and collaborative manner — on time, on budget! 06
  42. 42. © 2008 Telefónica Investigación y Desarrollo, S.A. Unipersonal
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×