What went wrong with Agile
and
what you can do about it
#0 Who am I?
Piotr Stapp
- Unique name - just sing a song: "Don't Stapp me know" ;)
- ex - Senior software/DevOps/Architect @mBank/@FinAi/@Allegro
- Own company (small consulting + workshops)
- SAFe System Principal Architect @ Demant Technology Center
- M.Sc (distction) Oxford Brooks University in Web Tech
- M.Sc. Warsaw University of Technology in Computer Science
Attention
All opinions are my own
and
do not necessarily reflect
the views of any companies.
Sources
- The Scrum Alliance: What It Is and Why It Matters - Plutora - https://www.plutora.com/blog/water-scrum-fall
- Scrum Team - https://www.scrum.org/resources/scrum-team
- Why Scaling Agile Doesn't Work (and What to Do About It) - Jez Humble - https://www.programmingtalks.org/talk/why-scaling-agile-doesnt-work
- Who decides what product to build in a tech company? - Quora -
https://www.quora.com/Who-decides-what-product-to-build-in-a-tech-company - Cost of Delay (Maersk Case Study) - https://blackswanfarming.com/cost-of-delay/
- Making sens of MVP - https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp
- about:mbank - https://stapp.space/about-mbank-devs-for-devs-bstoknet/
- Agile - When does it work well, and when doesn't it? - https://stackoverflow.com/questions/3001627/agile-when-does-it-work-well-and-when-doesnt-it
- CI/CD the journey of a dummy team | by Javier Lopez | Medium -
https://javi-kata.medium.com/ci-cd-the-journey-of-a-dummy-team-f51a061684bc - Four agile ceremonies, demystified - https://www.atlassian.com/agile/scrum/ceremonies
- Insights Discovery part 1: The 4 colors -
- https://www.mudamasters.com/en/personal-growth-personality/insights-discovery-part-1-4-colors
#1 Who brings $$$?
Source: https://blackswanfarming.com/cost-of-delay/ - Maersk Case Study
Source: https://www.plutora.com/blog/water-scrum-fall
What Benefits Come From Breaking Out of Water-Scrum-Fall?
- Applying a more iterative approach [...]
- Deploying to production and getting genuine feedback[...]
- Shifting toward a continuous delivery mechanism [...]
-
[...] Team members will no longer be bound by traditional “budget, plan, build, deploy” approaches.
-
Getting rid of Water-Scrum-Fall will most likely enable the business to respond to market shifts, capitalize on opportunities, and evolve business capabilities in a way that allows the organization to dominate its market space.
Source: https://www.plutora.com/blog/water-scrum-fall
Key points
- The cost of the team can be 💰💰💰.
- Prioritization is hard.
- Agile "inside" != agile "outside"
- Money doesn't grow on trees (unless you have a startup 😅)
#2 Let's do something BIG!
Source: https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp
about mBank (~2012-2013)
- 6 milestones
- 8 dev teams in "light-side factory"
- 18 months
- 171 SLN files
- 983 used packages in internal repo
- 5045 JS files
- 12766 CS files
- 71613 versions of packages produced
- 712143 package downloads
- ~4700000 lines in CS, JS, HTML & CSS files
Allegro Pay (3 years ago)
- change in Allegro mobile app
- change in Allegro web app
- migrate all stuff from FinAi + add a lot of new functionality
- 10-20 integrations
- validations
- processing
- Do it FAST
Demant (now)
- Migrate from native to Xamarin/MAUI
- Frontend is not a real problem rather communication with Hearing Instrument is a reason
Ralph Stacey's complexity matrix as illustration of the sweet spot for Agile
Source: https://stackoverflow.com/questions/3001627/agile-when-does-it-work-well-and-when-doesnt-it
Simple Tasks
- These tasks are well-defined and straightforward. Examples include everyday activities like “Brushing your teeth” or “Riding a bike.”
- The approach for simple tasks is: “Just do it!” You don’t need extensive planning; the solution is clear.
Complicated Tasks
- Complicated tasks are not entirely straightforward. They require some thought and planning.
- An example of a complicated task is “Planning your trip to Breslau.” Here, you need to sit down, create a plan, and then execute it.
Complex Tasks
- Complex tasks involve uncertainty in both requirements and technology.
- These tasks don’t have a clear path, and the solution emerges through experimentation, adaptation, and collaboration.
- Agile practices are particularly effective for complex tasks because they allow flexibility and iterative development
Anarchy
- Anarchy represents situations where nothing is predictable. Examples include natural disasters like tsunamis or volcanic eruptions.
- We lack information about what will happen, when it will happen, and how to prevent it.
- In anarchy, we must respond dynamically, adapt rapidly, and focus on survival.
Key points
- Architecture or application (r)evolution more naturally aligns with "anarchy" than with "complex" and "complicated"
- "Structured agile" isn't universally applicable,
- "Chaos" poses challenges from a management perspective
- Different approaches for different context e.g. Kanban + Scrum can work together in one team.
- Money doesn't grow on trees 😅
#3 Let's do something small
Buzzwords to the rescue
- Version Control: GitHub, GitLab, Bitbucket, ...
- CI/CD Automation: Jenkins, GitHub Actions, Azure DevOps, Argo, ...
- Hosting: Cloud Native, K8s, Serverless, OpenShift, ..
- Tools: Jira, Monday, Click Up, Azure DevOps, GitHub, ...
- Approaches: Event Sourcing, Event Driven, (No)SQL, Microservices, Modular Monolith, ...
- Config management: Terraform, Puppet, Chef, Ansible, SaltStack, ...
How long it takes?
- clone the project (1s)
- create a feature branch with the name of the task (1s)
- develop your changes with tests (1 week)
- test your changes locally (20m)
- push your code to the remote repository (1s)
- ask for a code review (5m)
- the code review is started by some colleagues (1 hour), this includes to test the code locally or in a test environment
- the code review is passed (2 days)
- merge your branch to master and resolve conflicts (1 day)
- create a release to go to production (10m)
- qa test the release in a pre-prod environment (1 hour)
- deploy your changes in production (10m)
Source: https://javi-kata.medium.com/ci-cd-the-journey-of-a-dummy-team-f51a061684bc
How long it takes?
Source: https://blackswanfarming.com/cost-of-delay/ - Maersk Case Study
How long it takes?
After CI/CD + test automation + no branching:
- clone my git project (1s)
- develop, push and test your changes (1 week) in pairs
- changes are deployed automatically to production (10 m) in the middle of the week.
In the end we saved: 2 out of 7 days
Why? Why? Why?
- To sleep well at night
- Bus factor
- CDD - CV-Driven-Development
Key points
- When you need a change, strong arguments pave the way:
- reducing 2 days in 46 weeks - is an impactful change
- Buzzwords won’t magically reduce the bus factor or any other problem
- CDD isn’t an excuse, but "sleep well at night" is a worthy goal.
- Money doesn't grow on trees:
- Without data you're just another person with an opinion
#4 Who will do that?
The people on the Scrum Team
The fundamental unit of Scrum is a small team of people, a Scrum Team. The Scrum Team consists of one Scrum Master, one Product Owner, and Developers. Within a Scrum Team, there are no sub-teams or hierarchies. It is a cohesive unit of professionals focused on one objective at a time, the Product Goal.
Scrum Teams are cross-functional, meaning the members have all the skills necessary to create value each Sprint. They are also self-managing, meaning they internally decide who does what, when, and how.
Source: https://www.scrum.org/resources/scrum-team
Powered by DALL·E 3
But who are they?
Source: https://johnpyron.com/6-benefits-of-disc-profile-assessment/
But who are they?
Source:
https://www.mudamasters.com/en/personal-growth-personality/insights-discovery-part-1-4-colors
Who am I?
Key points
- Knowing who you work with is essential:
- Team Task Compatibility
- Individual Task Suitability
- Conflicts are a natural way of working
- Money doesn't grow on trees
- Trick: Scrum Master as a Junior Dev
#5 Scrum Meetings
(sorry Kanban)
Daily Scrum (Standup)
Definition:
- Purpose: To plan the day’s work and identify obstacles.
- Frequency: Held daily (usually in the morning).
- Duration: Typically limited to 10-15 minutes.
- Participants: Entire Scrum team (Scrum Master, Product Owner, and Development Team).
- Key Points: Team members share updates, discuss progress, and address any impediments.
Source: https://www.atlassian.com/agile/scrum/ceremonies + copilot
(Sprint) Planning
Definition:
- Purpose: To prepare for the upcoming sprint.
- Frequency: Before each sprint.
-
Content:
- Define the sprint goal.
- Prioritize backlog items.
- Create the sprint backlog.
- Participants: Entire Scrum team.
- Outcome: A clear plan for the sprint.
Source: https://www.atlassian.com/agile/scrum/ceremonies + copilot
(Sprint) Review
Definition:
- Purpose: To review the work completed during the sprint.
- Frequency: At the end of each sprint.
-
Content:
- Demonstrate completed features.
- Gather feedback from stakeholders.
- Discuss what went well and what needs improvement.
- Participants: Scrum team and stakeholders.
- Outcome: Insights for continuous improvement.
Source: https://www.atlassian.com/agile/scrum/ceremonies + copilot
(Sprint) Retrospective
Definition:
- Purpose: To reflect on the sprint and identify areas for improvement.
- Frequency: After each sprint.
-
Content:
- Discuss what worked and what didn’t.
- Brainstorm process enhancements.
- Celebrate successes.
- Participants: Scrum team.
- Outcome: Actionable improvements for the next sprint.
Source: https://www.atlassian.com/agile/scrum/ceremonies + copilot
Backlog Refinement
Definition:
- Purpose: To refine and prioritize backlog items.
- Frequency: As needed (usually once a week).
-
Content:
- Review and estimate backlog items.
- Ensure clarity and readiness.
- Participants: Scrum team.
- Outcome: A well-prepared backlog.
Source: https://www.atlassian.com/agile/scrum/ceremonies + copilot
Key points
- Don't follow rules blindly
- Saying obvious things aloud make them visible.
- Tip: standup at 12:00 can be as effective as at 9:00
- Problem: when and how should we talk about Development Experience?
- Money doesn't grow on trees:
- Some tech problems can be solved without a long discussion, showing an example is much better
#5 The end?
Key points
Democracy Agile is the worst form of government software engineering– except for all the others that have been tried.
Winston Softwarechill
Feedback
Sources
- The Scrum Alliance: What It Is and Why It Matters - Plutora - https://www.plutora.com/blog/water-scrum-fall
- Scrum Team - https://www.scrum.org/resources/scrum-team
- Why Scaling Agile Doesn't Work (and What to Do About It) - Jez Humble - https://www.programmingtalks.org/talk/why-scaling-agile-doesnt-work
- Who decides what product to build in a tech company? - Quora -
https://www.quora.com/Who-decides-what-product-to-build-in-a-tech-company - Cost of Delay (Maersk Case Study) - https://blackswanfarming.com/cost-of-delay/
- Making sens of MVP - https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp
- about:mbank - https://stapp.space/about-mbank-devs-for-devs-bstoknet/
- Agile - When does it work well, and when doesn't it? - https://stackoverflow.com/questions/3001627/agile-when-does-it-work-well-and-when-doesnt-it
- CI/CD the journey of a dummy team | by Javier Lopez | Medium -
https://javi-kata.medium.com/ci-cd-the-journey-of-a-dummy-team-f51a061684bc - Four agile ceremonies, demystified - https://www.atlassian.com/agile/scrum/ceremonies
- Insights Discovery part 1: The 4 colors -
- https://www.mudamasters.com/en/personal-growth-personality/insights-discovery-part-1-4-colors
What went wrong with Agile and what you can do about it
By Piotr Stapp
What went wrong with Agile and what you can do about it
- 42