Zawinski's Law
Zawinski’s Law is a humorous observation about software evolution stating that applications continually gain features until they do everything, even things completely outside their original scope. It highlights feature creep, the gradual expansion of scope in software development.
As an application attracts more users, it faces growing expectations to add more capabilities. A basic note-taking app might later incorporate chat or sharing.
Zawinski’s point was about “platformization”: once users live in an app for a significant part of their day, there is pressure for that app to become a platform that can do everything. Unchecked expansion can sabotage a product’s original value. Adding features is easy, but adding only the right features and saying “no” to the rest is essential.
- Feature creep is unavoidable. Over time, software tends to accumulate more features, leading to software bloat.
- A lean, minimal application that gains popularity will continually add features until it becomes as complex as its competitors.
- Programs expand because users (and product managers) keep asking for 'just one more feature'. There is constant pressure to incorporate popular capabilities to keep users from leaving for other tools.
- Each new feature increases complexity, which makes the product confusing for users. Developers should protect the tool's focus and resist platform sprawl.