1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

In praise of continuous deployment

Discussion in 'Off Topic' started by erich37, Aug 7, 2010.

  1. erich37

    erich37 Well-Known Member

    Launching products is one of the hardest things companies do. Most companies pour months of work into making sure everything goes right at a launch – the features are right, the marketing is ready, the press is primed, the product is solid, etc. But a new breed of companies are doing things very differently. Instead of optimizing product launches to go as perfectly as possible, they optimize to have them go as quickly as possible.

    Let’s compare and contrast:
    #1 Optimize for perfection: Features are carefully analyzed and planned, progress is reviewed at multiple stages with various stakeholders, multiple development and testing cycles, launch dates are carefully planned out and coördinated. Result: Product is released every few months.
    #2 Optimize for speed: Features are broken into smallest possible pieces, code is incrementally developed, tested and launched, launch dates are fluid, products can be updated in seconds. Result: Product is released continuously. The emerging term for this is continuous deployment.

    Here are 5 reasons why the continuous deployment model works and you should try it for your company:
    1. You will be more agile: Pushing code quickly means you can launch features quickly, but maybe even more importantly you can also fix things quickly. By lowering the cost of fixing a mistake from days to seconds, you lower the fear of making mistakes which in turn increases your product development velocity.
    2. Product people will love you: What do you think is more appealing to a great product person: A 6 month process of building, tweaking, and justifying a product, or a way to get a new idea in front of customers every day? If you can combine the thrill of instant results with the satisfaction of reaching a large number of customers, you’ve created a very appealing product development environment.
    3. Customers like momentum: One of the surprising results of continuous product deployment is that the the old idea of users wanting a perfect product and not being tolerant of flaws is wrong (at least on the web). It turns out that users are forgiving of flaws if they know that they will be fixed quickly. And they tend to like new features better if they show up at a regular pace every few days instead of one giant new product release that changes lots of things around every 6 months.
    4. No more gatekeepers: The quest for product perfection leads companies to create lots of gates a product has to pass through before it can be released – user studies, UI signoffs, legal reviews, executive approvals, QA tests, support training, and so on. By making product releases radically smaller and faster, these gates either go away or they can be re-organized to be more agile. For example, writing a support document for a single new feature that gets launched today is a lot easier than planning support for the rollout of dozens or hundreds of changes in a big release.
    5. Marketing people will, um, hate you: OK, that’s not really a positive. Or maybe it is. Marketing and PR people (and possibly lawyers) tend to not like the notion of continuous deployment. They are trained to bundle up lots of new features into a big release that is revealed to the world through a carefully orchestrated press and partner roll out that’s designed to break through the noise of everyday distractions. The good news is that marketing can adapt. Continuous deployment can lead to continuous chatter by thousands of customers and bloggers which ends up being very valuable, probably more so than that one article in a Big Newspaper every 6 months when you do a major release.
    Month long product release cycles made sense when it took a while to package up and distribute software and get everyone to upgrade. On the web, packaging and shipping software can be done in seconds and upgrading is automatic next time someone reloads your site. This makes it possible to radically change the software deployment model from carefully planned and tested, occasional releases, to pushing new software to a web site all day long.

    Further read:
    http://www.startuplessonslearned.com/search/label/continuous deployment
    crazyprogrammer and Ahmed like this.
  2. Brandon_R

    Brandon_R Guest

    Isn't continuous deployment the approach vBulletin is taking and look where that's took them.
  3. Princeton

    Princeton Well-Known Member

    great thread - thanks for taking the time to put it up
  4. David McHenry

    David McHenry Active Member

    I do believe that it is.
  5. Ahmed

    Ahmed Well-Known Member

    Nice post, erich37. :)
  6. erich37

    erich37 Well-Known Member

    I guess VB did something else ;)
  7. Onimua

    Onimua Well-Known Member

    I like the way it works now (and how it worked in pre-IB vBulletin days). :cool:
  8. Nick

    Nick Well-Known Member

    Sorry, IB has set a good example of how this method doesn't work well. I prefer option #1: Optimize for perfection.
  9. Forsaken

    Forsaken Well-Known Member

    They're also impeded by the idiocy that is IB upper management.

    I've never seen a company that is so poorly run, at least for customer relations.
  10. Brandon_R

    Brandon_R Guest

    Nailed. And poorly run is a good adjective there.
  11. RickM

    RickM Well-Known Member

    This thread smells of marketers :p
  12. Brandon_R

    Brandon_R Guest

    Technology is dominated by two types of people:
    • those who understand what they do not manage; and
    • those who manage what they do not understand

Share This Page