“We got lucky”—it’s one of those phrases I listen out for during post incident or near-miss reviews. It’s an invitation to dig deeper; to understand what led to our luck. Was it pure happenstance? …or have we been doing things that increased or decreased our luck? There’s a saying of apparently disputed origin: “Luck is… Read more »
Posts Categorized: XP
Meetings, ugh! Let’s change our language
“How was your day?” “Ugh, I spent all day in meetings, didn’t get any work done!” How often have you heard this exchange? It makes me sad because someone’s day has not been joyful; work can be fun. I love a whinge as much as the next Brit; maybe if we said what we mean… Read more »
Latency Numbers Every Team Should Know
Here’s some important feedback loops for a team, with feasible delays. I’d consider these delays tolerable by a team doing their best work (in contexts I’ve worked in). Some teams can do better, lots do worse.
Humility
Extreme Programming describes five values: communication, feedback, simplicity, courage, and respect. I think that humility might be more important than all of these. Humility enables compassion. Compassion both provides motivation for and maximises the return on technical practices. Humility pairs well with courage, helps us keep things simple, and makes feedback valuable. Humility enables Compassion … Read more »
A little rant about talent
It’s become less common to hear people referred to as “resources” in recent times. There’s more trendy “official vocab guidelines”, but what’s really changed? There’s still phrases in common use that sound good but betray the same mindset. I often hear people striving to “hire and retain the best talent“ as if that is a… Read more »
The benefits of making code worse
A recent twitter discussion reminded me of an interesting XTC discussion last year. The discussion topic was refactoring code to make it worse. We discussed why this happens, and what we can do about it. I found the most interesting discussion arose from the question “when might this be a good thing?”—when is it beneficial… Read more »
Reasons to hire inexperienced engineers
There are many reasons to consider hiring inexperienced software engineers into your team, beyond the commonly discussed factors of cost and social responsibility. Hire to maximise team effectiveness; not to maximise team size. Adding more people increases the communication and synchronisation overhead in the team. Growing a team has rapidly diminishing returns. However, adding the… Read more »
Do you CI?
When I ask ask people about their approach to continuous integration, I often hear a response like “yes of course, we have CI, we use…”. When I ask people about doing continuous integration I often hear “that wouldn’t work for us…” It seems the practice of continuous integration is still quite extreme. It’s hard, takes… Read more »
Learning from Pain
Pain is something we generally try to avoid; pain is unpleasant, but it also serves an important purpose. Acute pain can be feedback that we need to avoid doing something harmful to our body, or protect something while it heals. Pain helps us remember the cause of injuries and adapt our behaviour to avoid a… Read more »
The unsung upsides of staying put
This week will be my last at Unruly; I’ll be moving on just shy of nine years from when I joined a very different company at the start of an enthralling journey. Unruly’s grown from around a dozen people when I joined to hundreds, with the tech team growing proportionally. Team growth driven by needs… Read more »