Laden...

DonkeySpecs - ein Tool für Spezifikationen (zumindest einen Teil davon) (bisheriger Name: RichSPEC)

Erstellt von der-andreas vor 11 Jahren Letzter Beitrag vor 10 Jahren 7.231 Views
D
der-andreas Themenstarter:in
27 Beiträge seit 2012
vor 11 Jahren
DonkeySpecs - ein Tool für Spezifikationen (zumindest einen Teil davon) (bisheriger Name: RichSPEC)

Ich möchte ein kleines Tool vorstellen: den RichSPEC Editor.

Download bei Sourceforge

Edit: Umzug zu Sourceforge. Es gibt auch ein paar nette neue Features, wie das Verknüpfen von Wireframes mit integrierter Vorschau.

Edit2: Der Name des Tools ist nun DonkeySpecs.

Das Ziel des Tools ist es, Spezifikationen einfach und verständlich zu machen.

Es ist mit WPF umgesetzt und sollte eine ganz gute Usability haben.
Ein umfangreicher Hilfeartikel ist auch enthalten.

Ich freue mich auf Feedback!

Die "offizielle" Beschreibung aus dem Hilfe-Artikel

Mit dem RichSPEC Editor kann man großartige Softwarespezifikationen schreiben, zumindest einen Teil davon.

Eine RichSPEC besteht aus den folgenden Teilen:

Akteure
Wer sind die zukünftigen Nutzer des Systems?

Features
Welche Funktionen bzw. Merkmale existieren aus Nutzersicht?

Funktionen
Welche Funktionen existieren aus technischer Sicht?

Diese können sich mit Features überschneiden, sind jedoch normalerweise nicht dasselbe. Hier ist eher die funktionale Dekomposition gemeint.

Integration
Welche externen Anwendungen werden integriert oder sind betroffen?

Diese Elemente sind nichts Neues, aber eine RichSPEC verdeutlicht diese auf sehr einfache Weise.

Ich muss eine Warnung aussprechen. RichSPEC ist kein Tool für Jedermann. Klar ist es ein relativ triviales Werkzeug mit vielleicht 10 klickbaren Funktionen, aber um es effektiv einzusetzen, muss man immer das Ziel haben, seine Spezifikation auf das Wesentliche zu reduzieren, so dass jeder Stakeholder diese lesen und in einer Minute verstehen kann!

Ich höre Sie schon sagen, dass dieser Editor ja total einfach ist und nur ein Feature hat. Ihre Software dagegen besteht aus hunderten Features und Tonnen an Code. Da ist es nicht so einfach.

Genau darum geht es. Mit so vielen Details kann man schnell die “Mission Goals” übersehen.

Für größere Projekte sollte eine RichSPEC die Einleitung für das Spezifikationsdokument sein (deshalb kann man es so einfach nach Word exportieren), für kleine Projekte reicht es vielleicht vollkommen aus!

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo der-andreas,

[EDIT]Die folgenden recht klaren Worte habe ich gewählt, weil das aus der ursprünglichen Beschreibung für mich so nicht hervorging und sich beim Ausprobieren entsprechend eine gewisse Enttäuschung einstellte. Nach der Ergänzung der Beschreibung geht das Gesagte nun schon aus dem Startbeitrag hervor und man weiß sofort, woran man ist. So ist es viel besser. Danke dafür![/EDIT]

in dem momentanen Ausbaustufe verdient dein Programm aus meiner Sicht den Titel "Tool für Spezifikationen" noch nicht, da man lediglich eine Übersichtsseite mit Stichpunkten erstellen kann, wie man sie im Screenshot sieht. Das ist zwar nett und ansprechend realisiert, reicht aber wirklich nur für Mini-Projekte oder eben als Einstieg für größere Projekte, weshalb die Exportmöglichkeit nach Word auch wirklich angebracht ist, die aber bei mir leider mit einem Absturz endet, vermutlich weil ich Word nicht installiert habe.

Grundsätzlich kann ich den Wunsch nach einem "Tool für Spezifikationen" jedoch verstehen, weil Word einem erschreckend wenig Möglichkeiten an die Hand gibt, um eine (Spezifikations-)Vorlage zu erstellen, die dem Benutzer einen festen Rahmen und gute Hilfen (z.B. eine jederzeit leicht einsehbare Ausfüllanleitung zu jedem Abschnitt, die aber beim späteren Ausdruck nicht erscheint) bietet, die sich trotzdem einfach ausfüllen lässt (also z.B. ohne dass der Benutzer sich um die Formatierung kümmern muss) und ihm gleichzeitig die Möglichkeit gibt, eine beliebige Anzahl von bestimmten Unterabschnitten (z.B. für jedes Feature einen eigenen) hinzuzufügen. Wenn du dein Tool (nach und nach) dazu ausbaust, würdest du aus meiner Sicht eine echte (Markt-)Lücke füllen.

herbivore

D
der-andreas Themenstarter:in
27 Beiträge seit 2012
vor 11 Jahren

Hallo herbivore,

erst einmal Danke für deinen Review!
Du hast Recht. Ohne Word-Export macht es nicht viel Sinn.
Was benutzt du für eine Textverarbeitung? Vielleicht bekomme ich eine Unterstützung hin.

Du hast auch absolut recht, dass man damit keine vollständigen Specs damit schreiben kann. Ich habe mal den Post aktualisiert. Vielleicht ist es so eindeutiger.

Mir geht es wirklich um die Reduktion auf das Wesentliche. Das ist ein "kreativer" Akt und kann man natürlich auch ohne dieses Tool (damit machts aber viel mehr Spaß). Ich benutze diese "Technik" jetzt seit ca. 1 Jahr in meinen Projekten und das hat die Qualität der Spezifikation enorm gesteigert.

Grüße

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo der-andreas,

ich benutze OpenOffice (bzw. LibreOffice). Vielleicht geht es mit AODL- Library für die Erstellung von Dokumenten im OpenDocument Format für OpenOffice,StarOffice,.., aber wenn du einen Export nach RTF einbauen würdest, könnte das Ergebnis vermutlich von jeder relevanten Textverarbeitung gelesen werden.

herbivore

D
der-andreas Themenstarter:in
27 Beiträge seit 2012
vor 11 Jahren

Es wird erst einmal bei der ausschließlichen Word-Unterstützung bleiben.

2 Alternativen sind schon aus dem Rennen:

RTF-Unterstützung recherchiert => kann OpenOffice nicht korrekt darstellen (selbst wenn man es aus Open Office heraus speichert)

HTML in Zwischenablage kopieren => kann OpenOffice nicht einfügen. Scheidet aber sowieso auch aus, da weder OpenOffice noch Word CSS-Befehle korrekt umsetzen:

<style> ul.Actors { list-style-image: url(Icons/user.png) } </style>

Die AODL- Library werde ich mir anschauen, aber erst einmal niedrige Prio.

1.820 Beiträge seit 2005
vor 11 Jahren

Hallo!

Kann OpenOffice denn mittlerweile docx-Dateien öffnen? Denn diese kann man auch ohne installiertes Office erstellen.

Nobody is perfect. I'm sad, i'm not nobody 🙁

D
der-andreas Themenstarter:in
27 Beiträge seit 2012
vor 11 Jahren

Kontinuierlich sind nützliche Funktionen hinzugekommen, ohne aber den Kerngedanken einer primitiv einfachen Erstellung zu opfern:

  • Dateilinks (z.B. Prototypen oder Wireframes)
  • Tracing der Funktionen im Quellcode
  • Integration mit FreeMind Beschreibung hier

Das aktuelle Release 1.3 ist auf Sourceforge.

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo der-andreas,

schön, dass du weiterhin an deinem Tool arbeitest. Der berechtigte Kerngedanke sollte dich in der Tat nicht an sinnvollen Erweiterungen hindern.

Ich würde mir vor allem wünschen, dass man die die Möglichkeit bekommt, eine umfangreichere, hierarchisch strukturierte Spezifikation zu erstellen, also das man insbesondere die Möglichkeit bekommt, unterhalb von Unterpunkten weitere (Unter-)Unterpunkte hinzufügen zufügen und darunter wieder welche, also eine Baumstruktur. Großartige Formatierungsmöglichkeiten für den Text brauche ich nicht, im Gegenteil finde ich es gut, wenn - wie hier im Forum - das Layout vorgegeben ist und man sich rein auf den Textinhalt konzentrieren kann und höchstens mal eine Hervorhebung (kursiv und fett reicht) hinzufügt oder vielleicht* eine Liste oder

  • eine einfache Tabelle (was im Forum leider nicht geht).

Damit wäre man nicht mehr auf Stichpunkte beschränkt, sondern könnte beliebig ins Detail gehen.

herbivore

D
der-andreas Themenstarter:in
27 Beiträge seit 2012
vor 11 Jahren

Ich habe mal wieder ein Update des Programms gemacht.

Der Name ist jetzt DonkeySpecs - simple specs that everybody can understand.
Manche mögen des Icon vielleicht etwas kindisch finden. Ich finde jedoch, dass es so einen hohen Wiedererkennungswert hat.

Ich habe zwischendurch lange überlegt, ob ich es in ein Programm entwickeln möchte, mit dem man eine vollständige Spezifikation schreiben kann und habe mich dagegen entschieden. Am Ende würde man nur Word und Grafikprogramme nachprogrammieren - nur schlechter.

Stattdessen bleibt das Programm eine kleine, aber feine Darstellungs- und Visualisierungstechnik, die man jedoch auch durchgängig zur kompletten Dekomposition des Systems verwenden kann.

Bereits in alten Versionen konnte man hierarchische Specs bauen, indem man einfach für eine Unterspezifikation eine neue Datei erstellt und verlinkt hat. Diese Unterstützung habe ich jetzt noch einmal verbessert, sodass man wirklich sehr große Systeme damit beschreiben kann. Man kann auch innerhalb der Spezifikation die Hierarchie bereits aufbauen.

Ich habe es für kleine private Projekte benutzt und auch für sehr große auf Arbeit. Es hat mittlerweilen einen guten Reifegrad erreicht.

Als Features sind für die Zukunft nur noch ein direkter Bild-Export geplant und vielleicht noch die Anbindung an ein Testplan-Tool und eine bessere Unterstützung der Zwischenablage.

Mit dem Bild-Export kann man es dann übrigens auch in OpenOffice nutzen.

der-andreas

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo der-andreas,

freut mich, dass du das Tool weiterentwickelst.

Ich habe zwischendurch lange überlegt, ob ich es in ein Programm entwickeln möchte, mit dem man eine vollständige Spezifikation schreiben kann und habe mich dagegen entschieden. Am Ende würde man nur Word und Grafikprogramme nachprogrammieren - nur schlechter.

das ist in meinen Augen nicht die zwangsläufige Folge. Im Gegenteil! Ich hatte ja schon in meinem Beitrag weiter oben beschrieben, wie ich mir ein Tool vorstelle, dass eben nicht Word ist und gerade deshalb für das Erstellen von Spezifikationen viel besser geeignet ist als Word:

Grundsätzlich kann ich den Wunsch nach einem "Tool für Spezifikationen" jedoch verstehen, weil Word einem erschreckend wenig Möglichkeiten an die Hand gibt, um eine (Spezifikations-)Vorlage zu erstellen, die dem Benutzer einen festen Rahmen und gute Hilfen (z.B. eine jederzeit leicht einsehbare Ausfüllanleitung zu jedem Abschnitt, die aber beim späteren Ausdruck nicht erscheint) bietet, die sich trotzdem einfach ausfüllen lässt (also z.B. ohne dass der Benutzer sich um die Formatierung kümmern muss) und ihm gleichzeitig die Möglichkeit gibt, eine beliebige Anzahl von bestimmten Unterabschnitten (z.B. für jedes Feature einen eigenen) hinzuzufügen. Wenn du dein Tool (nach und nach) dazu ausbaust, würdest du aus meiner Sicht eine echte (Markt-)Lücke füllen.

Es ist gerade diese Kombinationen an Features und (wenn man so will) Einschränkungen, die den Kick ausmachen.

Im Grunde ist es ein bisschen so wie im hier im Forum: Da gibt es auch nur recht wenige Formatierungsmöglichkeiten, die zudem sparsam genutzt werden, so dass die Texte alle ein einheitliches Layout haben und somit auch der Inhalt und nicht die Form im Mittelpunkt steht.

Das wünsche ich mir auch für ein Tool für Spezifikationen und ähnliche Dokumente, dass die Struktur und das Layout (für den konkreten Ausfüller unveränderbar) vorgegeben ist und er sich wirklich auf das reine Füllen des Rahmens mit Inhalt konzentrieren kann. Und dass er dabei zu jedem Teil, den er ausfüllen muss, die jeweils passende Ausfüllanleitung angezeigt bekommt, ohne dass diese für Leser des Dokuments bzw. beim Ausdruck auftaucht.

So ein Tool bräuchte viel weniger zu können als Word. Die Beschränkung auf die wesentlichen Formatierungen (fett, kursiv, Liste, preformated plain-text, Rahmen/Tabelle und Bild) würde vollkommen reichen. Die Struktur (Titel, Überschriften) und das Layout (Schriftart- und Schriftgrößen, Farben bzw Graustufen, Kopf- und Fußzeilen) würde vom Ersteller des Rahmens fest vorgegeben werden. Das reine Layout könnte sogar durch das Tool vorgegeben sein.

Ich würde mich freuen, wenn du dein Tool in diese Richtung weiter entwickeln würdest oder zumindest diese Entwicklungsrichtung ernsthaft in Erwägung ziehen würdest.

herbivore

D
der-andreas Themenstarter:in
27 Beiträge seit 2012
vor 10 Jahren

Hallo herbivore,

Da ich mich beruflich in letzter Zeit verstärkt mit Requirements Engineering Tools beschäftigt habe, würde ich sagen, dass es das was du beschreibst ja schon längst gibt: Kennst du z.B. Polarion oder ObjectiF?

Auch habe ich selbst vor ca. 5 Jahren eine Lastenheft-Software für IT-Projekte/ERP-Projekte geschrieben ( www.solages.de), nicht für die technische Entwicklersicht geeignet, aber sehr vergleichbar im Schablonen-Vorgehen. Daher kann ich gut einschätzen, was das Resultat eines solchen Tools ist.

Ein solches Tool führt zum einen zur Prozessvereinheitlichung, zum anderen erleichtert es Einsteigern den Zugang zum Thema (Lastenhefterstellung). An manchen Stellen ist die Produktivität enorm verbessert. Absolute Profis werden von solchen Tools jedoch manchmal auch behindert. Gerade für große Projekte ist am Ende aber die Flexibilität wieder wichtig.

Deswegen würde ich persönlich immer die Flexibilität von MS Word, sowie diversen mächtigen Grafik- und oder Modellierungswerkzeugen vorziehen.

Allerdings habe ich auch das Gefühl, dass ich besonders Dokumentations-gesinnt bin und dass andere Entwicklern lieber Code-zentrisch denken und arbeiten und Anforderungs- und Systemspezifikationen eher als ungeliebte Vorarbeit sehen. Insoweit wäre eine ausprogrammierte Best Practice hilfreich.

Langfristig denke ich aber über ein ganz anderes Thema nach. "Living Specifications". Es gibt ja schon Ansätze Akzeptanztests in die Spezifikation einzubetten (ich kenne "Concordion"). Wenn man in der Spezifikation Testfälle spezifiziert (z.B. Rechenbeispiel für eine Rabattberechnung) und dies mit der späteren Testimplementierung verknüpft ist, kann man Qualität auf ein ganz neues Level stellen.

Mit etwas Abstand, finde ich, dass ich mein Tool - mittlerweile heißt es "System Composer" -sowieso etwas überzogen habe. Es ging eigentlich um etwas ganz anderes, was sich scheinbar sehr schlecht kommunizieren lässt, da es von vielen nicht als Problem wahrgenommen wird.

Viele Spezifikationen sind zu technisch aufgebaut. Da werden UML-Techniken eingesetzt oder gar spezielle Modellierungstechniken wie ARIS. Und dann werden Details zu nicht-funktionalen Sachen versucht exakt festzulegen. Ich hatte vor kurzem eine Spezifikation eines großen Konzernes für eine B2B-Website gelesen. Die hatten alles in Anwendungsfallschablonen gepackt und für jeden der ca. 70 Anwendungsfälle alle Details wie Häufigkeit und Vor-und Nachbedingungen beschrieben. Trotzdem war der Informationsgehalt sehr gering.

Bei meinem Tool ging es darum, eine Übersicht zu erstellen, wo Entwickler und Fachnutzer sich gleichermaßen wiederfinden. Ich habe für mich festgestellt, dass dafür das wichtigste die Auflistung von Akteuren, Features, Funktionen und Integrationen ist.

Features, um das Denken in Produktnutzen zu fördern und Funktionen, um die Zerlegung und Strukturierung zu fördern. Das hat für mich im Großen für Systeme mit 100.000 LOC genauso wie im kleinen für eine Teilfunktion mit 5 Masken funktioniert.

Nach ein paar Jahren Einsatz dieser Technik finde ich, dass diese Darstellung nicht als Startpunkt, sondern als Zusammenfassung am Ende einer komplexen Spezifikation perfekt geeignet ist.