Trialling One Day Sprints

1-day sprints are a fantastic way of turning the traditional time pressures a team might face from negative to positive. They act as a time constraint on the team and force clarity, agility and feedback into your work system in far more significant amounts than you might already have. They can act as circuit breakers for teams struggling to meet sprint goals. They can create momentum in and outside of the team and encourage teams to focus on producing the smallest impact possible for your users. They carry risk, but some thoughtful conversations upfront can minimise any negative impact later on - and the rewards are well worth it. ...

October 17, 2021 · 7 min · Alex

Implementing a team topology

Any organisation that designs a system (defined broadly) will produce a design whose structure is a copy of the organisation’s communication structure. — Melvin E. Conway Introduction Team topologies are a concept created and popularised by Manuel Pais and Matthew Skelton. They describe a way of reforming your organisation shape in such a way that improves the architecture of your software while reducing cognitive load and directing more energy and focus towards the streams of value that flow through your organisation. ...

February 24, 2021 · 21 min · Alex

Running Deployments with Github Actions

In a previous article I wrote about Getting Started with Github Actions . In it, I talk about the basics of Actions, how they work, what the language looks like and how you can get started. If you’ve never used Actions before, I highly recommend you have a quick read of that before reading this, as I build on some of the ideas presented there. Continuous Integration (CI) versus Continues Deployment (CD) versus Continuous Delivery (unhelpfully, also CD) Put simply, continuous integration is the act of continually moving your changeset into the wider codebase, as frequently as it makes sense for your use case. CI is an essential practice because it drives us as engineers to produce smaller changes more often, and these small changes tend to be less risky individually. Those small changes also lead us to deliver value to our users more rapidly, and more often. ...

July 13, 2020 · 11 min · Alex

Getting Started with Github Actions

Continuous Delivery is a foundational skill that your organisation needs to be good at if it is to remain responsive and ’lowercase a’ agile. A full solution for continuous delivery tends to include (but isn’t limited to): The ability to create artefacts that we can release to production, across many products, teams, branches, environments and repositories. The ability to quickly validate an artefact as a candidate for release (through applying the testing triangle - unit, integration, acceptance, smoke and so on). The ability to release code to production without necessarily activating it for users (typically through feature flags, canary built and graduated rollouts). The ability to rapidly respond if a release candidate we later find to be problematic (again through canary builds, graduated rollouts, and by quickly rolling back software found to be problematic). The ability to audit or understand what code is where, what state that code is in, and why that code is where it is. More concretely, a decent CI/CD solution will: ...

May 28, 2020 · 13 min · Alex

Spring Boot - Comparing Liquibase and Flyway

What are Spring Boot, Liquibase and Flyway? The Spring Ecosystem When you need to create a web application or an API in Java, be that RESTful, SOAP or GraphQL; whether you’re looking at synchronous HTTP, Asynchronous or Reactive, Messages on Queues or Event Sourced with Kafka, it’s hard to go past the Spring Ecosystem. If nobody ever got fired for buying IBM, you could probably say that nobody ever got fired for creating a Spring-based application. ...

April 23, 2020 · 9 min · Alex

Remaining Effective in a Pressure Cooker

One thing the Army is good at is teaching you how to function under immense pressure, for extended periods. Speaking briefly about my credentials in this area, I’ve spent just under five years in the Army, nine months of which were in Afghanistan as part of a NATO mission with the New Zealand Defence Force. As with everything, there are folk out there with more experience than me, who have done it harder, for longer. I still feel it’s worth sharing this experience as perhaps the way I do that resonates with you, as the way others share their experience resonates with others. ...

March 26, 2020 · 16 min · Alex

When everything is digital, nothing is

Digital Transformation, Digital Experience, Digital Thought Leader, Digital Coffee Table, Digital DevOps Team, Digital Dystopia Some of these things are not like the others. Have you heard the phrase ‘digital’ so many times it loses all meaning? Try saying it a hundred times and see if the word still sticks in your brain. If you’re like me, it’ll slide right away like a fried egg off a bald head. Now imagine baldy over there is your company. It’s risky for a thing to be so pervasive that one cannot escape it, or mentions of it (or articles about it - no the irony is not lost). ...

November 30, 2018 · 9 min · Alex

Why digital transformations should be dead

Digital transformations don’t work. Everyone wants to talk about digital-led businesses. Every business is a software business, even when they aren’t, people will tell you. But the focus on big bang, project managed, change agent-driven initiatives tend to leave sour tastes in the mouths of long-standing staff. Naive technologists or agilists or product people for that matter exacerbate this when they perform the business strategy equivalent of the ‘seagull’. Discontent frequently morphs into outright opposition, and emotion becomes the dominant decision-making force rather than observation and planning. Eventually, what good will the agent(s) had is exhausted, and they leave the business. Sometimes voluntarily, sometimes less so. ...

November 30, 2018 · 9 min · Alex