2

Agile System Administration (ASA)

Im aktuellen Linux Magazin habe ich einen interessanten Artikel zum Thema agile Methoden in der Systemadministration gefunden. In der Softwareentwicklung ist der agile Gedanke zunehmend verbreitet. In dem Tagesgeschäft eines IT-Administrators wird agilen Ansätzen derzeit wenig Beachtung geschenkt.

Marcel Wegermann beschreibt in dem Artikel wie sich die agilen Praktiken auf die Arbeit eines Administrators übertragen lassen. Durch Anpassen der Regeln lässt sich so eine ASA (Agile Systemadministration) auf die Beine stellen.  So werden in diesem Artikel Zehn agile Regeln für die Systemadministration aufgestellt, die sich an XP Grundpraktiken orientieren:

  1. Jede neue Funktion (z.B. Server, Service, Standleitung oder das Hosting) muss durch automatisierte Tests abgedeckt sein.
  2. Teammitglieder administrieren zu zweit an der Konsole, wenn sinnvoll
  3. Dokumentation auf Papier ist tot. Automatisierte Tests und die Konfiguration selbst sind Dokumentation genug. Kommentare ergänzen die Monitoring-Tests.
  4. Das Team bespricht jeden Notfalleinsatz in der Retrospektive. So findet es die Ursachen für Wochenend- oder Notfalleinsätze und stellt sie zügig ab.
  5. Risiken müssen aufgedeckt und schnell beseitigt werden (Transparenz schaffen)
  6. Technische Entscheidungen liegen beim Team. Alle Mitglieder tragen sie gemeinsam. Das Team allein hat die Verantwortung für den Betrieb. (Team Commitments).
  7. Die Administratoren führen Projekte iterativ und inkrementell durch.
  8. Regelmäßig wiederkehrende Aufgaben erledigen alle Teammitglieder reihum.
  9. Die Administration arbeitet möglichst zusammen an einem Ort in der Nähe des Kunden. (First- und Second-Level-Support, Entwickler oder Endanwender).
  10. Ein großer Bildschirm zeigt nach Art einer Ampel den aktuellen Status der Server und Auslastung für alle gut sichtbar an. Das fördert die osmotische Kommunikation.

Mein Fazit:

Für mich der erste Beitrag zum Thema ASA. Als großer Anhänger der agilen Methoden sind für mich die Punkte eins bis acht lohnend und sicherlich in den meisten Rechenzentren anwendbar. Eine Nagios-Installation leistet bereits  in vielen Unternehmen seine Dienste und kann für die gesamte Testautomatisierung herangezogen werden. Allerdings ist es dann umso wichtiger qualifizierte Kommentare in der Konfiguration zu finden.

Punkt zwei und acht sehe ich als besonders effektiv an. Denn hier steht nicht nur der agile Gedanke im Vordergrund, sondern das Vorhandene Wissen wird auf mehrere Köpfe verteilt. Damit kann dem Problem mangelnder Vertretungen entgegen gewirkt und die Abhängigkeit von Einzelpersonen aufgelöst werden.

Aber nicht alle Ansätze lassen sich so einfach umsetzen. Insbesondere den Punkt neun sehe ich als kritisch an, denn in Zeiten von Outsourcing und Service-Rechenzentren ist die örtliche Nähe zum Kunden nicht immer möglich.

Der Einsatz von Whiteboards, Pinnwänden oder Flipcharts im Administrationsbereich kann zur Sprintplanung genutzt werden oder die Teambesprechungen unterstützen. Wie Teamräume aussehen können ist hier zu sehen. Ein Ticket-Trouble-System wie OTRS kann die auftretenden Störungen kanalisieren und ist zudem revisionssicher. Darüberhinaus ist für die Projekte ein Wiki das Tool der Wahl und zur Kommunikation mit der „Außenwelt“ kann ein Blog sehr hilfreich sein. So könnten dort aktuelle Störungen oder Planungen von Downtimes kommuniziert werden.

Insgesamt haben die agilen Methoden potenzial auch in der Systemadministration einzuziehen. Die bisherigen strikten Zuständigkeiten für Systeme oder Anwendungen können so effektiv aufgebrochen und eine höhere Dienstleistungsqualität erreichet werden.

0

Das Scrum Plakat

Ich habe heute ein tolles Plakat zum Thema Scrum entdeckt. Es wurde von der InterFace AG in Zusammenarbeit der TU-München und der TEG erstellt und ist unter folgender Stelle zu finden.
Wie ich finde ist das Plakat inhaltlich gelungen und auch die Idee es auf einem A4 – Drucker auszudrucken finde ich toll.

Verfügbar ist es in englischer oder deutscher Sprache in den Formaten A2 / A1. Aufgehängt bietet es einen guten Überblick über den agilen Prozess Scrum.

2

Agiles Anforderungsmanagement

Da ich in der Vergangenheit auch zu den Leidtragenden gehörte, die aufgrund von ungenauen Vorgaben Termine nicht einhalten konnte, ist es sicherlich auch hier einmal Zeit einen Beitrag zum Thema Anforderungsmanagement zu widmen.Aber zuerst eine Definition:

Anforderungsmanagement (engl. Requirements Management) ist eine Managementaufgabe für die effiziente und fehlerarme Entwicklung komplexer Systeme. Es umfasst die Anforderungserhebung  Requirements-Engineering) sowie Maßnahmen zur Steuerung, Kontrolle und Verwaltung von Anforderungen, also Risikomanagement, Änderungsmanagement und Umsetzungsmanagement.

Quelle: Wikipedia

Bei meiner Suche zum Thema agiles Anforderungsmanagement, bin ich auf einen Vortrag von Detlef Buder und Alexander Fischbach gestoßen, in dem sie die Fragen beantworten:

  • Benötigen agile Entwicklungsmethoden überhaupt ein Anforderungsmanagement im klassischen Sinne?
  • Wie viel ist “soviel Dokumentation wie nötig” in Bezug auf die Anforderungsanalyse?
  • Wie viel muss ich über ein zu erstellendes System wissen, damit ich mit der iterativ / inkrementellen Entwicklung starten kann?

Ich sehe das Anforderungsmanagement als eines der Kernthemen im Projektmanagement, bleibt zu klären, in wie weit es sich in agile Vorgehensmodell integrieren läßt.