Welche FOSS-Lösungen stehen zur Verwaltung der Softwareanforderungen zur Verfügung?

8

In dem Unternehmen, in dem ich arbeite, planen wir, den Lebenszyklus der Softwareentwicklung einzuhalten. Wir haben bereits ein Wiki, ein VCS-System, ein Bug-Tracking-System und ein kontinuierliches Integrationssystem.

Der nächste Schritt, den wir haben möchten, besteht darin, die Softwareanforderungen strukturiert zu verwalten. Wir möchten kein Wiki oder keine gemeinsam genutzte Dokumentation verwenden, da wir viele Eingaben haben (Entwickler, Manager, Kommerzielle, Sicherheitsanalysten und andere) und wir möchten nicht die Verbreitung von .doc um die Netzwerkfreigabe herum behandeln. Wir versuchen zu suchen und hoffen, dass wir eine FOSS-Software finden und verwenden können, um all diese Dinge zu verwalten.

Wir haben ungefähr 30 Mitarbeiter und kein Budget für kommerzielle Software. Wir brauchen eine kostenlose Lösung für das Anforderungsmanagement.

Was wir wollen, ist Software, die verwalten kann:

Erforderliche Funktionen:

  • Die Softwareanforderungen sind strukturiert und konfigurierbar unterteilt
  • Versionierung der Anforderungen (Verlauf, Diff usw., wie Quellcode)
  • Interdependenz von Anforderungen (Kind von, Elternteil von, verwandt mit)
  • Regelbasierte Zugriffskontrolle für die Datenverarbeitung
  • Multi User, Multi Projekt
  • Datei-Upload (für Grafik, Dokument im Zusammenhang mit oder so weiter)
  • Berichts- und Extraktionsfunktionen

Optionale Funktionen:

  • Webbasiert
  • Testfall
  • Zeitbasiertes Management (Zeitachse, ausgenommene Daten, Ergebnisdaten)
  • Personenzuordnung und so weiter
  • Geschäftsbezogene Sachen
  • Handhabung der Hardwarezuweisung

Ich habe bereits mit Testlink gespielt und jetzt spiele ich mit RTH. Der nächste, den ich versuche, ist Redmine.

Boos
quelle

Antworten:

3

Ich benutze dafür meinen Case Tracker FogBugz. Die meisten Dinge, die Sie notieren, sind bereits integriert:

  • Strukturiert konfigurierbar aufgeteilt

Ich bin mir nicht ganz sicher, was Sie hier meinen, aber jede Anforderung ist ein spezifischer Fall mit einer Prioritätsstufe.

  • Versionierung der Anforderungen

Eine vollständige Historie des Falls ist immer verfügbar, obwohl sie sich nicht unterscheidet, sondern lediglich Änderungen "anpackt"

  • Interdependenz der Anforderungen

Eingebaut

  • Regelbasierte Zugriffskontrolle für die Datenverarbeitung

Ich bin mir nicht ganz sicher, was Sie hier meinen, aber es gibt Benutzerverwaltungsfunktionen, mit denen nur bestimmte Arten von Fällen angezeigt werden können

  • Multi-User, Multi-Projekt
  • Datei-Upload
  • Webbasiert
  • Zeitbasiertes Management

Alles eingebaut

  • Personenzuweisung und so weiter

Eingebaut (Korrespondenten verwenden)

  • Geschäftsbezogene Sachen

ähm ... es gibt alle möglichen Sachen.

  • Handhabung der Hardwarezuweisung

Nicht sicher.

Boni: Wenn Sie Kiln verwenden, können Sie die Erfüllung von Anforderungen in das Einchecken von Quellcode integrieren (Kiln ist nicht erforderlich, aber es ist Mercurial, was ein Plus ist, IMO, es ist einfach zu bedienen und es funktioniert offensichtlich problemlos mit FogBugz).

Steven Evers
quelle
3

Ich habe diese Frage vor ungefähr 2 Jahren bei Stack Overflow gestellt . Ich habe herumgesehen und es sieht nicht so aus, als hätten sich die Dinge seitdem sehr verändert.

Thomas Owens
quelle
Oh ja, die gesamte Software ist die gleiche, rth, rth-turbo, testlink, ich habe redmine nicht ausprobiert, und unser Systemadministrator hat salome-tmf ausprobiert, aber all das Zeug passt nicht zu unseren Anforderungen. Welche Software haben Sie gerade verwendet?
Boos
1
Ich verwende keine spezielle Software: Word, Excel und ein UML-Modellierungswerkzeug (Dia) sind alles, was ich verwende, um Anforderungen statisch zu erfassen. Ein Wiki kann Word und Excel ersetzen.
Thomas Owens
1

Ich bin mir nicht sicher, was Sie für einen Bug-Tracker verwenden, aber ich habe erfolgreich spezielle Problemtypen für Anforderungen erfolgreich verwendet. Im Wesentlichen können Sie mit vielen Softwareprogrammen zur Problemverwaltung (oder Fehlerverfolgung) Probleme miteinander verknüpfen. Sie haben auch das Konzept einer Master-Anforderung mit Aufgaben oder Unteranforderungen. Das kümmert sich um das meiste, was Sie sehen.

Die Versionierung wird mit einem solchen System durchgeführt, indem die Anforderung einer Version zugewiesen wird. Entweder handelt es sich um ein benutzerdefiniertes Feld oder um etwas Eingebautes. Wenn Sie eine neue Anforderung haben, die die ältere ersetzt, verknüpfen Sie sie und brechen die ältere ab. Sie haben jetzt einen Überblick über die Versionen Ihrer Software.

Ein solches Open-Source-Tool, das ich verwendet habe, heißt Redmine: http://www.redmine.org/ Sie werden feststellen, dass sich einige der anderen Tools, die Sie bereits haben, überschneiden. Ich denke, ein wenig Kreativität mit Ihrem Toolset wird etwas bringen, das nahe genug an dem liegt, was Sie wollen, ohne auf DOORS oder (ir) Rational Toolsets zu setzen.

Berin Loritsch
quelle
Im Gegensatz zu Fehlern sind Anforderungen "live" und "entwickeln" sich während des Entwicklungsprozesses. Sie können wie eine andere Version einer Datei in einem VCS-System aussehen. Eine bestimmte Version einer Anwendung besteht aus Dateien mit einer bestimmten Version, und auf die gleiche Weise wird eine bestimmte Version aus einer bestimmten Version der Anforderungen (der Basislinie) erstellt. Beachten Sie, dass es sich um dieselben Anforderungen (dieselbe ID) handeln kann, nur in unterschiedlicher Version. Einem Bug-Tracker fehlen normalerweise diese Funktionen, sie könnten nachgeahmt werden, aber normalerweise erfordern sie viel manuelle Arbeit. Auch viele Bugtracker haben keine echten hierarchischen Ansichten der Einträge.
ldsandon