Why are deployment pipelines important?

I’ve been using deployment pipelines since 2011 starting with GoCD and then other tools. A few months ago, I joined DevOps experts Helen Beal of Ranger4, and Sam Fell & Anders Wallgren of Electric Cloud to discuss deployment pipelines for modern software delivery as part of the Continuous Discussions (#c9d9) series (episode 88).

(YouTube video segments below)

Key takeaways:

  1. The concept of the deployment pipeline was defined and popularised by the 2010 book Continuous Delivery by Jez Humble and Dave Farley.
  2. Deployment pipelines are a really key concept for modern software delivery – all changes flow through the deployment pipeline.
  3. The fast feedback from deployment pipelines can and should completely change the way we approach software. We can expect rapid feedback on changes which encourages us to make smaller, more frequent code check-ins.
  4. Value Stream Mapping can be a powerful way to uncover large wait times in the delivery flow.
  5. A “walking skeleton” deployment pipelines – essentially modelling the current approval/change flow but with empty stages in a tool – helps us to sense-check the current state: “do we really need an approval gate at this point?”

Continue reading Why are deployment pipelines important?

How to run a good tech conference

I founded and helped to run the first PIPELINE Conference in 2014 and I have been part of the team that has run 5 of these events to date. Here are my thoughts on how to run a good tech conference based on my experience with PIPELINE and with other events I have attended and spoken at.

tl;dr: fabulous team + great attendee experience.

PIPELINE Conference team - photo by Fabienne Jung
PIPELINE Conference team – photo by Fabienne Jung

Continue reading How to run a good tech conference

Diversity in tech conferences and meetups – how and why

I have been helping to promote greater diversity in tech conferences and tech meetups since 2012. Here is my thinking on how to promote diversity in tech events and why I think diversity is important.

Update: please first read this post from Trisha Gee: What Can Conferences Do To Attract More Women Speakers? and then this post by Jez Humble on How To Create A More Diverse Tech Conference. Trisha and Jez make many excellent points; in this post I try to offer some additional perspectives.

Since 2012 I have been running several meetups and conferences with a technology focus: London Continuous Delivery meetup group (2500+ members with around 80 different speakers in total), PIPELINE Conference (5 events since 2014 with around 50 different speakers), CodeMill digital skills meetup, and Assembly Conference. I have been keen to attract and promote a diverse range of speakers and attendees to all these events, and I think (with help from amazing team members) we have been fairly successful in promoting diversity in these tech events.

IMG_20180323_183132

Much of this diversity improvement has been focused on encouraging more women to speak and attend, but of course there is more to diversity than just gender; recently, I have tried to address other aspects too, including ethnic background, social class, and also personality “type” (particularly more introverted people).

Continue reading Diversity in tech conferences and meetups – how and why

Designing organisations for responsiveness

Key points:

  1. Set up the organisation to ‘sense’ its environment
  2. Treat internal teams (almost) as external providers
  3. Conway’s Law should shape our organisation design
  4. Promise Theory is a useful approach to organisational agility

IMG_20171002_125459

I have been doing quite a bit of work recently with various organisations to help them develop new capabilities for building and evolving software-rich services. Part of this work involves thinking about the responsibilities of different teams and how these evolve. This blog post captures some thoughts and links on how the more successful organisations arrange themselves for agility and responsiveness.

Continue reading Designing organisations for responsiveness

Continuous Deployment is a niche practice; Continuous Delivery is more fundamental.

Summary: many people confuse continuous deployment (pushing changes to live systems many times per day) with Continuous Delivery (reliable software releases through build, test, and deployment automation). Here is why I think that Continuous Delivery is the more fundamental practice.

(Update 1, 2017-11-02: clarified ‘continuous deployment’ and the on-premises context)

IMG_20170212_124433578

Continue reading Continuous Deployment is a niche practice; Continuous Delivery is more fundamental.