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
Made with Slides.com