CTO Chris Satchell on Nike’s Continuous Delivery Strategy Dana Oshiro

As all companies become software companies, continuous delivery (CD) of software may be one of the most significant and productive changes for businesses this decade. The bigger a company is, the more value it can get from CD, but the harder it is to adopt.

During Heavybit’s Wheelhouse event on Continuous Delivery, Nike’s Consumer Technology Officer Chris Satchell discussed the value and challenges of CD at Nike. Satchell leads 1,400 employees across Nike’s Consumer Digital Technology (CDT), which designs, builds and operates all of Nike’s consumer facing technologies, applications and services globally. Nike is a leader in embracing digital technology to serve consumers, with CDT responsible for execution across Nike.com, mobile and web commerce, brick & mortar retail stores, Nike+ applications, and digital brand experiences.

With this much at stake, nine months ago Nike introduced an aggressive roadmap for global continuous delivery. Since then the company has worked on a transition away from a vertical stack in favor of more scalable distributed microservices, it’s committed to a canary deployment model, and it’s moving from a single physical data center to a multi-regional cloud approach.

Here are Satchell and his team’s high level learnings:

Understand technology is still about people

This is a mindset change more than anything

CD needs to be an enterprise priority to help accelerate change

Leadership support is essential; this is about change management

Quality is not a gate, it’s an ongoing operation

Goal is releasing more often

Focus on catching problems quickly after released rather than trying to prevent them being released

Reducing number of roll-backs is not as important as rolling back quickly and effectively

Focus efforts on monitoring, canary environments, traffic shaping and roll-back tools

Decoupling = Acceleration

Independent microservices are key

Architecture must match Dev paradigm: CD on large monolithic stack is less useful

API versioning & contracts are key; without this, service releases become bound

Focus on constant forward motion rather than fat release versions

Fat release versions get in the way

This can be hard for a traditional product management team to adapt to at first

Aim for better not perfect, especially in big companies

Move towards each release = one story

Find smallest unit of useful work to release; this amplifies the throughput benefits

Release management will need to change

Historically, Release Management’s job is defending the business from bad software

Make Release Management about process verification: verify the process for release, not the release itself

CD releases can proceed independently of continuous process auditing by RM team

Auditing might just be your best friends: CD provides a new level of tracking and visibility; once explained, they embrace it

Conclusion

Huge strides in microservice architecture and CD

approaches are being made in enterprise companies — Nike is just one great example.

Nevertheless, as CD continues to mature, there are still major challenges to implementation for large companies. The challenges Satchell offered at the end of his presentation represent great opportunities for developer companies like our members to build better tools and experiences for enterprise developer teams. Some of those challenges include:

No global build servers that do everything needed

It’s hard to automate the canary release process

Service discovery is an issue, especially for deploying along-side production for canary releases

For more on Heavybit’s Wheelhouse including Michael

Cote’s video on The State of the Enterprise in Continuous Delivery, visit wheelhouse.heavybit.com.