profile

Human DevOps

Friday 7th April - How To Make Better Software, Faster

Published about 1 year ago • 2 min read

New beginnings throw working practices into sharp relief. What worked somewhere doesn't necessarily work somewhere else. Even quite small decisions in tool selection and working practice can have a big impact when they become part of the working methodology. What do I mean? Let's say a team of 10 developers have been working on a new product for a year, they've made some progress but management wants to speed things up so in short time, 10 becomes 30 developers. Do they suddenly see a speed up in the throughput of work? No. Should they expect this? No. Why?

If you've not read the Mythical Man Month then perhaps this is a good time to add it to your collection. I read it at University as part of my software engineering minor and it's a book that has resonated in the last thirty years of building software... until I read the Unicorn Project. Why? Because everything described in these books actually happens in day-to-day software engineering practice - and has done for over forty years now.

Despite regular reminders, software engineering is still a mystery to many. The naive view persists that we can treat software engineering as a manufacturing process - more people equals more output.

Software is not an output from a software engineering process. All there are are outcomes. And often because the outcomes are abstract it's hard to know when to make a change.

Here's another example. A group of the best developers and architects are pulled into a project that will define the infrastructure for a project. They build the machines, or kubernetes infra, they create the pipelines, they create the standards. This is a platform for the rest of the development organisation to use - but this team of individuals sees themselves as too senior to support the developers in using the platform they have created. They will create, but not support. And why should they? They were persuaded to create this new thing by management who had no concept of what they would build.

Whose fault is it that developers cannot reliably deploy to the new infrastructure? Is it the developers shortfall of knowledge? Is it the architects fault for making it too complicated? Or not supporting it? Is it the management's fault for staying too hands off with this process?

So how do you help someone understand something different in a different way?

Similarly when we build deployment pipelines - do we think that having Pull Requests and working in a Gitflow manner is helping our customers?

It's the start of conference season, and I'm shocked by the price/value return for many of them but one I can recommend without having been there is the Fast Flow Conference in London at the end of May. This brings together the Team Topologies experts from around the world. Applying systems thinking and Lean methodologies to our software delivery processes is crucial, now more than ever. Small decisions have big consequences. I hope to see you there.

Enjoy your Easter break!

-- Richard


Doing Gitflow means you’re leaving Business Value on the Table

Published on April 4, 2023

Gitflow means using different branches to develop software. It was invented to help software projects cope with multiple developers making simultaneous changes to a single codebase. It was a good thing when it was invented – better than merge conflicts – but it was only ever a workaround to a workaround. Namely how do you… Read More »Doing Gitflow means you’re leaving Business Value on the Table

Read more...

Human DevOps

by Richard Bown

Join my newsletter for regular views and news about doing effective, essential human DevOps engineering. I dive into the human factors that make successful DevOps organizations and the teams and platforms at the heart of your socio-technical systems. From leadership to team setup, maximizing performance, tools and techniques.

Read more from Human DevOps

It's notable how trends take a long time to get moving, and suddenly, they seem everywhere. For the last month or so, I've been working for the Team Topologies organisation, helping them gather some knowledge about applying their ideas and techniques across the industry. I've been talking to agile and DevOps practitioners, consultants, and coaches, people who are using techniques in organisations to make them more humane, to make them more pleasant places to work, and to improve the flow of...

5 days ago • 2 min read

A couple of weeks ago, I ran the Amstelveen Marathon in support of Suicide Prevention NL. It's the first marathon I've attempted in over 12 years and my fifth overall. My fastest time ever was 3 hours 46 minutes. This time, I hoped to complete it in under 4 hours 30 minutes. I figured that with decent training, including some strength training, I'd be able to manage this okay. However, I really learned an important lesson on the day. I eventually completed it in an undistinguished time of 4...

19 days ago • 2 min read

FastFlow meetup #3 at TeamRockStars IT in Amsterdam Last Thursday night we hosted the third Fast Flow NL meetup in Amsterdam. A small but vibrant group of practitioners shared their ideas and passions about how teams get better together and how architecture finds a way. More than that, we had a lot of fun and laughter and we shared a lot of war stories.Afterwards during mingling this quote for me stood out: "I love being in a room where you can say 'mob programming' and everyone is nodding...

26 days ago • 1 min read
Share this post