Greg Dziemidowicz's Blog

software development related topics

Delivery Engineering Team

What is it?

One definition could be:

Delivery engineering team enables others to deliver business value faster.

Others, in this context, relates to product/project software delivery teams.

It seems to be a fairly new term, judging by the lack of definition in google or a recent tweet from #devopsdays in Melbourne:

Another, maybe more common name seems to be “tooling team”.

It’s definitely not a “devops team”.

What’s in?

In the delivery engineering team, that I am a part of, some of the metrics we are trying to improve are:

  • CI Build time
  • Deploy time
  • New server creation time
  • New production like environment creation time
  • New developer laptop setup time

I guess there are many ways to go about moving above, but in the teams I’ve worked with, the day to day often was:

  • Moving software from a legacy platform to a new one. (Think AWS/docker migration)
  • Creating tools and practices to support the above.
  • Technology evangelism, training & support for product teams.

What’s out?

The product teams should have full freedom and responsibility to run their apps in production.

So it’s not the responsibility of a delivery engineering team to:

  • Upgrade frameworks and libraries used by a product team. The product team itself should do it.
  • Carry a pager, be on-call as support for production systems (unless those are the systems that delivery engineering team is a custodian of, for example CI server)
  • Be a gate keeper on a path to production. The product teams themselves can decide what and when to release.

Techniques & Practices

Some of the techniques and practices important for a delivery engineering team:

Do you need a delivery engineering team?

Maybe :–)

You most likely need delivery engineering, and if you are big enough, you may decide to form a team around it. The size I have experience with and seems to work OK, is one small delivery engineering team for roughly three product teams. To use spotify terminology, delivery engineering team is part of a tribe and supports squads.

To sum up

This is based on my experience, what do you think? :–)

Are you a member of delivery engineering team? What do you think is important to share?

Are you a “customer” of delivery engineering team, for example a member of product team? What are your toughts on having a delivery engineering team?