Softwareentwicklung im Team

Slides:



Advertisements
Ähnliche Präsentationen
Themen Backlog V Psychologische Aspekte (T03) Beispielhafte Themenstellungen: IT ist meist nicht auf gleicher Augenhöhe wie Fachbereich.
Advertisements

Risiko-Management im Projekt
V - Modell Anwendung auf große Projekte
Phasen und ihre Workflows
Regina Mirvis, Senior Consultant
1 Workshop: Grundlagen des IT-Projektmanagements - Version /2004Modul: Aufwand – Ergänzung FP Copyright: Dr. Klaus Röber Modul Ergänzungen zur.
Von David Keß, Heinrich Wölk, Daniel Hauck
Das „Vorgehensmodell“
V-Modell XT - Ein Überblick
IT-Projektmanagement
Projektumfeld Gesellschaftliche Strömungen Strukturen/ Gliederung
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Frage 5 Wie wird Forschung und Entwicklung bei Philips geplant? Welche Instrumente werden zur Planung eingesetzt?
Universität Stuttgart Institut für Kernenergetik und Energiesysteme I nstitut für K ernenergetik und E nergiesysteme Rational Unified Process (RUP) - Definitionen.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Der Rational Unified Process - Einführung Inhalt Prozessmodelle Der Rational Unified.
Schulung der Mitarbeiter
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Die SE Umgebung des Jahres 2003 am IKE Elemente der SE Umgebung –Omondo als Casetool.
Beispiel: Wasserfallmodell als einfaches Phasenmodell
RUP-Elemente (Schlüsselkonzepte)
Xpert personal business skills
Rational Unified Process (RUP) - Definitionen
Prozeßstruktur des ISO 9001/9004 Prozeßmodells
Vortrag 11: Reengineering - Refactoring
eXtreme Programming (XP)
Introducing the .NET Framework
Berufsfachschule Technische Assistenz für Informatik Ziele und Inhalte der Ausbildung Edgar Landsiedel, G18.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Einführung von Groupware
Medien Zentrum Duisburg
Software Design Patterns Extreme Programming (XP).
Der „virtuell cube“ : Die drei Bewegungen
Konzept der Fort- und Weiterbildung für die SeelsorgerInnen im Bistum Münster Hauptabteilung 500, Seelsorge - Personal Gruppe 512, Fortbildung Hermann.
Anpassung des RUP an ein konkretes Projekt - 1
Der Komplexität begegnen
Vorgehensmodelle: Schwergewichtige Modelle
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Was haben besonders erfolgreiche Projekte gemeinsam?
? Was ist Informatik? Was ist Informatik? Alexander Lange
Lebensraum Gruppe Was ist eine Gruppe bzw., aus wievielen
Projektvorgehen.
Dipl. Ing. Udo Scheiblauer
Architekturen und Techniken für computergestützte Engineering Workbenches.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Agenda 13: Begrüßung & Einführung in das Thema
Teambildung vs. Entwicklungsmethode
NDK Enterprise Technologien Informationen Infrastruktur und Fallstudie Daniel Nydegger Studienleiter Enterprise System Entwicklung.
Ihr Entwicklungs-Partner mit Nearshore-Kompetenz Stuttgart, INFOBEST Romania SRL.
Innovator Die Komponenten.
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
ICT-Projektmanagement & OE Magisterstudium Wirtschaftsinformatik
IT Kosten Reduzierung und effizientere Dienstleistungen Wir optimieren Strukturen und Prozesse und reduzieren dabei Ihre IT Kosten Ihr OPTICONSULT International.
Rational Unified Process
Application Lifecycle Management Day 25. August 2008 Erfolgreiche Software- Entwicklung in Offshore-Projekten mit Microsoft Team Foundation Server Thomas.
Gewaltfreie Kommunikation (GfK)
Unified Process Historisch-Kulturwissenschaftliche Informationsverarbeitung Übung: Planung von Softwareprojekten Dozent: Christoph Stollwerk WS 2014/2015.
Agile Softwareentwicklung
Wizards & Builders GmbH Einführung in die W&B-Methode zur Softwareentwicklung Alf Borrmann.
IT Kleinprojekt abwickeln (Modul 306)
Seminar: Software-Architektur Einführender Vortrag
von Christian Düfel & Christopher Fries
…Be readY.
Projektmanagement 0. Vorbemerkungen 1 © Prof. Dr. Walter Ruf.
DevOps in der Praxis Umfrage Q4/2015
Technologietag Baugruppentest Wege der Standardisierung im Funktions- und EOL-Test Markus Koetterl National Instruments Germany GmbH.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
Zehn Schritte zu Linux Der Weg in eine andere Welt...
Systemanalyse BA Heidenheim 2002.
Prozessmodell
 Präsentation transkript:

Softwareentwicklung im Team „Anything goes“ vs. Methodik Walter Kriha und Dr. Bernhard Scheffold Walter.Kriha@ubs.com Bernhard.Scheffold@ubs.com

Ausgangsfragen Welchen Beitrag leisten Methodiken zum Erfolg eines Softwareprojektes? In welchem Umfeld kommen sie zum Tragen Welches Wechselspiel besteht zu den sozialen Strukturen der Arbeitsorganisation?

Motivation: Unsere Nöte Gibt es eine Methodik für erfolgreiche internationale Softwareprojekte? Könnte ein Open Source Entwicklungsstil erfolgreich woanders eingesetzt werden? Eine gewisse Ratlosigkeit nach gescheiterten prozessorientierten Projekten Der Kampf mit der Methodenpolizei (von Technical Organization Committees, Standard Coms. und anderen Prinzipienreitern)

Eine erste Kategorisierung In welche Spalte kommt „Erfolg“?

Zweifel an dieser Dichotomie! OpenSource hat sowohl Aspekte, die es in der einen bzw. anderen Sparte einordnen lassen (Peer Review, Tool Chain). Ähnliches gilt auch für ClosedSource. „Hacking“ bedeutet nicht, dass kein Plan oder keine ordnende Idee vorhanden wäre SCRUM bzw. XP haben durchaus Methodik

Die Wurzeln des „Anything Goes“ Die Methodenbürokratie (Kommittees, Standards) Die Projektbürokratie (Resourcenbeschaffung, Organisation Rückbesinnung auf das eigentliche Problem: Programmieren von Software Emotionaler Konflikt: Entwicklersicht (intelligent, kreativ, kompetent, ...) mit Managementsicht (austauschbares Zahnrad)

Zunehmende formale Zwänge Anything goes Methodik XP Scrum RUP Deliverable Process V-Modell Letztlich ist das Bild nicht zweidimensional, sondern multidimensional. Dimensionen: Teamgrösse, Erfahrung, Zeithorizont, Offenheit, Qualitätsanforderungen, Einheitlichkeit (Tools, Environment), ...

Dimensionen der Vorgehensweisen Soziale Organisation Ideologie Person Technologie Kultur Mapper OO Packer XP Scrum Projekttyp Prozess Anything goes Deliverable RUP V-Modell

Weitere Dimensionen der SE Qualitätsanforderungen Contractors/ externe Projekte Offenheit Einheitlichkeit Tools/Environment Team-, Firmen- u. Projektgrösse Erfolg? Erfahrung Zeithorizont

Erstes Ergebnis „Anything Goes“ gibt es praktisch nicht als Vorgehensweise. Fast jede Vorgehensweise hat methodische Anteile – sei es in der technischen, sozialen, Prozess- oder persönlichen Dimension. Ebensowenig lässt sich die Frage nach dem Erfolg einfach durch Kategorisierung beantworten. Deshalb sollen jetzt persönliche Erfahrungen auf den jeweiligen Anteil bzw. die Rolle von Methodiken untersucht werden.

Beobachtungskategorien Technologie Ideologie Soziales Kultur Prozess Projekt

Erfahrungen Unix Kernel Entwicklung (Sinix) [1986-1991] Embedded Control – Military Project [1992-1993] OO-Framework (Polytool) [1994-1996] Kreditapplikation [1997-1998] Verteiltes OO-Bankensystem [1997-1998] Aktuelle Finanzapplikation [1999-]

Sinix Projekttyp Prozess Technologie Ideologie Soziales Kultur Erfolg In-house System- Entwicklung Kein definierter Entwicklungsprozess Planungshorizont 3 Monate „Unix“ als Systemmetapher Nur Code/Runtime zählen Source-, Version-Ctrl Automatic Build, Frühe Vernetzung, sehr gute Infrastruktur, gepflegt durch eigene Leute Source-Code-orientiert, Persönliche Qualifikation, Keine Rollentrennung Unpolitisch Open-door, 30% Kontraktoren (die besten) Starkes Wachstum, Hohe Qualität Wirtschaftlicher Erfolg Kaum gescheiterte Entwicklungen

Unix als Lebenswelt Die Systemmetapher macht explizite Requirements, Designs und Methodik unnötig Die Unix Umgebung sorgt für die gleiche Sprache zwischen den Entwicklern Techniken und Problemlösungen werden „vererbt“

Militärische Applikation Projekttyp Prozess Technologie Ideologie Soziales Kultur Erfolg In-house System- Entwicklung, embedded Control Externe SW-Partner beteiligt, Vorgehensmodell vor-geschrieben, Realität: informelle Requirements, konstruktives Hacking, teilweise im Stil von (Xtreme) Scrum Nur bei Hardware “Test” Prozesse „Hardware-Qualität“ als Systemmetapher, Realität: Portierung von PD Software, „Test“ extrem wichtig Source-, Version-Ctrl Frühzeitige Vernetzung, Gute Infrastruktur, gepflegt durchs eigene Projekt Source-Code-orientiert, Persönliche Qualifikation, Keine Rollentrennung Unpolitisch, keine Kontraktoren, enge persönliche Beziehung Erfolgreich abgeschlossen durch grossen persönlichen Einsatz des Teams. Erfolg durch Umgehung der Methodik

V-Modell: Theorie u. Praxis 3 Wochen Projektleiter Projektleiter Kostenschätzung, Schuld Gruppenleiter Gruppenleiter Problembericht Aufwand, Planung Programmierer Programmierer ADA: Problem mit „Unsigned“ 2 Stunden Unsigned function() Signed value = function();

OO-Framework (Polytool) Projekttyp Prozess Ideologie Technologie Soziales Kultur Erfolg In-house Reengineering Projekt Anfangs Coad/Yourdon (Mismatch) Später eigene Toolentwicklung und Methodik aus Technologie/ Ideologie heraus OO, Design Patterns als Kommunikationsmittel Source-, Version-Ctrl Automatic Build, späte Vernetzung, Projektinfrastruktur gepflegt durchs Team, Frameworking, C++/CORBA Know How Source-Code-orientiert, Persönliche Qualifikation, konstantes Lernen Keine Rollentrennung Unpolitisch, keine Kontraktoren, enge persönliche Beziehung, Technik treibt Spezifikation Erfolgreich abgeschlossen durch grossen persönlichen Einsatz des Teams. Framework-Technologie begann sich auszuzahlen

Akito Morita (Sony): Walkman Der Walkman war ein Projekt der Sony Entwicklung – eine Vision ohne Beteiligung von Marketing/Produktplanung etc. Requirements kamen aus der Entwicklung selbst.

Kreditapplikation Projekttyp Prozess Technologie Ideologie Soziales Kultur Erfolg Applikation für Eigenbedarf Analyse und Endusertest im Haus, Coding bei Softwarehaus Pendenzen-System, Gantt-Charts Weekly Build Fat-Client OO, C++ Komponenten Source-Ctrl Version-Ctrl Infrastruktur von eigener Gruppe Binaries Rollenabgrenzung (Architekt, BO, DO, PM) Politik Resourcen-Denken Funktional aber instabil Scheitern durch Politik

Kreditapplikation Umfeld Resourcendenken Entwickler/ Skill OOA OOD C++ Java Basic Hugo 2 3 1 Petra 5 Resourcendenken: Entwickler sind Resourcen, die durch ihre Skills charakterisiert werden. Die Skills sind die Erfahrungsjahre in vorgegebenen Bereichen.

Qualitätsbewusstsein ClassA::acceptConcreteBO (BO* p) { CBO* q = dynamic_cast<CBO*>(p); q->foo(); // q ist ungeprüft! // ... } statt (besser!) ClassA::acceptConcreteBO (ConcreteBO* p) p->foo();

Aktuelles Finanzprojekt Projekttyp Prozess Technologie Ideologie Soziales Kultur Erfolg Applikation für Eigenbedarf Analyse/Entwicklung/Test im Haus Spezifikation Keine Methodologie Meilensteine/Reviews/ Anwender-Tests Web-Applikation Batch-Processing Perl, PL/SQL, JavaScript, Java Source-, Release-Ctrl Infrastruktur von eigener Gruppe Eine Sandbox für alle Entwickler Keine strikte Rollenabgrenzung Technologiefokus Unpolitisch Viele Kontraktoren Resourcen-Denken Projekt noch nicht abgeschlossen

Finanzprojekt – Technologie Entwickler werden hinzugenommen, um Resourcenknappheit zu lösen Ein neuer Entwickler bringt „seine“ Technologie mit (Perl, Java, PL/SQL)

Verteiltes OO-Bankensystem Projekttyp Prozess Technologie Ideologie Soziales Kultur Erfolg In-house Reengineering Projekt. Getragen von externem Personal Requirements, Specifications, Deliverables, Deadlines, Reviews. Prozess dient der politischen Absicherung Tool-zentrisch. Teure Spezialisten pro Tool bringen Erfolg Keine Systemmetapher Source-, Version-Ctrl Projektinfrastruktur gepflegt durchs Team Framework C++/CORBA Eiffel für OOA und OOD Binary-orientiert, Rollentrennung Workshops verpönt. Schlechte Kommunikation Politisch, 90% Kontraktoren, Neulinge in OO und Corba Kulturkampf englisch/deutsch extern/intern Misserfolg

Otelo or you‘ll never walk alone! Alle Deliverables da und alle Deadlines eingehalten Alle Reviews durchgeführt und erfolgreich abgeschlossen Software Technology Process von der IBM benutzt und kontrolliert von der IBM Resultat: Nichts greifbares nach 2 Jahren. Hohe Konventionalstrafen. Prozess und Methodologie werden bei der IBM in Frage gestellt.

Erfolgsfaktoren Harte Faktoren Weiche Faktoren

Projekterfolg in Relation zu Prozess/Projekt In unseren Projekten haben wir keinen Prozess bzw. Methodologie gefunden, der sicher zum Erfolg führt. Tatsächlich schienen etliche der Projekte ganz ohne definierten Prozess auszukommen. Pikanterweise scheiterten gerade die Projekte, die am meisten auf Prozessmethodik (Requirements, Specifications, Deliverables, Reviews etc.) setzten. Soziale/kulturelle Factoren beim „Team Building“ scheinen wichtiger zu sein. Sprachbarierren sind in Architektur- und Design-Diskussionen besonders kritisch. Ein strikter Fokus auf die Technologie – keine Politik, keine Formalismen – scheint wichtig zu sein.

Projekterfolg in Relation zu Technologie/Ideologie In unseren Projekten haben wir keine Technologie gefunden, die sicher zum Erfolg führt. Auch die Kenntnisse der Teammitglieder bezüglich neuer Technologien sind nicht wirklich bedeutsam. Wichtiger scheint ein starkter Technologiefokus zu sein: die Bereitschaft Technologie als eigenes Gebiet anzuerkennen und ernst zu nehmen Dies ist eng verknüpft mit persönlichen Faktoren wie dem Stolz auf die Beherrschung von Technologie bis hin zur Bereitschaft selbst Requirements zu erstellen – aus der Kenntnis der Technologie heraus (Beispiel: Sony’s Walkman) Wichtig für den Technologiefokus ist auch ein weitgehend politikfreies Umfeld

Projekterfolg in Relation zu Sozialer Organisation/Kultur Generell sehen wir hier den grössten Einfluss auf den Projekterfolg. Funktionierende Teams sichern Erfolg. Person statt “Resource”. Das Team als kleinste Einheit von Resourcen. Kulturkämpfe (und Sprachdefizite) können gerade während Analyse und Design verheerene Wirkung haben Kontraktoren: Sehr problematisch, ebenso wie In-House Entwicklung bei nicht-Software Firmen

Rational Unified Process – „Kauf dir einen Erfolgsprozess“ “Der Prozess sichert den Erfolg” Soziale Faktoren sind nicht Teil von RUP (und werden damit implizit auch nicht als wichtig angesehen). Der Technologiefokus ist gering, Prozess dominiert. Die starke Use-Case-Orientierung ist nicht ungefährlich für Systemdesigns. Die Gewichtung von Prozess/Methodologie, Technologie und sozialer Organisation widerspricht den Erfahrungen aus unseren Projekten.

Rational Unified Process – Für welches Umfeld? Requirements: gut spezifiziert/spezifizierbar Technologie: gut bekannt Projektort: In-house, mit Kontraktoren Projektart: Schnell zu entwickelnde Applikation. Neue Requirements führen zu einem neuen Projekt.