Peter Gillard-Moss


Transient opinion made permanent.

What Technology Excellence means to me

Our purpose in ThoughtWorks is to “Create extraordinary impact on the world through our culture and technology excellence”. We also say that “Technology excellence is in everything we do; we’re all technologists!” When I have conversations about this one question comes up. What does “Technology excellence” mean? I’m not for...


Sometimes you need to establish some standards

The bins are a bit of a problem in my house. My wife, son and I throw stuff in the various kitchen bins until they can take no more. They overflow, cascading rubbish onto the floor, and demanding immediate attention. This most often happens when doing something urgent like cooking...


To stream or to batch? What difference does it make?

Whether an integration should be stream or a batch based is a common technical decision. Historically, processes which involved large volumes of data were ‘batched’. Thanks to the cloud and dramatic increases in processing power, many businesses are taking opportunities to move processes to something more ‘real time’. So how...


Thinking about work

At the end of your life, the pie chart of where you’ve spent your time will be mainly sleep, followed by work. The slightly more than a third or so left is all the other stuff. An average week is even more stark: eight hours a day sleeping (if not...


Measuring organisational fitness with the Four Key Metrics

It’s becoming an ever tougher environment for businesses to compete in. They have to be fitter than ever before. Just like athletes, businesses need to know their fitness levels. In the world of Digital, these fitness levels are measured through the Four Key Metrics. We’ve come a long way in...


Coping with COVID fatigue is curbing your enthusiasm

As multiple COVID vaccines roll out many of the most vulnerable are weeks away from protection. For the first time in nearly a year, the idea that we can slowly begin to “return to normal” feels plausible. Yet, with a bitter irony, many are facing the toughest period of this...


What does 'make the work visible' and 'go see' mean in a remote world?

We talk about the importance of making work visible and the leadership value of “go see” has on improving decision making throughout the organisation. That’s one thing in colocated teams and when we have relative freedom of movement. But how do you achieve this when everyone is working remotely and...


Finding the Gemba in Software Development

The Gemba has an almost sacred place in Lean culture. In my own mind it carries similar connetations to the Dojo in martial arts. It’s as if we should bow in and out when entering and leaving, rather than clocking in and out. Or perhaps I’ve taken the martial arts...


From failing slowly to learning at speed

Every organization has ideas on how to improve. Whether that’s ideas to maintain existing customers at reduced costs or increased employee satisfaction (run), sell your existing product or service to more customers (grow), or offer entirely new products or services (transform). A business can generate, quite literally, hundreds to thousands...


Pursuit of Technology Excellence and the Lean Ideal

Amongst agilists, the idea of Technology Excellence is a strong one. A focus on good engineering practices is at the heart of XP. Often this motivations is used to mischaracterise engineers as perfectionists lacking in pragmatism. This narrative is similar to what held back manufacturers like British Leyland, GM and...


Who says Agile doesn't do process?

There is a bit of a myth that Agile doesn’t do “process”. I think this myth stems from the first line of the agile manifesto:  Individuals and interactions over processes and tools -Agile Manifesto And despite the manifesto clearly stating “while there is value in the items on the right, we...


How leaders use decision framing to build autonomy and alignment

It seems impossible to talk about leadership without discussing decision making. The two topics are inextricably linked. Making decisions, and making them well, is a core expectation of leaders. Google’s manager research identified “Is a Strong Decision Maker” as a common behavior across high-scoring managers. Google also call out key...


Leading from afar. How to be an effective leader in a remote world.

Large parts of the workforce have had to switch to working from home, quite literally, overnight. Although often seen as a luxury, the harsh truth of remote working is that it can take a while to learn to adapt to no longer being colocated with your colleagues. Being remote can...


In times of crisis we need data more than ever

Tedros Adhanom Ghebreyesu, the Director-General of the World Health Organisation, said on COVID-19 “Our key message is: test, test, test” because “you cannot fight a fire blindfolded”. The WHO was putting all efforts to increase the availability of tests so they could meet the demand. At the time they had...


People aren't always Users

Several years ago I was called in to help solve a technical argument with a product my company was buying. The argument was around licensing costs and the way the vendor applied licenses to people in the product’s directory, even if they never used the product. The company I worked...


Saying 'Yes' with Imposter Syndrome

I hear the words somewhere in the background “Peter’s probably the best person”. Even before my nervous system can invoke my flight response someone is putting a photography rig, which bears more resemblance to the International Space Station than it does a camera, into my hands. “Would you mind taking...


Understanding OAuth 2.0 and OpenID Connect

I’ve spent a good amount of time trying to get to grips with OAuth 2.0 and OpenID Connect (OIDC).   First you must get over the confusion that OAuth 2.0 isn’t the same, or backwards compatible with OAuth, and that OIDC isn’t the same, or compatible, with OpenID.  Then you realise...


Safety First with AWS Roles and STS

AWS credentials are an extremely precious and powerful asset. In the wrong hands they can cause serious damage either by disrupting services or, more commonly, by acquiring free compute power, usually to mine bitcoins, at your expense - bills with five figure sums over a matter of days are not...


Authentication out of App

The majority of modern web applications require some sort of authentication mechanism. Whether that’s an internal reporting site, a build server, an online store, a blogging engine or even an API. Users need to login to either gain access the entire system or to specific parts, or they need to...


Three rational reasons for being vegetarian

I read the most ridiculous article that a friend posted on Facebook titled THE 3 reasons to give up meat (and 1 not to). The article lead with some really strange and more than slightly ridiculous arguments about vegetarian’s getting more light photons or something. For some reason vegetarianism and...


Machine images as build artefacts

Thanks to the cloud, new innovative approaches in infrastructure management, to make it considerably more reliable, consistent and repeatable, are being proven at scales never before imagined. By combining the benefits of virtualization with high levels of automation, mainstream cloud implementations such as AWS have enabled new properties to infrastructure...


Why Russell Brand is right

Russell Brand got a grilling from Paxman after, writing an article in the New Statesmen, and saying he didn’t vote and telling people there is no point voting. Brand’s central argument is that the current system of democracy in the UK (at least) is a sham, a charade, a pantomime....


Abstract Away & Abstract Into

You’re about to use a third party library in your codebase. Every good developer known that the first thing to do is create some domain specific abstractions by sticking a layer of objects over the top. This encapsulates the third party library and keeps is away from the client code....


Monitorama 2013

I spent the back end of the week attending the Monitorama EU 2013 hackathon in Berlin. It was an enjoyable, well organized affair. The talks, were generally of high quality and those I didn’t find engaging others had called out as some of the best of the day. Which suggests...


Resource centric application

Web application frameworks, from cgi-bin through to PHP and Java Servlets all the way up to ASP.NET MVC, Ruby on Rails etc. are built around the paradigm of modelling a request and response pair: the application receives a request and then generates content, on demand, to return, as a response...


Tiered support is an anti-pattern

Back when the first internet bubble was bursting I had my first web development job. We thought we were sophisticated because we used Macromedia Drumbeat whose killer feature was, gosh, dynamic ASP and JSP websites. This put us a cut above those ‘amateurs’ who chopped huge TIFFs into static HTML...


Website as decorator

The conventional way to build websites, over the last decade or so, has been to treat them as first class applications in their own right. After all, they often have behaviours, and domains, that are very specific to their usage. There has been a downside to this. The result has...


It won't stay that way

Every good developer knows that trying to design your system around future requirements is wasteful. You Ain’t Gonna Need It tells us that we should focus on the functionality we need now and not that which may occur in the future. Every good developer knows that we should only model...


Monitor don't log

Look at the market and you see a bunch of products springing up around monitoring, alerting and logging. Graphite, logstash, logster, graylog2, Riemann, splunk to name a few. To my mind there’s a whole lot of confusion going on. I’m sending logs here, stats there, filtering in this place, alerting...


Weighing the cost of expediency

Here is a situation familiar to us all: you’re working hard towards a release, a story comes up that is essential but its implementation seems expensive especially given the time frames. One of the devs on the team that prides themselves for their pragmatism offers a cheap workaround. It’s slightly...


Install files using CloudInit

Cloud-init is one of those killer apps that makes working with Ubuntu a breeze on the cloud (or even other virtualisations such as lxc). Two of the most basic but awesome features of CloudInit is that it supports multi-part data and custom part handlers. This allows you to do two...


Extreme Architecture

Not touched by human hands Here’s a rule: you can’t ssh on to your production boxes. Not just you, don’t feel like you’re being singled out, nobody else can do it, especially not if they’re human. Not even if they are a monkey or a dog come to think of...


We're not special

“A key differentiator of highly productive teams is the ability to identify what is core to their domain, and thus brings them competitive value, and what is commodity, in order to focus their energies on solving core problems and not commodity problems.” Most of us, at some point in our...


Grade Delusion

There is a terrible failure in reasoning amongst politicians and the media that exam grades and standards have a causal link, that somehow a rise or fall in grades denotes the opposite movement in standards. Not only is this reasoning flawed and the argument both invalid and unsound but the...


Layering the cloud

One of the great things about the cloud is the way you can just run a bit of code or a bash script and before a Windows admin can open their GUI you’ve got a running box. This opens up a host of opportunities and new patterns. Martin Fowler recently...


Later: a story graveyard?

In a previous post I discussed how we divide our backlog into Now, Next and Later. One of the things we’ve observed is how Later seems to be the place where stories go to die. That’s not to say that some stories eventually make it into Next and eventually Now...


Now, Next and Later

When starting a project, or a new phase of an existing project, it is common for teams to try and capture a decent breadth of stories and prioritize and estimate them to form a backlog. From that backlog the team can then start to organize the stories to form some...


The wrong view

How do we decide whether a technology or practice is effective? Go to conferences, read blogs, pick up a book or two? We listen to the people speaking, read the lessons learnt from those blogging, and trawl over the detailed texts where authors offer up their opinions. This is the...