The document discusses issues that can arise with Agile practices and provides suggestions for improvement. It notes that while Agile principles aim for customer satisfaction, changing requirements, and frequent delivery, some implementations experience problems like a lack of continuous improvement, low code quality, and cultural challenges. The document advocates rediscovering the heart of Agile and experimentation to address these issues, and provides an example of using specification by example to improve collaboration between developers and quality specialists. It concludes by acknowledging Agile is a learning process and that change is needed for progress.
5. Agile software development principles
1. Customer satisfaction by early and continuous delivery of valuable software
2. Welcome changing requirements, even in late development
3. Working software is delivered frequently (weeks rather than months)
4. Close, daily cooperation between business people and developers
5. Projects are built around motivated individuals, who should be trusted
6. Face-to-face conversation is the best form of communication (co-location)
7. Working software is the primary measure of progress
8. Sustainable development, able to maintain a constant pace
9. Continuous attention to technical excellence and good design
10. Simplicity—the art of maximizing the amount of work not done—is essential
11. Best architectures, requirements, and designs emerge from self-organizing teams
12. Regularly, the team reflects on how to become more effective, and adjusts accordingly
6.
7. What is Scrum?
● Ability to deliver early value to your customers
● Scrum is a framework based on empiricism:
○ inspection, adaption and transparency
8. #1 Is Agile bad?
● processes, behaviours & relationships
○ which are unsatisfactory
○ people complain being pushed into it
○ and stuck inside without power to improve it
● the three roles, the five meetings, the one artifact
○ inertiа of the process
9. #2 Is Agile bad?
● CSM - Certified Scrum Master is like driver’s license
○ without experience .. it’s useless
● no continuous improvement
○ no continuous learning
○ but it needs to be shared
10. #3 Is Agile bad?
● estimate everything
○ with or without writing tests
● estimating with hours instead of points
11. #4 Is Agile bad?
● No CI / CD, no QA, no code reviews
● no time to clean tech debt
○ leave it for the next release
○ low quality code
12. #5 Is Agile bad?
● Scrum is not the goal
○ delivering software is
● Replace Scrum for Agile?
○ Practice v.s. mindset
13. #6 Is Agile bad?
● Cultural differences / communication / trust and respect
○ when “Yes” means
“Yes, I will do that” or
“Yes, I’m listening”
● Reported vs Actual Progress
○ Not being honest about the progress
14. #7 Is Agile bad?
● Emergent Design causes Software Entropy
○ Lack of architecture produces Big Ball of Mud
● Bad results with big, complex systems
○ Agile Fails in Enterprise
15. #8 Is Agile bad (Enterprise Edition)?
● Lack of collaboration in teams
composed by different companies
○ quality is the responsibility of the whole team
● Continual reliance on legacy methods
○ transition to agile requires
a significant shift in culture
16. Is Agile bad (Enterprise Edition)?
● Lack of alignment in other areas
○ all teams must work agile or none
● Larger teams and big pyramid structures
○ complexity, larger meetings and lowered productivity
○ many bosses v.s. self organizing teams
○ two-pizzas team
17. Is Agile Dead?
● The job of the consultant is to grab a wave
○ and make money while he can,
then grab another
● Nothing lasts forever,
○ but things based on solid engineering
last longer
20. What’s Agile all about
Not about:
Making money
Self promotion
Certificates
Control
21. What’s next?
● Rediscovering the Heart of Agile
● Modern Agile
● Experiment Driven Development (EDD)
● Programmer Anarchy
● Antifragile Manifesto
● Dark Agile Manifesto
● Scrumban
● MTFCKR
● Lean Startup
● Design Thinking
● SAFe
22. Specification by example - Zlate (iborn)
● Absence of responsibility
○ Task oriented members
○ Eager to show progress, but not to vouch for its efficiency
● Absence of shared understanding with the clients
○ Drop of quality
○ Decreased involvement of the clients in the process
● Wall between developers and quality specialists.
○ No work alignment
23. Specification by example - Zlate (iborn)
● Restructuring the team
○ Development specialist, Quality specialist and Project Responsible
○ Single point of responsibility
● Specification
○ User stories, test scenarios by using examples;
○ Shared understanding, same language
○ Two benefits: executable specification and living documentation
● Collaboration
○ Workshops - specifying collaboratively
○ Shared Definition Of Done
○ Pair programming (QA + Dev)
24. Before conclusion
● Agile did not work
○ It shouldn't, you should!
● We have done it wrong over and over again?
● Improvisations
● Learning process
● Scrum reveals your problems, does not solve them for you.
● Who said Agile is dead?
○ The founders of Agile and its practitioners said it, not me.
25. Will it change?
● It will change,
○ because the market needs that,
■ progress needs that,
● society needs that.
- Matthew Kern
● Something very weird was happening
● and i want it happening to me
■ Hitchhikers guide ….
Editor's Notes
Are there others?
The ‘new’ criticisms made against agile – that is, by those who have grown up with it, not those who opposed it in the first place – are rarely criticisms of the agile manifesto. But about the processes, behaviours & relationships.
there are two essentials to agile: treating people well; and never stop learning. Each of these two is only truly possible when the other is also practised.
The essence of what makes Scrum work isn’t the three roles, the five meetings, the one artifact.
It’s Inspect and Adapt. When things are not going as you like, you’re supposed to fix it."
https://github.com/chrisfcarroll/Post-Agile-Manifesto
The ‘new’ criticisms made against agile – that is, by those who have grown up with it, not those who opposed it in the first place – are rarely criticisms of the agile manifesto. But about the processes, behaviours & relationships.
there are two essentials to agile: treating people well; and never stop learning. Each of these two is only truly possible when the other is also practised.
The essence of what makes Scrum work isn’t the three roles, the five meetings, the one artifact.
It’s Inspect and Adapt. When things are not going as you like, you’re supposed to fix it."
https://github.com/chrisfcarroll/Post-Agile-Manifesto
No one really goes into any project blindly. The groundwork must be laid, the infrastructure must be decided upon, tools must be selected, and a general direction must be set. A focus on a shared architectural vision and strategy should be established early.
Unbridled, change can undermine structure. Orderly change can enhance it. Change can engender malignant sprawl, or healthy, orderly growth.
The biggest risk associated with Piecemeal Growth is that it will gradually erode the overall structure of the system, and inexorably turn it into a Big Ball of Mud.”
Emergent design:
https://effectivesoftwaredesign.com/2013/06/17/the-myth-of-emergent-design-and-the-big-ball-of-mud/?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3Bs7FY8nBpStKznB491yT3tg%3D%3D
Olof: http://polarcape.com/agile-culture-conflicts/
No one really goes into any project blindly. The groundwork must be laid, the infrastructure must be decided upon, tools must be selected, and a general direction must be set. A focus on a shared architectural vision and strategy should be established early.
Unbridled, change can undermine structure. Orderly change can enhance it. Change can engender malignant sprawl, or healthy, orderly growth.
The biggest risk associated with Piecemeal Growth is that it will gradually erode the overall structure of the system, and inexorably turn it into a Big Ball of Mud.”
Emergent design:
https://effectivesoftwaredesign.com/2013/06/17/the-myth-of-emergent-design-and-the-big-ball-of-mud/?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3Bs7FY8nBpStKznB491yT3tg%3D%3D
Olof: http://polarcape.com/agile-culture-conflicts/
Lack of clarity
Sharing knowledge
Continual reliance on legacy methods
Mixed teams - pre-existing rigid/waterfall frameworks are to blame.
Cultural differences
Lack of a Testing Strategy
QA must evolve as well
Agile does not scale
https://www.infoq.com/articles/agile-fails-enterprise?lipi=urn%253Ali%253Apage%253Ad_flagship3_pulse_read%253Bs7FY8nBpStKznB491yT3tg%253D%253D
Question: is Agile best suitable for startups?
Some people invent or try new things
Others are just followers, they start propagating it until it becomes a common sense
Some even build religion around it
Until the first ones invent something new
Success creates a religion or cult, and defeat is being ignored. No such doctrine is perfect. Thinking you will change the world with a manifesto is naive, and if you succeed you may not have improved the world.