Software Peter principle

The Software Peter principle is used in software engineering to describe a dying project which has become too complex to be understood even by its own developers.

It is well known in the industry[citation needed] as a silent killer of projects, but by the time the symptoms arise it is often too late to do anything about it.[citation needed] Good managers can avoid this disaster by establishing clear coding practices where unnecessarily complicated code and design is avoided.

The name is used in the book C++ FAQs (see below), and is derived from the Peter principle – a theory about incompetence in hierarchical organizations.