Sunday, May 24, 2009

Shorter Release Cycle

Quality of software can be improved over a period of time by introducing shorter release cycle (I am experiencing it first hand at my current workplace). It is a known fact that software has defects, there could be many reason for that, bad requirement, poor coding and not enough testing, fortunately over the last decade or so people are so use to defect they have started accepting it in some form or another.

Defects which are left in the software too long becomes an undocumented feature and when it is fixed you are bound to upset some of the customers.

Introducing shorter release cycles ensure that software gets out of door more often and chances of identifying defect increased, which in turn means more (and timely) opportunity to fix them. This also means that no defect is left long enough to become a feature.

Shorter release cycle also means more excitement to the development team, users and market, it enables team to release new feature in a controlled fashion to get a feel from the market before you invest heavily in any given functionality. It also give you more opportunity to catch up with your competitors.

Releasing web based software could be much easier, fix has to be deployed only once, and is available to everyone instantaneously, but there is also a downside one defect introduced and everyone is affected immediately, frequent release can also upset web users as no one likes to put up with changes every day, but it gives you an excellent platform to change user habit slowly over a period of time.

Releasing software more often can also pose some challenges to the internal team as well as customer, since customer has to upgrade more often it also creates a sense of uncertainty (as they say 'known enemy is better than unknown friend’), but over a period of time team and customer will get use to the release cycle and will start seeing the value. The key is to release software timely without compromising innovation and stability.

On the final note regularity = reliability = happy customers.