Geschäftsanforderungen und ein Festpreisvertrag

Ein neuer Kunde bittet uns, ein komplexes Softwareprodukt zu entwickeln (in time and budget). Sie stellten uns geschäftliche Anforderungen zur Verfügung. Diese Geschäftsanforderungen sind ein Text, der logisch in (nicht nummerierte) Kapitel und Unterkapitel unterteilt ist. Es gibt natürlich keine Identifikatoren für Anforderungen.

Sie stellten uns auch ein grundlegendes Diagramm der Softwarearchitektur zur Verfügung, das die Aufteilung des gesamten Systems in Softwaremodule und die Funktionalität, die diese Module bieten sollten, zeigt.

Im Allgemeinen sieht das Geschäftsanforderungs- und Architekturdiagramm gut aus. Aber es gibt viele offene technische Fragen, zum Beispiel:

  • viele architektonische Details
  • technische Details (wie genau die Module implementiert werden sollen, welche Drittsoftware verwendet werden soll, genaue APIs usw.)
  • Nicht-funktionale Anforderungen

All diese Fragen könnten wir natürlich mit dem Kunden erarbeiten, aber das erfordert wochenlange Zeit, die wir nicht haben.

Also erstellten wir für jedes Modul einen kurzen PSP und schätzten den Arbeitsaufwand (basierend auf grundlegenden architektonischen und technischen Annahmen). Nicht alles scheint in die Zeit zu passen, die wir für die Entwicklung haben, so dass der Kunde nur einen Teil aller Funktionen haben wird.

Jetzt denke ich darüber nach, wie ich einen Vertrag abschließen kann. Wie soll ich einen Vertrag abschließen, wenn ich keine klar definierten Anforderungen habe – alle Anforderungen sind über den gesamten Text verstreut, der das Produkt aus geschäftlicher Sicht beschreibt.

Welche Funktion soll ich versprechen, wenn es keine klar definierten Funktionen gibt?

Sie sollten wahrscheinlich nichts auf der Grundlage von Annahmen versprechen, die sich als ungültig herausstellen könnten. Stattdessen müssen Sie dem Kunden mitteilen, dass seine Anforderungen wahrscheinlich nicht in die Zeit- und Budgetbeschränkungen passen. Finden Sie Wege zur Verwaltung dieses Projekts, auf die Sie und der Kunde sich einigen können. Es scheint, als wäre ein agiler Ansatz praktikabel, aber Sie benötigen die Zusammenarbeit des Kunden, um ein Produkt-Backlog zu definieren und zu pflegen und ein anfängliches MVP zu definieren. Wenn sie nicht zur Zusammenarbeit bereit oder in der Lage sind, sind die Chancen auf ein erfolgreiches Projekt gering.
Nehmen Sie keinen Festpreisvertrag ohne klar definierte Anforderungen an, das ist ein Rezept für eine Katastrophe. Stellen Sie außerdem sicher, dass im Vertrag klar festgelegt ist, was passiert, wenn sich die Anforderungen während der Entwicklung ändern, in diesem Fall wird es zusätzliche Zeit in Anspruch nehmen, und der Preis muss neu verhandelt werden ...

Antworten (3)

Ein FFP ist weder für Ihren Kunden noch für Sie geeignet. Wenn Sie das verfolgen, müssen Sie es mit einer Menge Geld und Zeit belasten, die es für einen normalen Kunden undurchführbar machen würde. Und es würde Ihren Ruf ruinieren.

Ein T&M ist für dieses Szenario perfekt geeignet. Bestehen Sie darauf oder gehen Sie weg.

Danke, aber der Kunde will keine T&M
@ChrisBrettini, Sie sind Vertragspartei. Auch Ihr gewünschter Vertrag spielt eine Rolle. Verhandeln Sie mit ihnen. Die Alternative ist ein extrem teures FFP, damit Sie Ihre Risiken abdecken können, oder ein konkurrenzfähiges FFP, bei dem Sie mit hoher Wahrscheinlichkeit Ihr Haus verlieren. Wir arbeiten nicht umsonst; Wir subventionieren unsere Kunden nicht. Diese Einstellung MÜSSEN Sie haben, wenn Sie geschäftlich verhandeln.
Sie deuten auch auf feste Zeiten hin. Sie haben einen festen Umfang, einen festen Preis und eine feste Zeit. Das ist eine Unmöglichkeit für Sie.
Stimmen Sie zu - schauen Sie sich das an: softwareengineering.stackexchange.com/a/6079/201384

Ohne detaillierte und vollständig vereinbarte Anforderungen haben Sie eine Menge Annahmen. Ich schlage vor, dass Sie die Annahmen so vollständig wie möglich dokumentieren und dann einen Vertrag auf Zeit- und Materialbasis mit klar formulierten Annahmen strukturieren. Anschließend können Sie die Annahmen testen und bei Bedarf als Risiken oder Probleme dokumentieren.

Alternativ dazu können Sie es vorziehen, einen Festpreis für einen sehr begrenzten (vereinbarten) Basisumfang festzulegen, der aus den Ergebnissen mit der höchsten Priorität besteht, und einen vereinbarten Prozess für die Abrechnung weiterer, später priorisierter Umfänge aufzubauen. Dieser zusätzliche Umfang ist möglicherweise leichter abzuschätzen, da Sie mehr Klarheit über den Ansatz und ein besseres Verständnis der Anwendungs- / Geschäftsanforderungen haben.

Keiner dieser Ansätze ist perfekt, aber in dieser Situation müssen Sie sicherstellen, dass Sie nicht das gesamte Risiko für Änderungen des Umfangs oder fehlerhafte Annahmen tragen. Ebenso möchte Ihr Kunde auch nicht das gesamte Risiko tragen, sodass möglicherweise ein gewisses Maß an Kompromissen und Schutz auf beiden Seiten erforderlich ist.

Danke schön! Ich denke an die Scope Statement Specification. Wer ist für die Erstellung dieses Dokuments verantwortlich? Ein Kunde? Oder sollen wir ihnen ein solches Dokument vorschlagen?
Der t&m-Ansatz ist perfekt für diese Art von Szenario. +1!
Alles ist verhandelbar! Entweder Sie können das Scope Statement entwickeln, oder der Kunde kann es. Aber wie David Espina an anderer Stelle gesagt hat, Sie arbeiten nicht umsonst, also würde ich nach einer bezahlten Vorentwicklungsarbeit suchen, um den Umfang zu definieren und die Parameter zu vereinbaren. Sie möchten dies nicht umsonst tun, dann lassen Sie den Kunden "Danke" sagen und nutzen Sie es, um mit anderen Lieferanten auszuschreiben (oder die Arbeit anzubieten)! Diese Übung soll Ihnen auch helfen, ein besseres Verständnis zu erlangen, damit Ihre Schätzung am Ende vollständiger und genauer ist.

Einer der zu berücksichtigenden Faktoren ist, ob der Kunde über ausreichende Erfahrung mit dieser Art von Engagement verfügt. Es macht nur Sinn, so etwas anzugehen, wenn beide Parteien bereit sind, später über Spielräume zu verhandeln, sonst geht einer oder beide unzufrieden davon. Der Kunde sollte verstehen, dass ein „fester“ Preis bedeutet, dass er eine Prämie zahlt, damit der Auftragnehmer einen Teil des Risikos übernimmt, und dass er für Dinge, die als außerhalb des Umfangs liegen, extra zahlt. Angesichts der Unbekannten ist der „nicht feste“ Teil des Projekts wahrscheinlich genauso wichtig wie der feste Teil, und der Vertrag sollte dies explizit machen.

Wenn Sie den Festpreis aushandeln, können Sie auch einen (günstigeren) Kostenvoranschlag zum Vergleich angeben. Angenommen, Sie liefern in Iterationen und rechnen durchgehend regelmäßig ab, dann können Sie dem Kunden die Möglichkeit einräumen, jederzeit auf einen T&M-Preis umzusteigen, dh wenn sich herausstellt, dass der undefinierte Umfang dies wünschenswert macht.