50% off until April 19 — use code SPRING2026.
Are you just looking for the latest articles and want to skip all the preamble and summary? Click here.
All of this content used to be spread over three different blogs at three different domains and it's now been merged into one. Why was it ever three? Because at the time it seemed reasonable that each of them was for a different audiences, and yet over time I've found that the lines between topic areas got blurrier and tended to overlap. So now they're all together in one place.
If you encounter things that seem broken, let me know and I'll get them fixed.
Browse by topic area:
| Category | Formerly found at |
|---|---|
| Psychology & Behaviour | UnconsciousAgile.com |
| Flow, Kanban, Scrum | ImprovingFlow.com |
| Metrics and Forecasting | ImprovingFlow.com & MikesHardMetrics.com |
| Technical Practices | AgileTechnicalExcellence.com |
There's a lot here and if you're not sure where to start, here are some popular starting points. From these, you'll find crosslinks to even more topics. Enjoy!
-
Neuroscience / Psychology
- Psychological Safety: An overview. For the science, see the SAFETY model. For Google's research into why it's important for high performing teams, see Project Aristotle. What happens when we don't have that safety?
- Anxiety and Stress: For the science, see Polyvagal Theory or a description of some neuroscience, illustrated with a bear encounter. To let go of that anxiety, see the Anti-Anxiety toolkit.
- Generally more about the brain: Cognitive bias, motivation, default mode network, systems 1 & 2 and neurotransmitters (chemicals) that drive behaviour.
- Language patterns: Why language is so important, and Clean Language, a specific language pattern that has excellent application for coaching.
-
How to improve...
- Meetings: The common problems with meetings. Improving the standup / daily coordination meeting. Retrospectives are covered in my popular video course Retrospective Magic. Then what if your people won't participate?
- Improving learning: with neuroscience and LEGO.
- Improvement: Continuous improvement in general. Understanding the metaphor of "lowering the water level".
-
Flow of value
- Metrics: Flow metrics, probabilistic forecasting.
- Waste: Overview of waste. Understanding the cost of interruptions, and the kinds of waste that gets in the way of flow.
- Work in progress (WIP): Setting initial WIP limits. What to do when we're overwhelmed with WIP
- Metrics and Forecasting: All of these have their own category now.
- Technical practices: Continuous integration, TDD as design, and ensemble programming.
- Ensuring we're building the right thing: Slicing stories and epics. Understanding the context of what we're building. Knowing how to prioritize that work.
- Something fun: The millennial whoop, and inattentional blindness.
- Recommended reading: I'm often asked for book recommendationsbook recommendations.
Test driving prime factors in Java / JUnit
How often do we run our tests?
Today, automated tests1 are fairly ubiquitous in software projects. That is, almost every project has a large number of automated tests and that they tend to get run by some continuous integration (CI) server.
-
More precisely, what we’re talking about are automated checks, not tests, but the agile community has never adjusted to using the more precise language so I’m going to keep calling them tests here. ↩
Improvements in CSS: Dark mode and CSS variables
Ryan and I started working on dark mode support for jirametrics and have discovered that CSS now has much better support for this sort of thing than it’s ever had in the past. Specifically, the latest versions of all the main browsers, now support dark mode directly, as well as CSS variables, which simplifies much of the configuration.
Ladder of Leadership
Sometimes our people aren’t taking initiative in the way we hope they will. This could be due to an issue of motivation or a lack of safety or more generally a system that discourages that initiative in some way. Whatever the reason might be, we need a way to change the conditions to get the result we want.
Jirametrics 2.0
Jirametrics version 2.0 has been released. What is it? A tool for extracting metrics, and generating reports from Jira.
Jira API: Board details
Next we’ll look at the API to get information about a board. Boards are fundamentally broken, in my opinion, because they aren’t a real thing in Jira. They’re a view into issues at a point in time, which means that they don’t show up anywhere in the history. You can’t tell what board an issue was on when a status change happened, and you can’t assign an issue to a board.
Dopamine and Learning
In order for us to learn something new, we need to store it in long term memory. If we’re unable to save it there, then we’ll immediately lose that learning the moment we focus our working memory on something new. Working memory is quite limited1 so we need to save those memories quickly if we’re going to.
Jira API: Statuses
The issue history gives us both the name and id of any statuses that the ticket has moved through. Sometimes that’s enough but often we then need to know more about that status, such as what status category it belongs to and for that, we need to call a different API.
Reference class forecasting
Weather predictions are probabilistic, not deterministic. That means there isn’t a single right answer that we can calculate. We can’t say it will rain at 11:05 but we can say that there’s an 80% chance of rain today. Forecasting when we’ll be done is also probabilistic, in exactly the same way. We can say based on past throughput data that we have an 85% chance of being done on or before May 12.
Jira API: Issue history
If you want metrics out of Jira, the single most important thing you need to access is the issue history and it’s not obvious how to get that. Just about all the metrics you’ll want to collect will need data from the history - you might need to know when an item started or when it entered a certain priority or when the flag was set or cleared.