Releasing to production in Shape Up

I’m curious how in Basecamp and other companies using Shape Up are handled releases. Let’s say you’re working on a bigger feature and you dedicate whole 6 weeks to it. When do you do a release?

  • Last day of the cycle? (Meaning that release is considered as part of the Shape Up cycle)
  • Sometimes during the cool-down period. (So, team can include some refactoring and smaller improvement that they decide to do during cool-down.)
  • Some other way?

Also, if you have let’s say three smaller mini-projects each about 2 weeks. How do you do releases? You wait till everything is done or you are releasing immediately as the feature is implemented?

Why am I asking? I feel that even though the team using continuous integration and other goodies of modern CI tools, still I feel there is at least a need for attention during the release process. E.g. you check if everything is working after the release, you double-check logs if there is nothing important, and so on. In nutshell, it steals your attention. So, my question is when the best time is to do releases, so you don’t distract the team.

1 Like

It’s not unusual to ship in the first few days of cool-down. We don’t have a strict opinion about this. It’s another example where the slack afforded by the cool-down comes in handy.

Re: small batch, they ship the projects as they are finished.

2 Likes

Depends on the specifics of the project. If we’re introducing a brand new concept to users then we probably don’t want to introduce little bits of it individually. If the project is more about improving existing concepts then there’s usually no reason not to ship pieces as and when they’re ready.

We often release during cycles as we complete scopes of work – sometimes the scopes orthogonal enough to ship them as soon as they’re done. There might be some sort of final release that integrates the individual scopes, or ships some of the nice to haves.

On other projects, we might ship the simplest end-to-end version of the project half way through the project, then use the remaining time to incrementally release extra detail across all the scopes.

2 Likes

We leave it up to the project squad, so long as it’s before the start of the next cycle (so we can start with a clear slate).

They’re closest to the actual changes and requirement. We like engineers to be responsible for what they’re releasing from beginning to end. Product folks assigned to a squad are also best setup to coordinate releases with stakeholders. (We have to coordinate a lot with marketing and editorial teams.)

We generally have smaller deployments happening throughout the cycle. Large batch projects typically get released as the cycle is finishing, or during cool-down.

1 Like