Problem: You want to satisfy your customers. You want to do the best possible job you can with your product, and thus win fame and fortune for yourself.

Forces: Programmers have big egos. Customers don't always know what they want. Programmers often miss the distinction between what's needed and what's "neat".

Solution: You get all of the programmers and designers together in a big room (aka DesignByCommittee) and everybody adds into the product what they want. This process feeds off itself and everyone starts adding new features as the process continues.


CreepingFeaturitis can begin, or continue at any stage in the software development process. It's most common in the Analysis stage, where it results in either an unending Analysis stage (see AnalysisParalysis?) or in an unrealistically ambitious specification. In the design phase CreepingFeaturitis is characterized by adding more bells and whistles than were called for in the Analysis, or by trying to abstract everything before anything is ever made concrete. In the coding stage, it is characterized by coding that never ends as programmers continue to add "one more feature".

-- KyleBrown with inspiration from JimCoplien

EditText of this page (last edited October 23, 1995)
FindPage by browsing or searching