Thumbnail image

NOT SHIPPING STUFF? XPS SECRET WEAPON: COLLECTIVE OWNERSHIP BEATS SILOS EVERY TIME

🚀 Specialization => Silos (And Why That’s a Problem) Many will read this and think they already do it. But there is always more to do especially as scale always attempts to reinvent this problem in new ways. What was once the solution to last weeks problem is now the cause of todays problem. This is a process that should continue left all the way up the chain. You hired a “Deployment Wizard.

Read more
Thumbnail image

BREAKING DOWN SILOS: HOW ALIGNED TEAMS SHIP FASTER

Every tech leader has seen it: A “high-priority” feature takes weeks (months!) longer than expected, not because the work was hard, but because of misalignment between product, engineering, and delivery. The root cause? Teams optimized for local efficiency, not system-wide flow. When product defines requirements in isolation, engineering builds without early feedback, and delivery is brought in too late, delays and rework are inevitable. But the best teams don’t just collaborate more— they redesign their workflow to eliminate handoffs entirely.

Read more
Thumbnail image

STRUCTURAL FAILURE LOOKS LIKE QUALITY AND DELIVERY FAILURE.

Different ways of working have different failure modes. We tend to pick ways of working that are simple to understand but have incredibly complex and costly failure modes. All our processes can be split into 2 approaches: handoff over multiple teams cross-functional team Both approaches have benefits and shortcomings. However, humans are not wired to understand the shortcomings of handoffs. This is because we don’t see the feedback loops; these processes exist in time, making it incredibly hard for us to grasp problems that occur over time.

Read more
Thumbnail image

AGILE IS DEAD - HOW CAN SOMETHING THAT NEVER WAS BE DEAD?

TLDR This debate about agility is allegedly about getting more done, but its not. It’s about people being unhappy because the way we work can be disempowering, disrespectful and demeaning. It is horrible being on the end of a sustained drag of picking up individual tasks, doing them and picking up the next with no connection to the impact of that work or say in how or what should get done.

Read more
Thumbnail image

TECHNICAL DEBT IS NOT CONSTRUCTIVE

The Metaphor Technical Debt is typically a measure of the cost of developing software. Given time pressures it is often desirable to make short term decisions in order to enable the release of value sooner. This can lead to software that is more difficult to maintain and modify - for instance it will often lack the necessary abstractions or have poor structure. This software is often said to have a high “technical debt”.

Read more

GOING FASTER DOESN'T GET SOONER - DOING LESS DOES

I think an image of Sysiphus pulling a backlog up a hill sums this post up. Co-pilot wants the agile coaches to wear capes and a sprint review party at the top of the hill. Scary stuff! I say things like ‘Humans cannot intuit multiplication’, ‘complexity is multiplication’, ‘we can manage complexity but not remove it’. TLDR The glue for all this is that the amount you go faster does not produce a straight line with reduction of time to get there.

Read more

IS / SHOULD WHAT WE DO WHEN BUILDING SOFTWARE BE CALLED ENGINEERING?

Agility as learning - engineering as the realisation of telos Other classical forms of engineering are not really working in complex adaptive systems, they are in physical systems. Whilst we can take scientific method from them, the thing we are measuring and building for will change its behaviour - and we are in the business that should be designing for this. This is very different to say a bridge or tunnel - which are phenomenally complicated things.

Read more

DEBUGGING TEAM DYSFUNCTION - SAFETY

I recently got told that the cycle of depression goes something like this You feel like you should be doing something Not having done it leads to you having negative thoughts (usually about yourself) So you promise that you will do the thing which may also involve negative thoughts goto 1 The point behind this is that not doing things and also feeling bad about not doing things gets into a cycle that leaves people feeling depressed.

Read more

SOURCE CONTROL LOG HYGIENE - AKA SHOULD YOU SQUASH COMMITS?

Engineers love things to be neat, simple and clear. It’s all we do! When we are implementing something new we should realize that if we reorganize everything then we can make a change in a single place and Blam! we are done. Working in this way is incredibly safe if we have other good engineering practices - such as outside-in TDD driven by meaningful customer interaction based requirements. This results in almost every single engineer - ever - at some point in their career deciding that squashing commits is a good idea.

Read more

SABOTAGE: USE GOVERNANCE TO COUPLE USER BEHAVIOR TO CODE DEPLOYMENTS

In engineering we can do so many things that have changed the way experience is delivered to customers. Sufficiently advanced tech looks like magic (to butcher Arthur C. Clarke). The next bit is likely old news for many readers (ie private companies in industries like ecom) - however, in public sector governance this might fall under the category of ‘radical thinking’ because we rarley see this happening. It seems like contract negotiation maybe gets lost in the weeds and misses the big picture of what constraints the agreement puts on how delivery can work.

Read more

COMPLEXITY KILLS PROJECTS - BUT YOU *CAN* MEASURE IT

Complexity kills projects It causes everything to stop as more and more energy has to go into changing the existing system rather than producing the desired work done. There is a wonderful equation in physics: Work Done is Force times Distance. If you fail to move something over a distance, then you have not done any meaningful work. Think about that next time you are holding a weight - it doesn’t mean you are not expending energy.

Read more

IS 'DONE' A TOXIC IDEA? AKA RISE OF CEPHALOPODS AND DISTRIBUTED CONSCIOUSNESS.

Done is the idea that something is finished. It has reached its end state. It has been built, it has reached its teleological end. Isn’t it strange that something that has only just been built is done? It has gone through its life cycle? It has achieved its purpose? Does that sound like something that has just been shipped or something that is about to be retired? Do we really mean Done?

Read more

WHY COUPLING AND COHESION IS A TERM PRODUCT AND DELIVERY NEED TO UNDERSTAND DEEPLY TOO!

Coupling and Cohesion We work in a world where we build things that need to change and they need to change in ways we cannot really know yet, Because of this our primary design goal at all levels is to be able to make changes - therefor when we have systems that are hard to change we know our designs could improve. This means our delivery, product and technical designs all can have the same ideas and principles applied to achieve slightly different practices and understanding - but all be connected by the same framework.

Read more

SABOTAGE! HOW TO DESIGN A PROJECT WHERE EVERYTHING WILL GO WRONG AND MOST PEOPLE WON'T UNDERSTAND WHY

Why write about sabotage? Skip this section if impatient, it is introducing an idea for this series of blog posts, and why. I have been trying to write a positive piece to explain what ‘good’ would look like, and it’s really hard because I don’t think there is a space that is good - it is more the space of ‘well we tried those things and found their tradeoffs suck, so now we are left with spaces and ways of working that avoid those patterns - and if they are required we deliberately choose them expecting, and so measuring and managing, problems’.

Read more

ON DELIVERY, PRODUCT, VALUE, AND THEIR RELATIONSHIP WITH CLIENTS AND CUSTOMERS

So often I go onto projects that are floundering because basic errors have been made in team structures. This is simply because often people put into non-technical roles lack the holistic view and deep technical expertise of how whole systems behave. The view of these roles is often that they are just about maintaining and updating spreadsheets of how progress is to be tracked against timelines - which is arguably one of the largest wastes of resources when a project is late.

Read more

WHAT CAN STARCRAFT 2 TEACH US ABOUT DELIVERY: COST OF DELAY

Starcraft 2 is a Real Time Strategy game (RTS) where 2 or more players play against each other to build a base and construct units and then blow stuff up. The first person to lose all their buildings loses. Lots of fun. Its 14 years old and made me realise something really important. Most games that I invest time into getting good at end up giving me insights into what we do professionally.

Read more

QUEUES AND BACKLOGS ARE A CAUSE OF LOW QUALITY IN DELIVERY

A question Are delivery and product people aware that in engineering, we have various types of queues and buffers? There is a significant amount of science and theory behind queues and their management—it is essential because they are a core part of how large-scale systems perform. How much of this theory, experimentation, and practice exists in the product and delivery space, where the digital delivery production system happens? In my experience, it is none but has anyone tried to cross pollinate here?

Read more

MODERN XP SHOULD NOT BE FOCUSSED ON ENGINEERING

Who were the XP People When XP came about it was from a position of highly skilled people with a wealth of experience attempting to describe a sane way of doing the whole thing that was known as engineering. This is back when everyone from delivery to production were considered engineers. These people were generalists, they understood the customer, the business, they were entrepreneur minded people, they wrote books and created community in an era where most communication took place via a printing press and book shops.

Read more

WHEN WILL IT BE DONE? FEEDBACK LOOPS AND DETERMINISM - WHERE DELIVERY MEETS ENGINEERING

In the delivery realm, we have one fundamental question: How long until we get our stuff? Gross Lead Time Does Not Depend Upon Estimates The last post summarizes how gross lead time of delivery does not depend upon estimates - the vast majority of the time comes from how the system is structured. This system is what produces the enormous variance via feedback loops (and later we will find also wait times, but we have not considered multiple pieces of work yet).

Read more

FLOW: SYSTEMIC PREDICTABILITY COMES FROM ELIMINATING FEEDBACK LOOPS

TLDR I want to get to writing about how capacity of teams works with rates on input and throughput - but to get to that I think the previous 2 posts need summarising in a way that can be taken as a simple call to action. The summary of these posts is that if you want to go fast and have quality and do surprising things then we need to employ cross-role ensemble teams.

Read more

WHY ARE WE LATE? HOW DO WE INCREASE THROUGHPUT?

Humans are terrible at understanding feedback loops In The Goal it is stated that businesses have about 80% waste. This means for every 100 spent only 20 delivers value. This sounds surprisingly high. By the time you read the following I think you will suspect this is low for the operational processes involved in designing, building, delivering, running and maintaining software. We know people are bad at understanding the effects of compounding.

Read more

THE POWER OF PREDICTABLE METHODS

Table stakes - Best practices and predictable repeated failure Engineering projects often go badly wrong and waste large amounts of money and damage the mental health of those involved. The cause of this is often seen as deployment and quality failure. However the root cause of this is often the decision making frameworks.I don’t expect anyone to just trust me on that, but what I do want to show is that when we introduce some structure and analysis it is pretty simple to fix a lot of problems.

Read more