Jan 18, 2007

Mission Creep, or Second-System Syndrome, or Jumping the shark

The term Mission Creep originated in military and public service industries. In software development, it refers to the expansion of a system to a mission beyond its original objectives. Note that this is different from Scope Creep:

1. Scope Creep refers to adding new features or specifications to an previously defined project. For example, adding new bells and whistles - unanticipated by project management - to a shopping cart in an online storefront project, after the resources, schedule and budget have bet defined.

2. Mission Creep refers to changing the use of a system beyond that for which it was originally designed. For example, trying to transform a brochure-ware informational website into a transactional ecommerce website without revisiting system design, data and transactional security, performance requirements, etc. If you hear someone tell you "we already have a working website, we just need to add a shopping cart," you have a serious case of mission creep to contend with.

Credit again to Fred Brooks, who (IIRC) coined the term "second-system syndrome" and who wrote "Try to do everything and you will do nothing." Jumping the Shark is used in the entertainment industry to refer to the point when a successful TV series (or film concept or music group) runs out of good material and introduces "bigger and better" gimmicks instead. It specifically refers to the Happy Days episode when Fonzie jumps over a shark while water ski-ing in his trademark leather jacket. It is notorious in a film industry that so frequently relies sequels which are of poorer quality than the original. Unfortunately, there is not much literature that I've been able to find about effective control of mission creep in software programs. Maybe the entertainment industry can offer us some vauable lessons.