What to do if SCRUM is not working for you

Many teams adopted Scrum as part of becoming “agile”.
This will start by bringing in consultants and hiring Scrum masters.

The starting point will look like this:
You have 2 week sprints.
These will include the following meetings:

  • Daily standups (Each workday)
  • Sprint Planning (every 2 weeks
  • Refinement Meetings (every 1 -2 weeks)
  • Retrospective (every 2 weeks)
  • Sprint Demo (every 2 weeks)

Teams attempt to complete every task that they agreed to within the 2 week window.

Does this seem familiar?

Is it working for you?

How many times do you find things roll over to the next sprint?

How many times do you need to change what you are doing within a sprint?
How frequently do you run out of time in the Refinement Meetings?
How much time is tied up in these agile cermonies?

The SCRUM technique came out of the Extreme Programming practices. It order to be able to be taught in 2 days it dropped the technical practices (pair programming, continuous integration, TDD, simple design …)

The basic cycle is sensible. This is the basic Observe, Orient, Decide, Act loop.
It needs to be applied at several levels.

The basic SCRUM settings are the default. To be effective you need to adapt them. You probably have never been told that you can change the process.

If you are having to change what is in the sprint frequently start by reducing the sprint length to 1 week.
Retros will have to happen every other week. The other meetings become shorter as you are now handling a smaller list of things to handle. You will be deploying functional units more frequently and getting better feedback. Disruptive business requests normally be satisfied with “can it wait until next week?” If not then you have a true emergency that you would have to stop for.

Once you have a 1 week Sprint it is not a big step to move to Kanban. It this you focus on the next important thing and work on getting that finished. This means that refinements become even simpler as you have one thing to work on. You can even have a task that is the analysis that will generate the backlog. Kanban is all about eliminating waste. Do what you need to fix the top task then move to the next.

Kanban needs to be performed at a sustainable pace.
There are technical challenges – how do I break everything down into small valuable increments.
The benefit of the fast feedback is useful – you can get to the point of multiple small releases per day.


Mermaid Wardley Map Example Tea Shop

I am starting to experiment with the Mermaid Wardley Map

<html>
<body>
<pre class="mermaid">
wardley-beta
title Tea Shop
size [1100, 800]
anchor Business [0.95, 0.63]
anchor Public [0.95, 0.78]
component Cup of Tea [0.79, 0.61] label [19, -4]
component Cup [0.73, 0.78]
component Tea [0.63, 0.81]
component Hot Water [0.52, 0.80]
component Water [0.38, 0.82]
component Kettle [0.43, 0.35] label [-57, 4]
component Power [0.1, 0.7] label [-27, 20]
Business -> Cup of Tea
Public -> Cup of Tea
Cup of Tea -> Cup
Cup of Tea -> Tea
Cup of Tea -> Hot Water
Hot Water -> Water
Hot Water -> Kettle
Kettle -> Power
evolve Kettle 0.62
evolve Power 0.89
note "Standardising power allows Kettles to evolve faster" [0.30, 0.49]
note "Hot water is obvious and well known" [0.48, 0.80]
note "A generic note appeared" [0.23, 0.33]
</pre>
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
mermaid.initialize({ startOnLoad: true });
</script>
</body>
</html>

Not a bad start.

Minimal Wardley Map in Mermaid js

I have been following the wardley map addition to mermaid js

<html>
<body>
<pre class="mermaid">
wardley-beta
title Software Platform Strategy
size [1100, 800]
evolution Genesis@0.25 -> Custom@0.5 -> Product@0.75 -> Commodity@1.0
anchor Customer [0.90, 0.95]
component Something [0.5, 0.5]
Customer -> Something
</pre>
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
mermaid.initialize({ startOnLoad: true });
</script>
</body>
</html>

This is a terrible example of a wardley map, but does give a starting point for exploring.

I now need to wait for the github and notion components to be updated!

Currently github is on 11.13.0

Notion is on 11.10.0

The miro plugin is back on 10.x so getting rather old!

It was the year that they immanentized the Eschaton

This is a line from the start of the Illuminatus Trilogy. This was a series of satirical novels written in the 1970s. I read them in the late 80s/early 90s.

The phrase literally means actively bringing about the end of the world.

This is the first time that I have known of a war when key agents on both sides are trying to bring about the end of the world.

Pete Hegseth (Secretary of War) openly pushes end-times prophecy.

Shia theology also has strong end of days themes.

This combo makes the mutually assured destruction thinking from the cold war break down.

AI and Managing Outsourcing

There are claims that AI has solved writing code. This implies that we have recreated the outsourcing model.

The problem is that writing code is not the goal. We really want to solve problems and find using a computer to do the job is the most efficient way to do this. A large part of the value I bring is to understand how a system works. That way we can make changes that improve the existing system.

Some years ago a project was run at a company where I worked. The manager thought it was clever to hire a team of the cheapest developers he could find. The team was limited to 7 people since that was the power supply limit of the available room. The two permanent developers did their best to give instructions to this team. We had a suite of acceptance tests that was heading to being green as the critical launch day arrived. Two of the team had commit rights revoked due to repeatedly committing broken code.

Not being involved in the project I left the office at my usual end of day time. The next morning I arrived and found out about the chaos that had ensued.

2 of the 7 subsystems deployed to production were simply mocks. These were sufficient to get the test scripts to work.

The team QA had quit twice (the first time being talked down). The two in house devs had to implement minimal versions of the services. Mangement had introduced a no-one goes home til this works policy after I had left. The devs had been checked into a nearby hotel late that night!

In the end we had a shop that could not sell anything until halfway through the next day.

It took about a year to get the system into a sane state before we replaced it again.

Management had considered this a success. This was mostly due to us eliminating an Oracle DB that would have cost a fortune to renew.

This is what happens with a small team of developers. This is exactly what people are doing with AI. They are generating systems from incomplete specifications.