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

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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 :)
  1. A particular slide catching your eye?

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