Loading ...
Sorry, an error occurred while loading the content.

Re: [XP] How to make a major upgrade into an incremental cycle

Expand Messages
  • James Carr
    Hi, Sometimes we upgrade platforms and when we run all our tests we find everything is green and dandy, or there s a few API changes we might need to fix.
    Message 1 of 2 , Apr 2, 2009
    • 0 Attachment
      Hi,

      Sometimes we upgrade platforms and when we run all our tests we find
      everything is green and dandy, or there's a few API changes we might need to
      fix. Other times, it might be possible to do gradual migrations (i.e. from
      Struts1 to Struts2... luckily the packages are different and they can run in
      the same environment together).

      Thanks,
      James

      On Sat, Mar 28, 2009 at 11:10 PM, Phlip <phlip2005@...> wrote:

      > eXtremos:
      >
      > A Frequently Asked Question of software development _should_ be "how do I
      > safely
      > do a major upgrade, such as switching my entire platform to a new major
      > version
      > number?"
      >
      > This _should_ be a FAQ, but the industry answer is of course usually "just
      > muddle through, break everything, and fix it all up again."
      >
      > We know better. I wrote the correct cycle up for Rails, here:
      >
      > http://broadcast.oreilly.com/2009/03/upgrading-rails.html
      >
      > Stripped of the Rails terms, the cycle goes like this:
      >
      > 1. configure your environment to instantly switch between two versions
      > 2. switch to the new version
      > 3. run all your tests
      > 4. if anything breaks...
      > - fix it
      > - switch back to the lower version
      > - pass all tests in the lower version
      > - integrate
      > - go back to step 2
      >
      > Another outer loop: If you go from 1.2 to 2.2, for example, first go to
      > 1.3,
      > then 1.4, using that entire cycle for each version tick.
      >
      > The point is to force an episodic, radical change into an incremental,
      > controlled change. Each integration becomes the smallest possible delta
      > from the
      > last one. And, naturally, you can integrate, deploy, or release between any
      >
      > integration in the cycle.
      >
      > Has anyone done this?
      >
      > --
      > Phlip
      > http://www.zeroplayer.com/
      >
      >
      >


      [Non-text portions of this message have been removed]
    Your message has been successfully submitted and would be delivered to recipients shortly.