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 - Beyond Projects - ULL

35 views

Published on

Talk in University of La Laguna, Software Engineering

Published in: Software
  • Be the first to comment

  • Be the first to like this

Agile software development - Beyond Projects - ULL

  1. 1. Agile Software Development: Beyond projects Romén Rodríguez Gil @romenrg - www.romenrg.com 2019
  2. 2. Who am I? Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  3. 3. About: startups, digital products, management, software development, agility... Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  4. 4. Where am I currently working? Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  5. 5. Professional Groups I co-organize Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  6. 6. Agile Software Development: - First, a few questions…. Romén Rodríguez Gil @romenrg - www.romenrg.com 2019
  7. 7. 1) How many of you have been paid to write software? Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  8. 8. 2) How many of you have worked in Software Development Teams of more than 3 people? Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  9. 9. 3) Can you think of 3 differences between building a house and building software? Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  10. 10. 4) What do you know about Agile Software Development? Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  11. 11. Agile Software Development: Beyond projects Romén Rodríguez Gil @romenrg - www.romenrg.com 2019
  12. 12. The problems with the waterfall model Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg) Assuming we can know everything at the beginning of the project is a false premise in software Sequential stages make changes hard to implement
  13. 13. This caused Agile Software Development to emerge Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  14. 14. Manifesto for Agile Software Development Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  15. 15. And this change is not just for software development Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  16. 16. Agile, DevOps and Lean Startup are aligned Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg) Software Delivery Agility Software Dev Agility Scrum XP Business Agility
  17. 17. Is this applicable to all circumstances? Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  18. 18. Products vs projects Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg) More on this: ● https://martinfowler.com/articles/products-over-projects.html ● https://martinfowler.com/articles/agile-aus-2018.html ○ Video: https://www.infoq.com/presentations/agile-2018/ ● https://blog.cleancoder.com/uncle-bob/2018/08/28/CraftsmanshipMovement.html Highlights on product-mode: ● Teams are funded, not projects ● Favors in-house development vs outsourcing ● Continuous process ○ Evolution, there is no end ○ Iterative and incremental approach is natural ● Teams stay longer together ● Technical excellence matters ● Products allow scaling sales without scaling costs proportionally ● Success is defined differently ○ No focus on agreed-upon scope, time and budget ○ Focus: business value, customers, features & quality ○ Adaptability is key, learning as well ○ Working on increments, pivoting, re-prioritizing while learning from the market; caring about quality
  19. 19. Bringing agility to product development Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  20. 20. Agility in product development Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg) ● The product owner prioritizes the backlog ○ Based on user feedback, market changes and business strategy ● The team works on cycles ○ Each cycle ends with a new product increment ● Vertical development ○ Always building working software ○ Building across all the stack ○ Not working horizontally https://blog.mozilla.org/ux/2019/05/the-11-secrets-of-iterative-and-incremental-product-development-a-lightining-talk/
  21. 21. What type of companies build products? Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  22. 22. What can we apply to “projects” Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  23. 23. Agility in projects Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg) ● Have a “proxy” product owner ○ Someone from our team prioritizing the backlog and dealing with the customer, mapping our agile process to the rigid contract ● Use “agile contracts” ○ Such as “rolling contracts” ○ Fix a price per cycle (sprint), always delivering the top-priority features ● Frequent increments ○ Build trust ○ Allow feedback ○ Make contract-related negotiations easier
  24. 24. What type of companies typically work in projects? Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg) ● Consulting Company 1 ● Consulting Company 2 ● Consulting Company 3
  25. 25. A related (and popular) article on time estimates Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  26. 26. A related (and popular) article on time estimates Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  27. 27. Key takeaways Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
  28. 28. Key takeaways Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg) ● Waterfall is the traditional way of managing projects ○ Makes sense in other fields, where changing things after having built them is very hard ○ Most Government agencies still manage this way (and expect you to do it) nowadays ○ But you can implement agile approaches internally and use a “proxy product owner” to map external expectations ● Agile embraces change and accepts unknowns ○ That’s why we focus on short cycles and build iterative and incremental products ■ We accept that both, us and the customer, know the least about the project at the beginning ○ We accept we don’t know how long it’s going to take and accept that scope and priorities change ● The Agile approach is easier to embrace when building products in-house ○ But for projects there are alternative “agile contracts” ■ Charge per cycle in a “rolling” contract (small risk) ■ Incremental deliveries of working software build trust and makes negotiations easier
  29. 29. Agile Software Development: Beyond projects Romén Rodríguez Gil @romenrg - www.romenrg.com 2019

×