Windows Confidential: Kampf der Features

Wenn Sie ein Feature von Grund auf umzugestalten sind, wird jedes altes Feature eine neue Feature-Anfrage.

Raymond Chen

Jeder so oft erhalten eine Komponente der Benutzeroberfläche eine Generalüberholung. Wenn das passiert, alle anderen Funktionen beginnt bei-100 Punkte — auch Features, die bereits in der alten Version existiert.

Dieses Konzept der-100 Punkte wurde ursprünglich von Eric Gunnerson erklärt, wenn wir diskutieren, warum Programmiersprache c# einige Features, aber andere nicht hat. Das Prinzip gilt im Allgemeinen für jede Produkt-Design-Prozess. Jede Idee für eine Funktion beginnt mit einem imaginären Defizit von-100 Punkte. Das bedeutet, dass es erhebliche Net-Positive Auswirkungen auf das Produkt als Ganzes zu demonstrieren, um entstehen als Gegenleistung wirklich verdient hat.

Ein Feature, das eine Verknüpfung zu etwas, die bereits relativ einfach bereitstellt zu bewerkstelligen ist nicht sehr viele Punkte sammeln und schlägt fehl, positiven Bereich zu erreichen. Ein Feature, das nur einen kleinen Prozentsatz der Benutzer profitiert wird auch nicht genug Punkte um das erste Defizit zu überwinden. Ein Feature, das scheint ziemlich einfach eigenständig aber schafft zusätzliche Komplexität, die anderswo letztlich auch sein mögen net negativ. Dies ist eine schlimm genug Situation auch ohne die zusätzliche Strafe beginnen mit einem negativen "Ergebnis."

Start me up

Unter Windows 95 im Startmenü ersetzt das alte Programm-Manager von Windows 3.1. Der Programm-Manager hatte eine Option namens Einstellungen speichern beim Beenden. Wenn Sie deaktiviert es, alle Änderungen, die Sie an Programmgruppen verworfen werden würde, wenn Sie abgemeldet. Windows 95gab es keine entsprechende Funktion.

Wenn Funktion-Entfernung passiert, gibt es oft ein Aufschrei von Leuten, die auf die alte Funktion aus dem alten Design angebracht waren. Sie sagen: "Wie entfernen es wagen Sie die Funktion X aus der neu gestaltete Frimble Framble?" Diese Frage ist jedoch rückwärts. Das Feature wurde nicht von der neu gestalteten Frimble Framble entfernt. Das Feature gab es nie in die neu gestaltete Frimble Framble. So ist es nicht, dass das Feature entfernt wurde – es ist, dass das Feature hinzugefügt war nicht.

Die Entscheidung, kick alten Code an den Straßenrand und von vorne anfangen ist nur für lacht vermutlich nicht getan. Das alte Design möglicherweise nicht mehr für moderne Arbeitsauslastungen geeignet. Eine Design, die funktioniert, wenn ein paar tausend Datensätze vorhanden sind, funktionieren möglicherweise nicht auch, wenn es Millionen von Datensätzen gibt. Das alte Design kann einfach veraltet sein. Anstatt zu versuchen, eine neue Version über die alte Version zu bauen, entschied die Designer mit einem Neuanfang zu gehen.

Alle Funktionen aus den vorherigen Entwurf gehen in eine Feature-Schlacht gegen alle Features aus dem neuen Design. Die meisten werden überleben, weil sie die Grundfunktionen sind jedes mögliches Design berücksichtigt werden müssten. Sie überwinden leicht die 100-Punkte-Rückstand, die alle Features zu Beginn des Prozesses.

Auf der anderen Seite: Weitere esoterische oder selteneren Features möglicherweise nicht, es in die Finale Version machen. Andere können nicht überleben, nicht aus Mangel an Punkte, aber aus Mangel an Ressourcen. Genommen Sie an, ein altes Design 100 Eigenschaften hatte. Genommen Sie an, Sie haben genügend Ressourcen für die neue Version 100 Funktionen geben. Wenn jedes Feature aus dem alten in das neue Design übertragen wurden, wäre das Ergebnis ein neues Design völlig identisch, das alte Design. Wenn das der Fall ist, warum umgestalten es in erster Linie?

Der Konflikt zwischen alten Funktionen und neue kann direkt sein. Alte Funktion X kann in direkten Konflikt mit der neuen Funktion Y sein. Wenn Sie X halten möchten, dann Sie nicht effizient Y, und umgekehrt. Beispielsweise könnte Funktion X unmöglich werden, wenn die Datensatzanzahl ein paar hunderttausend übersteigt. Alternativ kann ein Feature zu machen in einer neuen Version, nicht, weil es die Feature-Schlacht gegen ein weiteres Feature verloren, sondern weil die Menschen zu schaffen die neue Version in erster Linie einmal bewusst die alte Funktion waren nicht fehlschlagen.

In vielen Fällen sind die alte Funktionen mit viel Widerwillen verloren. "Ja, wir wirklich wollte könnte haben wir Funktion X hinzugefügt, und es war eine wirklich schmerzhafte Entscheidung lassen Sie es aus," das Team sagt. "Wir hofften zu schleichen, können aber die geschätzte Kosten für das Hinzufügen der Funktion kam heraus, dass etwa 10 Tage und wir haben einfach nicht, die viel Zeit in unseren Zeitplan. Tut mir leid."

Wie bei jedem Projekt Realität Sie verhindert alles zu tun, würden Sie gerne tun. Teil der Arbeit der Technik macht Kompromisse zu den Dingen, was Sie tun, um zu entscheiden, welche features umgesetzt werden und welche Funktionen haben zurückgelassen werden.

Raymond Chen

Raymond ChenWeb Site, The Old New Thing, und identisch mit dem Titel Buch (Addison-Wesley, 2007) befassen sich mit der Geschichte von Windows und Win32-Programmierung. Die hier bereitgestellte Informationen ist nur für Informationszwecke und dient nicht als Ersatz für professionelle rechtliche Beratung.

Verwandte Inhalte