The extreme in eXtreme Programming (XP)
My first exposure to anything Agile was with eXtreme Programming (XP) back in 1999. While it had many process steps similar to what Scrum and Kanban offer today, the thing that really differentiated XP was it’s focus on technical practices. It’s those technical practices that we are usually referring to when we talk about XP today.
What work to select for an ensemble
When I facilitate an ensemble session (also called Mob Programming) with a team, I’m often asked what work we should pick to work on. The answer is really whatever we would have done this week anyway.
The big rewrite
I remember once having two back-to-back clients who had just rewritten significant systems in their environment. I asked why they’d chosen to rewrite the system from scratch rather than just fixing them as they were.
Scouting rule
We often talk about the scouting rule of “always leave the campsite cleaner than you found it”, or in a software context “always leave the code a little bit better than you found it”.
Quality
The theme for this week seems to be quality so let’s look at some different aspects of that.
SpecFlow becomes Reqnroll
A number of my clients use SpecFlow and this will be relevant to them. SpecFlow has been end-of-lifed and replaced by ReqNRoll.
Ensemble work feels slower, but that’s deceptive
It’s interesting that when a team tries ensemble work (also called mob programming), it feels really slow. Slower than it actually is.
YAGNI (You Aren’t Going to Need It)
YAGNI (You Aren’t Going to Need It) is a principle that keeps us from over-engineering the system. Build today only those things that you need today. Things that we need tomorrow, we can build tomorrow.
Hot-fixes
It used to be common that we would have two different ways to deploy something to a production environment.
Mocking frameworks
I’ve recently noticed a number of posts criticizing mocking frameworks, where half the responses are defending the idea of mocking rather than talking about the frameworks that had been called out1. Let’s be clear that those are two completely different things.
-
This is an example of a psychological phenonomenon called Attribute Substitution where we are faced with a computationally difficult decision, we will often substitute a more easily calculated decision in it’s place and answer that instead, without even realizing that we did this. ↩