Supporting Sustainability

Posted by & filed under Leadership, XP.

Many software teams struggle with ever growing cost of change, and technical debt that risks overwhelming them.  It’s always interesting to talk with folks and understand, how the system and incentives created this state.  Often I hear from software engineers that management doesn’t give them permission for (or doesn’t prioritise) work such as tidying, refactoring,… Read more »

Pondering Agile Principles

Posted by & filed under Leadership, XP.

I’ve worked in and with teams who would identify as agile for many years. I’ve written about how I think the most interesting part of the agile manifesto is the “uncovering better ways” mindset.  With this in mind, I’ve been pondering how the principles in the agile manifesto have aged. Where do (and don’t) I… Read more »

Cost of Attrition

Posted by & filed under Leadership, XP.

What if we could visualise the cost of attrition? Here’s a team. Someone leaves. We hire a replacement.We get lucky and manage to find someone more skilled. Looks like we’re better off? Really when someone leaves we lose all the relationships they had with the rest of the team as well. The team is a… Read more »

Uncovering Better Ways

Posted by & filed under XP.

How many better ways of working have you uncovered lately? This past year a lot of people have been forced into an unplanned and unwanted experiment. Many teams have had to figure out how to work in a remote-first way for the first time.  I was privileged to be working in a team that was… Read more »

Don’t hire top talent; hire for weaknesses.

Posted by & filed under Leadership, XP.

Instead of starting from “how do we hire top talent?”, start from “what are our weaknesses?” Why are you hiring? Are you hiring to do more, or are you hiring to achieve more? Design your hiring process to find the right people to strengthen your teams’ weaknesses, rather than trying to find the best people. … Read more »

Escape the Permission Trap with Healthy Habits

Posted by & filed under Leadership, XP.

If you’re struggling with how to get to tidy code, fast feedback loops, joyful work. How to get permission, or buy-in. Try team habits. Create working agreements of the form “When we see <observable trigger>, instead of <what we currently do> we will <virtuous action>”. This is a mechanism to pre-approve the desired action. In… Read more »

Thinking in Questions with SQL

Posted by & filed under sql.

I love SQL, despite its many flaws. Much is argued about functional programming vs object oriented. Different ways of instructing computers. SQL is different. SQL is a language where I can ask the computer a question and it will figure out how to answer it for me. Fluency in SQL is a very practical skill…. Read more »

Leadership Language Lessons from Star Trek

Posted by & filed under Leadership, Star Trek, XP.

Growing up, an influential television character for me was Jean Luc Picard from Star Trek the Next Generation. Picard was a portrayal of a different sort of leader to most. Picard didn’t order people about. He didn’t assume he knew best.  He wasn’t seeking glory. In his words: “we work to better ourselves, and the… Read more »

Java 16 Pattern Matching Fun

Posted by & filed under Java.

Java 16 brings Pattern Matching for instanceof. It’s a feature with exciting possibilities, though quite limited in its initial incarnation.  Basic Pattern Matching We can now do things like  Object o = "hello"; if (o instanceof String s) { System.out.println(s.toUpperCase()); }Object o = "hello"; if (o instanceof String s) { System.out.println(s.toUpperCase()); } Note the variable… Read more »

We got lucky

Posted by & filed under ContinuousDelivery, XP.

“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 »