Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Why agile?

382 visualizaciones

Publicado el

An overview of Agile: what is is; why it should be used. Presentation for IT students of Kaunas University of Technology in Lithuania

Publicado en: Software
  • Sé el primero en comentar

Why agile?

  1. 1. WHY AGILE? Laurynas Antanavičius Product Manager @ Data Dog 2014.09.29
  2. 2. ABOUT US • Custom web development and support • Cloud-based application and software development • B2B, B2C eCommerce solutions • Specialised in PHP • Over 35 developers • Wide base of clients: UK, US, UAE, Canada, Luxembourgh, France…
  3. 3. http://vimeo.com/107405318
  4. 4. OUR TEAM • Crypto-Currency exchange / Forex market • 6 members in the development team • Agile - Scrum, TDD, CI, CD • PHP & GO
  5. 5. HOW WE WORK • Prioritise features with the PO • Work in short iterrations 1-2 weeks • Development team chooses the features • Write tests before each line of code (TDD & CI) • Ship the feature as soon as it is ready (CD) • Focus on performance & quality
  6. 6. ARE WE AGILE? Yes, but what is Agile?
  7. 7. http://www.theonion.com/video/hp-on-that-cloud-thing- that-everyone-else-is-talki,28789/
  8. 8. BEFORE STARTING WITH IT let’s look how Agile has evolved in response to standard development issues
  9. 9. Most of us were taught to write down all our requirements at the very beginning of the project. There are only three things wrong with this: “requirements”, “the very beginning,” and “all.”
  10. 10. There is a very strong “80-20” rule in software development requirements lists. Most of the business value comes from a very small subset of the so-called requirements. So these other things aren’t “requirements” at all. They’re ideas, and some of them are not very good.
  11. 11. The client wants to know how long something is going to take, and how much it will cost at the beginning. But how can we say how long it will take if he does not know what he wants?
  12. 12. Then we come to a situation where a development contract is based on an unrealistic list of requirements, using weak estimates, made at the moment of maximum ignorance, by people who are always optimistic about their own abilities.
  13. 13. It’s all right, though. We’ll just keep the pressure on, and it’ll be fine.
  14. 14. The project is planned for months / years until it’s perfectly describing all the functionality. The development is painfully pushed through, with numerous bugfixing, until finally delivered. And the final launch day comes…
  15. 15. https://www.youtube.com/watch?v=Uk_vV-JRZ6E
  16. 16. AGILE the definition
  17. 17. “Agile software development is a group of software development methods based on iterative and incremental development where requirements and solutions evolve through collaboration between self- organising, cross-functional teams. ”
  18. 18. Scrum Kanban XP Jedi Or whatever else we call it.. “a group of software development methods”
  19. 19. iterative development - code vs feedback. keep iterating until it’s done incremental development - build what is needed right now then refine “based on iterative and incremental development”
  20. 20. requirements evolve - I will tell what I need when I see it solutions evolve - minimum fit to requirements then refine “requirements and solutions evolve”
  21. 21. collaboration - plan together, share work self-organising team - common pool of work cross-functional team - everyone can do everything “collaboration between self-organising, 
 cross-functional teams”
  22. 22. THAT’S IT! It is not exactly brain surgery, is it?
  23. 23. https://www.youtube.com/watch?v=THNPmhBl-8I
  24. 24. FOCUS
  25. 25. single location & teamwork single tool for managing process Individuals and interactions over Processes and tools
  26. 26. working demos - don’t break it if you make it documented parts - parts that will be done must be specific Continuous Delivery and Continuous Integration are essential for the success of the project. Working software over Comprehensive documentation
  27. 27. project owner requirements - user stores flexible outcome - customer gets what he asked for flexible contract - defined in increments Customer collaboration over Contract negotiation
  28. 28. respond - yes, I heard the customer react - yes, I will change it plans help - manage chaos Responding to change over Following a plan
  29. 29. WHY SHOULD DEVELOPERS CARE?
  30. 30. “Don’t document bad code — rewrite it.” - Kernighan and Plauger
  31. 31. Developers are supposed to choose an amount of work on and forecast what can be accomplished in that time.
  32. 32. Defects should not be piled up, but cleaned periodically. If you wait for a release until the end of the project, you’re gonna have a bad time.
  33. 33. It’s less stress for you as a developer and as a team member More comitment to work as you choose it yourself Immediate results for you and the client
  34. 34. WHAT’S NEXT?
  35. 35. Read about Agile, understand it, memorise it, 
 sleep with it… Until you are 100% confident with using Agile methods
  36. 36. XP “Extreme Programming” by Ron Jeffries, Ann Anderson, Chet Hendrickson http://xprogramming.com/
  37. 37. AGILE “Agile Manifesto” by Agile Alliance http://agilemanifesto.org/iso/lt/
  38. 38. SCRUM “Scrum Guide” by Jeff Sutherland, Ken Schwaber http://www.scrumguides.org/
  39. 39. TEAMWORK “The Clean Coder” by Robert C. Martin
  40. 40. TDD, BDD… “Engineering Long-Lasting Software” by Armando Fox David Patterson
  41. 41. TRUST YOURSELF BEFORE TRUSTING ANYONE
  42. 42. WAIT FOR IT.. Questions?

×