7. 1) How many of you have been paid to write software?
Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
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. 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. 4) What do you know about Agile Software Development?
Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
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. This caused Agile Software Development to emerge
Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
14. Manifesto for Agile Software Development
Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
15. And this change is not just for software development
Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
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. Is this applicable to all circumstances?
Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
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. Bringing agility to product development
Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
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. What type of companies build products?
Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
22. What can we apply to “projects”
Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
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. 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. A related (and popular) article on time estimates
Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
26. A related (and popular) article on time estimates
Agile Software Development, beyond projects Romén Rodríguez Gil (@romenrg)
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