Jede Software beginnt einfach. Ein paar Dateien, ein klarer Zweck, eine kleine Oberfläche. Dann werden Funktionen hinzugefügt, Grenzfälle behandelt, und schon bald sehen Sie sich etwas an, für dessen Verständnis ein Diagramm erforderlich ist. Dies ist nicht unvermeidlich, aber es erfordert Disziplin, um es zu verhindern.
Das Schwierige an der Einfachheit ist nicht das ursprüngliche Design. Es ist der anhaltende Widerstand gegen Komplikationen. Jede Funktionsanfrage, jede Fehlerbehebung, jede Umgestaltung ist eine Gelegenheit, die Komplexität zu erhöhen. Nein zu sagen ist die wichtigste und am wenigsten gefeierte Designfähigkeit.
Als Feature entfernen
Die beste Version eines Produkts verfügt oft über weniger Funktionen als die vorherige. Nicht, weil Features fehlten, sondern weil jemand den Mut hatte, Dinge zu entfernen, die seinen Lebensunterhalt nicht verdienten. Jede Funktion hat ihren Preis – in der Wartung, in der kognitiven Belastung, im Gewicht der Schnittstelle.
Einfachheit ist eine Praxis, kein Ziel. Man kommt nie zum Einfachen. Du fragst immer wieder: Ist das notwendig? Könnte das klarer sein? Gibt es eine Möglichkeit, dieses Problem zu lösen, indem man etwas entfernt, anstatt etwas hinzuzufügen? Die Antwort lautet: Ja, häufiger als erwartet.