Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Agile Software Development


Published on

Slides for "Agile Software Development" talk at moove-it (

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Agile Software Development

  1. 1. Agile Software Development
  2. 2. Project <ul><ul><li>Unique work </li></ul></ul><ul><ul><li>Timeframe established </li></ul></ul><ul><ul><li>Driven by people </li></ul></ul><ul><ul><li>Limited resources </li></ul></ul>
  3. 3. Process <ul><li>A set of established interdependent activities that take inputs and produce results. </li></ul><ul><li>Models </li></ul><ul><ul><li>Waterfall (R, D, I, T, M) </li></ul></ul><ul><ul><li>Spiral (risk management, waterfall + prototyping) </li></ul></ul><ul><ul><li>Iterative and incremental (vertical slices) </li></ul></ul><ul><ul><li>Agile (iterative model and change emphasis) </li></ul></ul>
  4. 4. Since the 80's <ul><li>  </li></ul><ul><li>Velocity </li></ul><ul><li>  </li></ul><ul><ul><li>The product's life cycle it's more short </li></ul></ul><ul><ul><li>Continous innovation </li></ul></ul><ul><li>Uncertainty </li></ul><ul><li>  </li></ul><ul><ul><li>Requirements and scenarios changes rapidly </li></ul></ul>
  5. 5. How to succeed in the new scenario? <ul><ul><li>Continuous feedback </li></ul></ul><ul><ul><li>Add great value to the product </li></ul></ul><ul><ul><li>Early time to market  </li></ul></ul><ul><ul><li>The product isn't finished, it's in a continual development cycle </li></ul></ul>
  6. 6. A common tale from the trenches <ul><li>The client says &quot;I want a car&quot; </li></ul>
  7. 7. A common tale from the trenches <ul><li>And we build ... </li></ul>
  8. 8. A common tale from the trenches <ul><li>Angry client: &quot;I said I want a Boeing, period!&quot; </li></ul>
  9. 9. A common tale from the trenches <ul><li>Client and Software Provider interaction: </li></ul><ul><ul><li>Contracts </li></ul></ul><ul><ul><li>Meetings </li></ul></ul><ul><ul><li>Time estimations </li></ul></ul><ul><ul><li>Costs estimations </li></ul></ul><ul><ul><li>Costs negotiation </li></ul></ul><ul><ul><li>Discussions and negotiations </li></ul></ul><ul><ul><li>Re scheduled agendas </li></ul></ul>
  10. 10. The Agile Manifesto <ul><li>Individuals and interactions over processes and tools </li></ul><ul><li>Working software over comprehensive documentation </li></ul><ul><li>Customer collaboration over contract negotiation </li></ul><ul><li>Responding to change over following a plan </li></ul><ul><li>  </li></ul><ul><li>Does the Agile Manifesto says &quot; Left is cool and right is bad&quot; ?  </li></ul><ul><li>  </li></ul><ul><li>NO   </li></ul>
  11. 11. The Agile motto <ul><li>&quot;It's all about teams working together to produce great software&quot; </li></ul><ul><li>&quot;Embrace change&quot; </li></ul>
  12. 12. Agile Software Development <ul><li>Agile is a set of process frameworks </li></ul><ul><ul><li>Extreme Programming </li></ul></ul><ul><ul><li>Lean </li></ul></ul><ul><ul><li>Scrum </li></ul></ul><ul><ul><li>Kanban (software maintenance phase) </li></ul></ul>
  13. 13. The Agile cycle
  14. 14. Agile - Team Workspace <ul><ul><li>It's for the team </li></ul></ul><ul><ul><li>The team organize desks, library and billboards </li></ul></ul><ul><ul><li>Books corner </li></ul></ul><ul><ul><li>Meeting room </li></ul></ul>
  15. 15. Agile - Innovation <ul><li>An environment without innovation leads to bored and unmotivated teams. </li></ul><ul><li>  </li></ul><ul><ul><li>New technologies </li></ul></ul><ul><ul><li>New practices </li></ul></ul><ul><ul><li>Golden cards </li></ul></ul><ul><ul><li>Don't forget about continuous improvement </li></ul></ul>
  16. 16. Agile - Planning meeting <ul><li>Planning the next sprint </li></ul><ul><li>What to build? </li></ul><ul><li>Understand </li></ul><ul><ul><li>Business requirements </li></ul></ul><ul><ul><li>Business stakeholders </li></ul></ul><ul><li>Stories </li></ul><ul><li>Tasks </li></ul><ul><li>Validations </li></ul><ul><li>&quot;As a <role>, I want to <functionality> so that <benefit>&quot; </li></ul><ul><li>Understand impact on design </li></ul>
  17. 17. Agile - Planning meeting <ul><li>Estimating is not guessing </li></ul><ul><li>All the team participates in the estimation </li></ul><ul><li>  </li></ul><ul><li>Don't take into account who will implement each story </li></ul><ul><li>POCs to decrease guessing when there are no experience with the platform, language, libraries </li></ul><ul><li>Write the estimations on the corresponding cards </li></ul>
  18. 18. Agile - Planning meeting <ul><li>Team capacity </li></ul><ul><ul><li>How much effort the team can deliver in the next sprint? </li></ul></ul><ul><li>Meetings </li></ul><ul><li>Works in another project </li></ul><ul><li>Previous team's velocity </li></ul><ul><li>Estimation + Team capacity => Sprint backlog </li></ul><ul><li>Tasks and stories are put on the team board </li></ul>
  19. 19. Agile - Daily Standup <ul><li>Questions </li></ul><ul><ul><li>What did I do yesterday? </li></ul></ul><ul><ul><li>What will I do today? </li></ul></ul><ul><ul><li>What's in my way? </li></ul></ul><ul><li>Improve team communication </li></ul><ul><li>Talk about the project, nothing else </li></ul><ul><li>Short time period, 15 minutes </li></ul><ul><li>Around the team board </li></ul>
  20. 20. Agile - Team Board <ul><li>Stories, tasks and charts </li></ul>
  21. 21. Agile - Team Board <ul><li>Burn down chart </li></ul>
  22. 22. Agile - Team Board <ul><li>Burn up chart </li></ul>
  23. 23. Agile - Day to day <ul><li>Automated tests </li></ul><ul><li>  </li></ul><ul><li>Continuous integration </li></ul><ul><li>  </li></ul><ul><li>Incremental design </li></ul><ul><li>  </li></ul><ul><li>Refactoring </li></ul><ul><li>  </li></ul><ul><li>Collective code ownership </li></ul><ul><li>  </li></ul><ul><li>Broken windows </li></ul>
  24. 24. Agile - Demo <ul><li>Prepare for the demo </li></ul><ul><li>  </li></ul><ul><li>Be aware of the expectations </li></ul><ul><li>  </li></ul><ul><li>Separate environment </li></ul><ul><li>  </li></ul><ul><li>Take notes on feedback </li></ul><ul><li>  </li></ul><ul><li>Celebrate success </li></ul>
  25. 25. Agile - Retrospective <ul><li>Process improvement </li></ul><ul><li>What were the problems? </li></ul><ul><li>  </li></ul><ul><li>Why occurred? </li></ul><ul><li>  </li></ul><ul><li>Take actions to avoid the problems in the future </li></ul>
  26. 26. bye :)