http://www.perlmonks.org?node_id=327519


in reply to Re^2: Small incremental releases are good!
in thread Small incremental releases are good!

# Incremental releases means that you can practice your QA and integration tasks more if you wish. People get better with practice. # Incremental releases mean more bug fixes are available sooner. The sooner I get a bug fix the more time I have for integration and regression testing. More time is good. # Incremental releases mean you get more opportunities to re-prioritise. You can lobby to get the patches that are more important to you done earlier. # Small releases are easier to schedule, so are more likely to come out on time - making the work of QA and integration people much easier to plan.
Nooooooooooo! If you change your code, then you need to test all the parts it touches. That means every nook and crany has to be looked at over and over. A big PITA. Incremental or long term releases (1 month, 2 months.. whatever) resolves the same # of bugs. If you can accumulate an amount of bugs over a month or over 30 seperate days, fixing them on schedule, you fix the same amount of bugs. Smaller releases are easy to schedule for the developer and QA, but it doesn't mean qa et al will be able to turn around in a day. If a release takes QA a week to test minimally, trying to squash it to a day or two only hurts them.

Play that funky music white boy..
  • Comment on Re: Re^2: Small incremental releases are good!

Replies are listed 'Best First'.
Re^4: Small incremental releases are good!
by adrianh (Chancellor) on Feb 09, 2004 at 10:59 UTC
    Nooooooooooo! If you change your code, then you need to test all the parts it touches.

    As I said before:

    Just because there are regular updates doesn't mean you need to use them. I don't go around every live project and update modules every time a new release comes out. Release and integration are independent tasks.

    Just because there are many releases doesn't mean you have to integrate every one. If you need the features / bug fixes you integrate. If you don't wait. They are independent tasks and can be scheduled appropriately.

    That said, I would still recommend integrating as often as possible for the other reasons mentioned.

    That means every nook and crany has to be looked at over and over. A big PITA.

    As I said before:

    If integrating code is causing problems spend some time figuring out why. You can often make it easier

    This is what regression tests, acceptance tests, etc. are for. I run all my integration tests several times a day. Microsoft build their apps daily.

    Obviously before a full public release of a public application you'll go through a slightly more extensive testing period. However if you're QA group cannot integrate minor updates in less than a week you should buy them some books and get some consultants in to train them up in some more modern practices.

    If you can accumulate an amount of bugs over a month or over 30 seperate days, fixing them on schedule, you fix the same amount of bugs

    But do you fix the same bugs? If you release more often you can re-order your priorities more often and respond to changes more quickly.

    If a release takes QA a week to test minimally, trying to squash it to a day or two only hurts them.

    In my experience when somebody says "We can only integrate once a month because it takes a week to do", it turns out in the end to mean "It takes a week to integrate because we only do it once a month".

    An integration and testing process that happens once a month is built up around bulk changes, testing many new features, dealing with many integration failures, feeding large amounts of feedback back to the developer, etc.

    If you do it more often you're dealing with fewer changes, fewer features, fewer integration failures, less information, tighter feedback loops, etc.

    In most cases the more often you do it the faster it gets.