"[Software-Entwicklung] Plan ist eine ziemlich detaillierte Beschreibung aller Aktivitäten, die Sie unternehmen müssen".
Was im Allgemeinen nicht existieren kann.
Wenn Sie tatsächlich alle Anforderungen haben voll verstanden, und Sie haben alle technologischen Fragen voll verstanden, könnten Sie ein solches Dokument schreiben.
Wenn Sie jedoch etwas tun neu - etwas, das die Benutzer nicht bereits installiert haben - oder Sie verwenden eine neue Technologie, können Sie nicht einmal eine "einigermaßen" detaillierte Beschreibung der Aktivitäten bereitstellen Sie müssen sich verpflichten.
Sie können eine Übersicht zur Verfügung stellen, die einige Ihrer Aufgaben zusammenfasst. Aber während Sie die Anforderungen erkunden, werden die Benutzer Dinge entdecken, lernen und ihre Meinung ändern. Überarbeitung des Plans. Während Sie die Technologie erkunden, werden die Entwickler Dinge entdecken, lernen und den Plan überarbeiten.
Es kann nicht so schwer sein - Leute machen das die ganze Zeit.
Die Zielgruppe des Plans ist das Management. Manager wünschen eine "einigermaßen" detaillierte Beschreibung aller Aktivitäten. Wenn die Benutzer und Entwickler die Anforderungen und die Technologie kennen lernen, ändern sich die Details. Dies macht den "vernünftigen" Test sehr, sehr schwer zu erfüllen. Wenn sich die Details ständig ändern, welcher Detaillierungsgrad ist "vernünftig"?
Änderungen am Plan können (und tun) täglich eintreffen. Die meisten Manager werden den Plan nicht täglich ändern wollen. So werden zu viele Details "unvernünftig". Um einen Plan zu erstellen, der sich nicht oft ändert, muss der Plan eigentlich eine Zusammenfassung der Aktivitäten sein.Die einzige praktikable Version eines "Software-Entwicklungsplans" ist eine Reihe von Zielen, die nicht in Bezug auf die Aktivitäten definiert sind, im Hinblick auf die Funktionalität, die den Benutzern zur Verfügung gestellt wird.
Kurz gesagt, Leute tun es schlecht die ganze Zeit. In mehr als 30 Jahren Softwareentwicklung (viel davon als militärischer Subunternehmer) gibt es eine Fantasie über Planung, die einfach nicht durch die Fakten entsteht. Projekte werden mit "einigermaßen detaillierten" Plänen, zu detaillierten Plänen und ohne Plan abgebrochen.
In der Tat ist ein Plan oft der Hauptgrund für die Stornierung. Warum? Mit einer "einigermaßen detaillierten" Liste von Aktivitäten bedeutet jedes Lernen, dass der Plan falsch ist. Da der Plan von der tatsächlichen Ausführung abweicht, muss etwas falsch sein. Wirf eine Münze. Wenn Sie annehmen, dass die Ausführung falsch ist, brechen Sie das Projekt ab, weil Sie den Plan nicht befolgt haben. Wenn Sie glauben, dass der Plan falsch ist, korrigieren Sie den Plan so, dass er der realen Welt entspricht. Je detaillierter der Plan ist, desto mehr scheint er "richtig" zu sein und umso wahrscheinlicher, dass die Ausführung als fehlerhaft angesehen wird.
Untere Zeile.
Ein Softwareentwicklungsplan kann ein Fantasy-Dokument sein, das als Teil einer "Wasserfall" -Entwicklungsmethodik geschrieben wird, in der alle Arten von Dingen im Vorfeld überspezifiziert sind und Änderungen (vom Lernen im Verlauf des Teams) bestraft werden.
OR
Ein Software-Entwicklungsplan ist ein Agile burndown chart, die einfach den Sprint zeigt abgeschlossen werden. Der "vernünftige" Detaillierungsgrad ist eigentlich ziemlich niedrig - es ist nur eine Zusammenfassung. Und es ändert sich während jeder Sprint-Retrospektive.
Empfohlener Messwert: "Code Complete". Lesen Sie es jetzt selbst, das wird Ihnen helfen zu verstehen. – KdgDev