Wenn Sie die benutzerspezifischen Anforderungen in etwas verwandeln können, das für alle nützlich ist, ist das großartig. Wenn der Kunde bereit ist, die laufenden Supportkosten für das Feature zu bezahlen, auch toll. Wenn Sie jedoch ein kleines Team sind und Schwierigkeiten haben, alle Funktionen zu unterstützen, müssen Sie nur einige schwierige Entscheidungen über die Funktionen treffen, die Sie am wenigsten benötigen, und dann einige Zeit investieren, um sie aus Ihrer Codebasis zu entfernen.
SaaS versetzt Sie in die Lage, Nutzungsstatistiken zu sammeln. Sie sollten Ihre Funktionen erweitern, wenn Sie dies noch nicht getan haben, damit Sie verfolgen können, wer was verwendet. Unsere Erfahrung zeigt, dass die idiomatischsten Kunden in der Regel auch die dysfunktionalsten sind. Der Typ, der seine Füße stampfte und den Atem anhielt, bis Sie ihm einen Export-zu-MS-Access-Knopf gaben, hat ihn wahrscheinlich seit über einem Jahr nicht mehr benutzt. Einige Funktionen bleiben erhalten, obwohl sie nur von einem Kunden verwendet werden, da dieser Kunde laut ist und droht, sein Geschäft jedes Mal an einen anderen Ort zu verlegen, wenn etwas nicht zu seiner Zufriedenheit verläuft. Das Abkündigen der Funktion kostet Sie möglicherweise einen Kunden, aber die Zeit, die Sie für die Unterstützung dieser Funktion benötigen, kann Sie im Laufe der Jahre Dutzende von Kunden kosten. Es ist ein Maß für die Qualität Ihres Management-Teams,
Wenn Sie eine Funktion einstellen, müssen Sie die Entscheidung Ihren Kunden (oder zumindest den Betroffenen) rechtzeitig mitteilen. Ein Zeitraum zwischen sechs Monaten und drei Jahren ist angemessen. In der Tat, wenn Sie sich damit einverstanden erklären, benutzerspezifische Funktionen zu erstellen, können Sie versuchen, Ihre Vertriebsmitarbeiter dazu zu bringen, von Anfang an ein Ablaufdatum festzulegen. Nennen Sie es die "Support-Lebensdauer" und machen Sie deutlich, dass je länger sie es wollen, desto mehr Geld wird es kosten. Versuchen Sie, Problemumgehungen für Ihre Kunden bereitzustellen, damit diese nicht in Schwierigkeiten geraten, wenn eine Funktion ausgeführt wird, z. B. ein Skript, das Ihre exportierten XML-Dateien in das MS-Access-Format konvertiert, oder ein paar Ratschläge zur Auswahl eines besseren RDBMS.
Als vorbeugende Maßnahme haben wir uns vorgenommen, monatlich einen Bericht unseres Verkaufsteams an unser Entwicklungsteam und die Geschäftsleitung zu senden. Dieser Bericht behandelt das Feedback von Kunden - welche Funktionen sind am beliebtesten, welche Funktionen sind am gefragtesten, welche vorgeschlagenen Funktionen sorgen für die größte Resonanz. Dies ist interessant, wenn Sie ein Entwickler sind, aber der eigentliche Vorteil für das Verkaufsteam besteht darin, dass es sich im Kontext des Gesamtüberblicks nun ein wenig mehr Gedanken über die einzelnen Funktionen macht, anstatt einen endlosen Strom von Funktionsanforderungen und Prioritäten basierend zu senden Auf welchem Client war der lauteste? Dies hat dazu geführt, dass unsere Vertriebsmitarbeiter bei der Aushandlung von Anfragen nach neuen Funktionen eine härtere Haltung einnehmen, da sie sich besser darüber im Klaren sind, wo die einzelnen Funktionen in das allgemeine Wertversprechen unseres Produkts passen.
Modularer Code mit vielen automatisierten Tests wird Ihnen helfen, wenn Sie Funktionen in Ihr Produkt hacken und diese wieder entfernen. Letztendlich ist dies jedoch keine Programmierfrage, sondern eine Verwaltungsfrage. Das Schreiben von Code, um einen Verkauf zu tätigen, ist ein Kinderspiel.