Faktoren, die für das Software-Risikomanagement berücksichtigt werden müssen

Antworten:

10
  • Ist Ihr Team ausreichend geschult?
  • Ist Ihr Team groß genug?
  • Haben Sie einen Notfall, falls jemand das Projekt verlässt, und wie würde sich dies auf den Zeitplan auswirken?
  • Ist Ihr Team zu groß?
  • Haben sie die Ressourcen, die sie brauchen?
  • Könnte ein Wettbewerber ein Produkt auf den Markt bringen, bevor Ihr Projekt abgeschlossen ist?
  • Können Sie mit veränderten Anforderungen umgehen?
  • Können Sie damit umgehen, dass das Projekt irrelevant wird?
  • Haben Sie ein Buy-In von der Geschäftsleitung?
  • Haben Sie Vertrauen in Lieferanten oder Auftragnehmer?
  • Tun Sie intern etwas, in dem Ihr Team nicht kompetent genug ist?
  • Haben Sie ein Budget, das groß genug ist, um die geschätzten Projektkosten zu decken?
  • Können Sie unvorhergesehene Projektkosten decken?
  • Und alles, was spezifisch für deine Umstände ist :-)
Gopi
quelle
Also auch ich teile einige Ihrer Punkte;)
Gopi
5

Ich würde zu @ Grahams Liste hinzufügen:

  • Liegen einige der Anforderungen außerhalb Ihrer Kontrolle (z. B. die Gesetze zur Berechnung der Umsatzsteuer) und können sie sich ändern?
  • Verwenden Sie zum ersten Mal ein Tool und wie sicher sind Sie, dass das Tool für Sie funktioniert? (Es ist möglicherweise brandneu, z. B. Azure, oder nur neu in Ihrem Team.)
  • Verlassen Sie sich auf die allgemeine Akzeptanz eines anderen Produkts durch Ihre Benutzer (z. B. bedeutet das Schreiben einer iPhone-App, dass Sie von Ihren Benutzern iPhones erwarten, das Schreiben einer BlackBerry-App bedeutet, dass Sie von Ihren Benutzern BlackBerries usw. erwarten).
  • Können Sie verlorene oder falsch geänderte Arbeiten wiederherstellen / neu erstellen (nicht nur Quellcodeverwaltung, sondern auch Versionskontrolle für Dokumente, E-Mails von Kunden usw.)?
  • Haben Sie Werkzeuge und Prozesse, mit denen Sie Fortschritt, mangelnden Fortschritt und Regressionen verstehen können? Versteht das Management die Meilensteine? (Ich hatte Projekte, bei denen das Management bei 10% der Fertigstellung Prototypen der Benutzeroberfläche sah und glaubte, die Arbeit sei "fast erledigt", und dann unter Druck gesetzt wurde, sich zu beeilen. "
  • Haben Sie Tests (automatisiert oder nicht), um zu zeigen, dass eine bestimmte Reihe von Änderungen keinen anderen Teil der Anwendung beschädigt hat? Könnten Sie ohne solche Tests jemals wesentliche Änderungen vornehmen, z. B. die Portierung auf eine andere Sprache oder Plattform?
Kate Gregory
quelle
3

Ich würde folgendes hinzufügen:

  • Kennen Sie die Bedürfnisse Ihrer Kunden? Wenn nicht, hat Ihr Anforderungserfassungsteam in der Vergangenheit angemessen ermittelt, was der Kunde wünscht, und hat ausreichend reagiert, um sicherzustellen, dass Änderungen so schnell wie möglich an das Entwicklungsteam weitergegeben werden? Fügen sie den Anforderungen eine Vergoldung hinzu?
  • Gibt es ein vorhandenes Produkt, mit dem Sie konkurrieren, und haben Sie vor dem Entwurf festgelegt, wie Sie mit diesem Produkt konkurrieren werden? Dies ist von entscheidender Bedeutung, da vorhandene Produkte häufig Aspekte aufweisen, bei denen Sie von den ursprünglichen Plänen abweichen können. Ist Ihr Team / Management / Zielkunde in der Lage, durch ein solches Ereignis von der Seite verfolgt zu werden, und haben Sie Notfallpläne eingerichtet, um ein solches Problem zu lösen?
  • Ist das vorgeschlagene Design Ihres Produkts marktrelevant? Auf halbem Weg möchten Sie nicht feststellen, dass es zwar die Bedürfnisse Ihrer Kunden erfüllt, aber keine kritischen Aspekte aufweist, um in der "neuen" Welt bestehen zu können.
Wheaties
quelle
3

Steve McConnells Rapid Development enthält ein Kapitel zum Risikomanagement mit einer nützlich langen Liste potenzieller Risiken. Ich habe es mehr als einmal als Ausgangspunkt verwendet.

Richard
quelle
1

Hast du die richtige Mischung aus Leuten? Befinden sich alle Entwickler von Entwicklern in einem datenorientierten Projekt? Benötigen Sie einen Datenbankdesigner, eine QS-Person oder einen UI-Spezialisten, anstatt nur Mitarbeiter mit demselben Qualifikationsmix einzustellen?

Haben Sie ausreichende Hardware, um das Projekt zu unterstützen? Dies gilt insbesondere dann, wenn Sie ein System mit hohem Volumen erstellen oder wenn Sie zu billig sind, um neben Produktionsservern auch Entwicklungsserver zu kaufen.

Haben Sie Backups Ihrer Datenbanken eingerichtet? Es reicht nicht aus, nur den Code zum Neuerstellen einer Datenbank zu haben. Sie müssen die Daten auch auf dev behalten.

Arbeiten Ihre Entwickler mit einem kleinen Datensatz anstelle eines Datensatzes mit der Größe der Produktion? Dies garantiert fast Probleme mit der Produktionsleistung, da Abfragen, die für einen kleinen Datensatz gut funktionieren, häufig nicht für einen großen Datensatz gelten. Ich habe viele fehlgeschlagene Produktionsupdates gesehen, die aufgrund dieses speziellen Problems sofort zurückgesetzt werden mussten.

Definieren Sie, was in Randfällen zu tun ist, und testen Sie diese? Ich habe zum Beispiel Projekte gesehen, in denen niemand definiert hat, was passiert, wenn eine Genehmigung erforderlich ist, und der Genehmigende Nein sagt.

Werden Sie gezwungen sein, schlechte Designentscheidungen zu treffen, um unangemessene Fristen einzuhalten?

Haben Sie bei Ihrer Planung für das Projekt berücksichtigt, dass Menschen Urlaub und Krankheitstage nehmen, Jury-Pflicht erhalten, Trauerurlaub nehmen usw.? Sie müssen nicht nur für Personen planen, die das Projekt verlassen, sondern auch für die tägliche Freizeit, die die Mitarbeiter erhalten.

HLGEM
quelle