Projektmanagement Softwareentwicklung

Softwareentwicklung fĂŒr Projektleiter, Manager und Entwickler

IT-Projektmanagement RSS
  • IT-Projektmanagement: Wann Prozesse und Tools nutzlos sind (2)

    Jörg Hinrichs

    Im ersten Teil der Geschichte schildert der Projektleiter Stefan seiner Frau Probleme aus dem IT-Projektmanagement seiner Firma und bekommt von ihr wichtige Tips: IT-Projektmanagement: Wann Prozesse und Tools nutzlos sind (1)
    Lesen Sie nun, was Stefan daraus macht…

    Am nĂ€chsten Tag fuhr Stefan beschwingt in die Firma. Er machte sich eine Tasse Kaffee und setzte dann ein Meeting mit seinem Entwicklerteam um 10:00 Uhr an. PĂŒnktlich trafen sich alle im Besprechungsraum.

    Stefan ließ kurz den Blick in die Runde schweifen. Sein Team bestand aus drei Entwicklern, die zur Zeit fĂŒr die Software der Videothek ‚Video pur!‘ zustĂ€ndig waren.

    Andreas war ein Seniorentwickler und mehr oder weniger der Kopf der Gruppe. Er war Ende 40 und arbeitete bereits seit ĂŒber 10 Jahren fĂŒr die Firma. Aufgrund seiner Erfahrung traf er meistens die kritischen Entscheidungen und wurde auch hĂ€ufig von den anderen um Rat gebeten.

    Boris war Mitte 30 und vor 5 Jahren aus der Ukraine nach Deutschland gekommen. Inzwischen hatte er sich gut eingelebt und arbeitete seit 18 Monaten mit Andreas zusammen.

    Natalie hatte gerade ihr Studium beendet und war vor drei Monaten neu ins Team gekommen. Sie schien gut mit den anderen beiden auszukommen und war fleißig dabei, sich in die neue Materie einzuarbeiten.

    Stefan rÀusperte sich:
    „Ihr habt sicherlich schon von dem Treffen gestern mit Herrn Krawinger von ‚Video pur!‘ gehört. Na ja, was soll ich sagen: Ich hatte schon entspanntere Meetings.“

    Stefan zog eine leichte Grimasse und die Teammitglieder grinsten vorsichtig. Ein bisschen unwohl fĂŒhlten sie sich schon, immerhin hatte der Flurfunk schon gemeldet, dass es einigen Ärger gegeben hatte.

    „Es geht mir nicht darum, mit dem Finger auf jemanden zu zeigen und zu sagen ‚Du bist Schuld!‘ „, fuhr Stefan fort, „aber ich möchte sehr gerne solche unangenehmen Situationen in Zukunft vermeiden. Schließlich ist das nicht unbedingt ein AushĂ€ngeschild fĂŒr die Firma, wenn wir nicht in der Lage sind, unsere Zusagen einzuhalten.
    Gestern hatte ich ein sehr interessantes GesprĂ€ch mit meiner ‚hĂ€uslichen Beraterin‘ und sie hat mich auf einen wichtigen Punkt hingewiesen: Solange wir nicht die Ursache unserer Probleme verstehen, werden uns neue Softwareentwicklungsprozesse und Tools auch nicht weiterbringen.
    Deshalb sitzen wir jetzt hier. Ich möchte gerne mit Euch erarbeiten, wo genau die Defizite bei der Umsetzung der Anforderungen liegen und was wir in Zukunft dagegen machen können. Dazu sollten wir uns vielleicht eine Anforderung vornehmen, welche uns viele Schwierigkeiten bereitet hat.“
    „Das ist nicht schwer“, sagte Boris spontan. „Nehmen wir doch einfach den letzten Change Request fĂŒr die ErgĂ€nzung des Erscheinungsjahres des Films. Da haben wir praktisch alles zweimal entwickelt.“
    „Mindestens!“, stöhnte Andreas.

    „Ok, dann schauen wir uns doch einmal die Beschreibung dafĂŒr genau an.“, sagte Stefan. Er öffnete das zugehörige Dokument und projizierte es auf die Leinwand:

    „Hmm, sieht eigentlich ganz simpel aus. Inwiefern weicht die jetzige Implementierung von der Beschreibung ab?“, fragte Stefan die Anderen.
    „Das Hauptproblem lag darin, dass die Angabe des Erscheinungsjahres allein nicht ausreichend war.“, sagte Boris. Er hatte diesen Change implementiert.
    „Es musste auf jeden Fall noch der Monat ergĂ€nzt werden. Das hat der Kunde aber erst gesehen, als wir die Entwicklung schon abgeschlossen hatten und es in den Abnahmetest ging.“
    „In Ordnung“, sagte Stefan, „hat jemand einen Vorschlag, wie wir den Kunden dazu bringen sich vorher ĂŒber so etwas Gedanken zu machen?“.
    Eine Weile grĂŒbelten alle vor sich hin. Dann meinte Andreas: „Ich glaube, wir gehen das Problem von der falschen Seite an. Man braucht ein gewisses Know-How, um eine gute Anforderung schreiben zu können.
    In der Software-Analyse geht es darum, zentrale Bestandteile einer Anwendung zu identifizieren und sie zueinander in Beziehung zu setzen. Auch ein Softwareentwickler braucht Zeit und Erfahrung, um das zu lernen. Wir können nicht wirklich erwarten, dass ein Kunde, der ansonsten mit Softwareentwicklung nichts am Hut hat, die nötigen Qualifikationen dafĂŒr besitzt.
    Nehmen wir als Beispiel das Erscheinungsjahr des Films. Laut Anforderung sollte es bei den Daten fĂŒr den Ausleihvorgang hinterlegt werden. Mit entsprechend geschultem Blick sehen wir schnell, dass es dort eigentlich nicht hingehört weil das zu Redundanzen fĂŒhrt und dass man es besser bei den Filmdaten speichert. Der Kunde dagegen ist fokussiert auf sein aktuelles Problem und kĂŒmmert sich nicht um Redundanzen.

    Deshalb denke ich, dass wir selbst dafĂŒr verantwortlich sein sollten die Anforderungen zu definieren.“, schloss er. „NatĂŒrlich muss der Kunde sein Fachwissen beisteuern, aber wir haben das entsprechende Know-How fĂŒr die Analyse und wissen, worauf wir achten und wo wir nachhaken mĂŒssen.“

    Stefan machte sich eine entsprechende Notiz. „Boris, du hast den Change implementiert und weißt am meisten darĂŒber. Hast Du eine Idee, wie man von vornherein erkannt hĂ€tte, dass der Monat fehlt? Wonach hĂ€tten wir suchen mĂŒssen?“.
    „Wir mĂŒssen nach dem Zweck fragen, nach der ursprĂŒnglichen Motivation fĂŒr den Change.“, antwortete Boris nach einer Weile. „Der Kunde hat uns zwar gesagt, dass er die Information fĂŒr einen Report benötigt. Aber das ist nicht seine eigentliche Motivation: Niemand entwickelt Reports, weil er so gerne einer Maschine zuguckt wie sie Papier bedruckt.
    Der Zweck des Reports bestand darin herauszufinden, wie lange es, vom Erscheinungsdatum an gerechnet, dauert bis ein Film nicht mehr hĂ€ufig ausgeliehen wird. Daraufhin kann man dann Maßnahmen treffen, z.B. entsprechende Rabatte fĂŒr selten ausgeliehene Filme oder das Entfernen aus dem Lager. Sobald man diesen Hintergrund kennt, kann man viel besser ĂŒberprĂŒfen, ob die VorschlĂ€ge und Angaben des Kunden sinnvoll sind.“
    „Genau!“, ergĂ€nzte Andreas, „der Kunde hat uns sozusagen schon seine eigene unvollstĂ€ndige Lösung beschrieben, statt erst einmal zu sagen welches Problem eigentlich gelöst werden soll. Das hat auch etwas damit zu tun, dass in der Anforderungsbeschreibung schon konkret auf Bestandteile der Anwendung Bezug genommen wurde. Man kann den Zweck einer Anforderung leichter erkennen, wenn der Kunde sein Problem beschreibt ohne auf technische Begriffe wie Datenbank, Eingabemaske, Report et cetera zurĂŒckzugreifen.
    „Ok“, sagte Stefan, „das macht Sinn. Also schlagt ihr vor, dass wir dem Auftraggeber eine Liste mit Richtlinien zur VerfĂŒgung stellen, die er fĂŒr die Beschreibung seiner Anforderungen nutzen soll?“
    „Nein, ich glaube das ist keine gute Idee!“, meldete sich Natalie zu Wort. „Ich denke, dass Anforderungen am besten im direkten GesprĂ€ch geklĂ€rt werden. Deswegen finde ich es sehr wichtig, sich persönlich mit den Fachexperten des Kunden zu treffen. Da können wir sofort jede Unklarheit ansprechen und klĂ€ren.
    Wie Andreas schon sagte, wir haben das Know-How fĂŒr die Analyse und sollten ein solches Treffen leiten. Wir ĂŒberlegen uns vorher, welche Informationen wir benötigen, also z.B. Zweck der Anforderung, beteiligte Daten und Formate sowie der Ablauf der betroffenen GeschĂ€ftsprozesse. Und dann erstellen wir daraus ein Dokument und der Kunde genehmigt es.“

    Alle waren sich einig, dass dieses Vorgehen Sinn machte. Nach dem Treffen blieb Stefan noch eine Weile sitzen und protokollierte stichwortartig die Ergebnisse des Meetings. Er hatte dabei das gute GefĂŒhl, sich auf dem richtigen Weg zu befinden.

    Checkliste Anforderungen

    Stefan’s Checkliste fĂŒr Anforderungen

    Den Rest des Tages verbrachte er damit, eine PrĂ€sentation ĂŒber das neue Verfahren zu erstellen, die er in den nĂ€chsten Tagen den beteiligten EntscheidungstrĂ€gern sowohl in seiner Firma als auch beim Kunden vorfĂŒhrte.

    Schon die ersten Erfahrungen mit dem neuen Verfahren waren sehr ermutigend. Die Kunden nahmen es sehr positiv auf, bei der Definition der Anforderungen von Stefan’s Team unterstĂŒtzt zu werden. Die AufwandsschĂ€tzungen und damit auch das Projektmanagement stabilisierten sich deutlich. Auch wenn es immer noch vorkam, dass grĂ¶ĂŸere Fehler in der Anforderungsbeschreibung erst nach der Entwicklung gefunden wurden, nahm deren HĂ€ufigkeit sichtbar ab.

    Im Laufe der nĂ€chsten 12 Monate verfeinerten Stefan und sein Team ihre Methode und erarbeiteten weitere Richtlinien fĂŒr die KlĂ€rung von Anforderungen. Dabei stellten sie fest, dass es nicht nur inhaltliche Probleme zu bewĂ€ltigen galt: Manchmal waren die Menschen ein viel grĂ¶ĂŸeres Problem.

    Eine klare und eindeutige Kommunikation zwischen allen Beteiligten wurde zuweilen zu einer echten Herausforderung. Es gab sogar Situationen, in denen Stefan auf die Hilfe eines Kommunikationstrainers zurĂŒckgriff, um Konflikte in den Griff zu bekommen und konstruktive GesprĂ€che zu ermöglichen.

     

    Und hier endet die Geschichte – vorlĂ€ufig. Wenn Sie Interesse an weiteren Erkenntnissen und Techniken zum KlĂ€ren von Anforderungen haben, finden Sie zusĂ€tzliche Informationen im Seminar IT-Projektmanagement: Anforderungen im Griff.

    1 Comment

One Response to “IT-Projektmanagement: Wann Prozesse und Tools nutzlos sind (2)”

  1. […] IT-Projektmanagement: Wann Prozesse und Tools nutzlos sind (2) […]