March 18, 2014

Thoughts on Continuous Delivery at Tableau Software

Continuous Delivery

I’ll be one of the panelists on the March 25th live webinar “Expert Panel: Continuous Delivery Best Practices Revealed,” so thought I’d take this opportunity to share a few thoughts in advance of the panel discussion.

Something I’ve been thinking about recently is the difference between Continuous Delivery and “constantly releasable.” The way I’ve been thinking about it is that constantly releasable is about the state of the codebase and development practices, while Continuous Delivery is about the systems, tooling and processes. And while the ideal would be to have both, I think it’s possible to have a constantly releasable product without having a continuous delivery system. That said, it may be virtually impossible to have Continuous Delivery regardless of how good the system is without constantly releasable code and practices. For starters, there would be way too much noise in the system. And you’d have long periods of time when you weren’t able to deliver anything because it simply wasn’t in a deliverable state.

Another thing I’m interested in discussing is the role of Continuous Delivery for packaged, not hosted, products. Tableau is interesting because we have both packaged and hosted versions of our server product. The value of Continuous Delivery to hosted products is something that most people will automatically agree with, but some may think it is of lesser value to packaged products—possibly even undesirable depending on the product and customer base. I would argue that having a solid Continuous Delivery system is of value even if you don’t intend to release your product continuously.

I’m looking forward to exchanging ideas and sharing experiences with the other expert panelists and Continuous Delivery practioners from Intuit and edmunds.com, as well as Forrester principal analyst Kurt Bittner. Hope you’ll join us and bring your best questions!