Ein kleines Werkzeug für die Entwicklung - oder wie man sich Wartung und Entwicklung einfacher machen kann.
Ein zentrales Thema bei der Wartung bestehender oder der Entwicklung neuer UC4 Abläufe ist das geordnete Modifizieren und Erweitern dieser Abläufe von der Entwicklung über das Testen bis hin zur Produktionseinführung.
Einige zentralen Aspekte, die bei Änderungen und Entwicklungen beachtet werden müssen, sind:
- Zusammenfassung: Änderungen müssen sich fachlich zusammenfassen lassen, bspw. zu einem Change.
- Exklusivität: UC4 Objekte eines solchen Changes dürfen nicht von mehreren Benutzern bearbeitbar sein.
- Konsistenz: ein erfolgreich getesteter Change muß konsistent bleiben: er darf nicht um neue UC4 Objekte ergänzt werden können, ohne daß die Test wiederholt werden müssen.
- Produktionseinführung: die Änderungen, die in einem Change erfolgreich getestet wurden, müssen auch auch die Änderungen sein, die in die Produktion gelangen.
- Auditing: Changes müssen zwingend mit einem Minimum an Dokumentation belegbar sein.
Weitere Punkte, die im Rahmen eines Changes eine Rolle spielen können, sind bspw. die Versionierung, die Nachverfolgbarkeit der Objekte in einem Change einschließlich der einzelnen Objektversionen. Sie sollen jedoch vorerst nicht berücksichtigt werden. Interessanter ist es m.E. zu überlegen, ob und wie man die oben angeführten Aspekte einfach und wirksam unterstützen kann.
Und das geht - sogar mit vergleichsweise geringen Aufwand. Benötig werden dazu im wesentlich "nur":
- eine zentrale UC4 VARA, in der alle UC4 Objekte gespeichert werden, die bearbeitet werden.
- zwei Scripte, mit denen sich UC4 Objekte von einem Benutzer sperren oder freigeben lassen.
- ein Script, mit dem sich gesperrte UC4 Objekte einem Change zuordnen lassen
- ein weiteres Script, mit den sich die unterschiedlichen Arbeitsschritte bei der Wartung - Commit, Freigabe in eine Testumgebung, Freigabe in die Produktion - durchgeführt werden können.
In der UC4 VARA werden alle UC4 Objekte gespeichert, die aktuell in Bearbeitung sind, und einem Change zugeordnet. Die UC4 Objekte können einfach über zwei Script, die über den "Senden an" ("Sendto") Menüpunkt aufgerufen werden, gesperrt (dann werden sie in dieser VARA eingetragen) oder freigegeben (dann werden sie aus der VARA wieder entfernt). Objekte, die bereits in der VARA enthalten sind, können kein zweites Mal gesperrt werden.
Außerdem wird ein oder mehrere Script(e) benötigt, mit dem sich gesperrte Objekte einem Change zuordnen lassen. Eines dieser Scripte dient dazu, für einen neuen Change eine Change-VARA im UC4 anzulegen. In dieser VARA werden alle mit dem Change zusammenhängenden Informationen gesammelt, so bspw. wer den Change beauftragt hat, wer ihn bearbeitet, Freigaben nach Test oder Produktion, Fertigstellung usf. Der Name dieser VARA wird den UC4 Objekten, die für den Change bearbeitet werden, als Wert zugewiesen.
Mit einem weiteren Script wird der Change durch die einzelnen Bearbeitungsstufen - Entwicklung, Freigabe (Commit), Freigabe in eine Testumgebung und Freigabe nach Produktion, Abschluß - bewegt. In wesentlichen ändert sich hierbei nur der Status des Changes, ggf. werden Objekte für die Freigabe transportiert oder exportiert oder ein Protokollsatz geschrieben. Je nach Anforderungen kann dabei ein konsequenter Workflow aufgesetzt werden, der zwingend und verpflichtend eingehalten werden muß. Mit Abschluß des Changes wird die Change-VARA archiviert und alle UC4 Objekte, die zu dem Change gehören, freigegeben.
Es lassen sich noch einige Erweiterung vorstellen, die mit geringen Aufwand umgesetzt werden können. Solche Erweiterungen können z.B. sein:
- eine frühzeitige Meldung, wenn ein Change beendet werden soll, an den aktuellen Bearbeiter.
- die Anzeige, wer ein bestimmtes UC4 Objekt bearbeitet.
- die Anbindung der Änderungen an ein zuverlässiges Versionsverwaltungssystem, bspw. svn.
- das Erstellen einer umfassenden, auditkonformen Dokumentation für einen Change.
Natürlich ist ein Verfahren wie hier in groben Zügen von mir skizziert, nur möglich, wenn sich alle Beteiligten an dieses Verfahren halten. Dann aber bietet es ein zuverlässiges Hilfsmittel, um Change transpartent und konsistent umsetzen zu können.
Bei Fragen oder Interesse an weiterführenden Details können Sie mich gerne kontaktieren.