It's been 15 years since the Agile Manifesto was signed and several methodologies were raised ever since. There is almost no developer nowdays that haven't adopted at least one of the Agile principles and uses them in everyday work or even private life. Some has even done improvised versions which work according their needs.
The question that's been around these past years is if the Agile is old enough to become past and what's the next big thing, is it a time to call it Post-Agilit period and what that means. What has or needs to change in order to abandon the old and become the Post Agilit followers.
Lots of teams already claim themselves as Post-Agilit pioneers and some new ideas of methodologies have been introduced. I'll try to bring an overview of some of them and bring you some thoughts that might help answering the above questions.
5. What is Agile?
● Ability to deliver early value to your customers
● Scrum is a framework based on empiricism:
○ inspection, adaption and transparency
6.
7. 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
8.
9. 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
● CSM - Certified Scrum Master is like driver’s license
○ without experience .. it’s useless
● can't just change the IT department
10. Is Agile bad?
● estimate everything
○ with or without writing tests
● estimating with hours instead of points
● No CI / CD, no QA, no code reviews
● no time to clean tech debt
○ leave it for the next release
○ low quality code
● no continuous improvement
11. Is Agile bad?
● Reported vs Actual Progress
○ Not being honest about the progress
● Cultural differences / communication
○ when “Yes” means “Yes, I will do that” or “Yes, I’m listening”
● Emergent Design causes Software Entropy
○ Lack of architecture produces Big Ball of Mud
● Bad results with big, complex systems
○ Agile Fails in Enterprise
12. Agile Fails in Enterprise
● Lack of clarity
○ distributed / remote teams
● Continual reliance on legacy methods
○ transition to agile requires a significant shift in culture
● Inadequate experience with agile
○ Failure to adopt, small isolated projects, all roles should be included
● Lack of collaboration in teams composed by different companies
13. Agile Fails in Enterprise
● Lack of alignment in other areas of the enterprise
○ all teams must work agile or none
● Larger teams and big pyramid structures
○ more complexity, larger meetings and lowered productivity.
○ many bosses v.s. self organizing teams
○ two-pizzas team
● Not changing the objectives
○ measuring plan instead of change, adaption and flexibility
14. Is Agile Dead?
● Death is an inevitable process,
○ and everything, everywhere will continue to die
○ But it will take a while
● 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
● Who said Agile is dead?
17. What’s Agile all about
Not about:
Making money
Self promotion
Certificates
Control
18. What’s next?
● Rediscovering the Heart of Agile
● Experiment Driven Development (EDD)
● Programmer Anarchy
● Antifrigile Manifesto
● Modern Agile
● MTFCKR
● Lean Startup
● Design Thinking
19. Rediscovering the Heart of Agile
“Agile has become overly decorated.
Let’s scrape away those decorations for a minute,
and get back to the center of agile”
- Alistair Cockburn
20. Experiment Driven Development (EDD)
● TDD is about design and verification of code.
○ EDD checks out whether the business works by tracking goals.
● EDD is to post-Agile what TDD is to Agile
○ displaces “working software as primary measure of progress”
○ with “validated learning and key metrics”
21. Programmer Anarchy
● There are no PMs, Iteration Managers, BAs, QAs / testers or “managers of programmers”
● with no managers to give power to their programmers to go ahead and develop, programmers go
ahead and take total responsibility for the success of each project
○ in a form of self-organised “anarchy”
● “what if you were guaranteed not to fail”
○ They want programmers to lose the “fear of failure”
● Programmers work directly with the customer,
○ which builds more trust and understanding about how the SDLC is affecting delivery
● ...is still Agile Manifesto compliant
22. Antifragile Manifesto
● the system is self adaptive, so it grows like a human being. It receives stimuli
which allows to make it stronger.
● it needs care. Like any human being, it may not be auto sufficient, it needs
adjustments for its evolution.
○ This level of attention may be only given by a context aware organization, which perceives the
contingency of Antifragility.
● it uses ontologies. Ontologies are non linear and scalable technologies. Thus,
they are the ideal ground for the adaptivity process.
○ Such technologies represents a way to classify and recognize ongoing phenomena which
are part of the system fitting.
23. Modern Agile
Guiding Principles:
● Make people awesome
● Make safety a prerequisite
● Experiment and learn rapidly
● Deliver value continuously
24. Programming, Motherfucker
We think the shit on the left, is really just the con in the middle,
and that we really need to just do the thing on the right…
Programming, Motherfucker.
25. 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.
26. 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
27. Conclusion
There are two paths:
1. Evolution
a. we need to evolve the process along with the languages
2. Revolution
a. We are hungry for a change, something new
28. Evolution of building apps
● Microservices
○ allowing incremental changes in very discrete and manageable amount
● DevOps
● Low-code development platforms (LCDPs)
○ creating apps through configuration of functions,
○ rather than coding those functions
● TLA+ (Temporal Logic of Actions)
29. Bonus Slide: Jazz v.s. Agile
● Freedom
● Collaboration
● Fun / Enjoying
● Creative
● Should include the audience
Agile, It all started well
Just as in jazz, you improvise
never know where you’ll end up.
So, fell free,
be creative,
deliver us the future..
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.
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."
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
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.
At the start of the day the programmers choose their own work during daily stand-up meetings
There are no PMs, Iteration Managers, BAs, QAs / testers or “managers of programmers” – all the normal rules of managing software development in a professional environment are gone. This is on the basis that formality and rules are constraining to creativity and productivity
It runs on the concept that with no managers to give power to their programmers to go ahead and develop (managers “empowering” their teams), programmers go ahead and take total responsibility for the success of each project in a form of self-organised “anarchy”
Integral to this is the adoption of the mindset “what if you were guaranteed not to fail” and the idea that disagreement and failure is expected, and both are ultimately productive outcomes. They want programmers to lose the “fear of failure”
Programmers work directly with the customer, which builds more trust and understanding about how the SDLC is affecting delivery
And to top it off Programmer Anarchy is still Agile Manifesto compliant: