Seminararbeit Agile Softwareentwicklung mit

Größe: px
Ab Seite anzeigen:

Download "Seminararbeit Agile Softwareentwicklung mit"

Transkript

1 Seminararbeit Agile Softwareentwicklung mit Extreme Programming (XP) Johannes Hecker, Alexandre Matic, Camil Pogolski, Wintersemester 14/15 1

2 Inhaltsverzeichnis 1 Einleitung 3 2 Geschichte 4 3 Bestandteile Prinzipien Werte Praktiken Risiken der Softwareentwicklung 10 5 Phasen Planungsphase Designphase Programmierphase Testphase Sicht Kundensicht Programmiersicht Projektsicht Wirtschaftliche Sicht Besonderheiten von Extreme Programming 19 8 Preis- und Vertragsmodelle 20 9 Kritik Fazit Literaturverzeichnis Glossar 24 2

3 1 Einleitung Extreme Programming ist ein Prozess der Agilen Softwareentwicklung für kleine Teams und bietet zusätzliche Methoden mit vier sich bis zur Fertigstellung wiederholenden Zyklen an. Planung - Design - Programming - Test - Planung - Design -... Der Ablauf beim Extreme Programmings gilt als merkwürdig, scheinbar ineffektiv und als aufwändig. Dabei ist Extreme Programming ein bewusster Prozess von gewolltem Experimentieren und ständiger Verbesserung des Codes, sodass automatisch gute Softwareprodukte entstehen. Ein Programmierer programmiert nur wenige, dauerhaft bleibende und korrekte Codezeilen. Oft werden durchschnittlich nur bis zu 5 Codezeilen pro Arbeitstag geschrieben. Da niemand perfekt ist, dennoch jeder eine fehlerfreie und perfekte Software haben möchte, wird im Extreme Programming Perfektion durch einen kontinuierlichen Verbesserungsprozess (KVP) ermöglicht. Extreme Programming ist eine exakte Implementierung bzw. Umsetzungen des japanischen Kaizen. Kaizen (kai = Veränderung, zen = zum Besseren) ist ein in Japan erstandener KVP und Bezeichnet sowohl eine japanische Lebens- und Arbeitsphilosophie wie auch ein methodisches Konzept, in deren Zentrum das Streben nach kontinuierlicher und unendlicher Verbesserung steht. Die unendliche Verbesserung erfolgt in einer schrittweisen, punktuellen Perfektionierung oder Optimierung eines Produktes oder Prozesses. [GS09] Extreme Programming gilt als ein sehr durchdachtes Kaizen-Konzept, wobei Extreme Programming in 4 verschiedenen Phasen aufgeteilt ist. Diese Phasen werden zyklisch immer wieder durchlaufen. Die Effekte dieser Phasen werden erst in der Dynamik sichtbar, und deren Logik haben einen tieferen Sinn, welche nicht immer direkt durchschaubar sind. So kann es für ein Teammitglied schwer zu verstehen sein, dass Prozesse, welche einem individuellen Teammitglied einen Nachteil verschaffen, dem gesamten Team aber vom Vorteil sind. 3

4 2 Geschichte Kent Beck, Ward Cunningham und Ron Jeffries haben 1995 bei Daimler Chrysler an einem Projekt namens C3 gearbeitet. Dieses Projekt beschäftigte sich mit der Bereitstellung eines neuen Programmes, zur Gehaltsabrechnung und sollte veralte Programme durch eines mit größerem Umfang und stabilerem Laufverhalten ablösen wurde Kent Beck zum Projektleiter da der externe Dienstleister, welcher nach dem Wasserfallmodel in knapp einem Jahr keinen wesentlichen Fortschritt erzielte. Er passte die Entwicklungsmethoden an, um das Projekt effizienter umsetzen zu können. Auch wenn diese Methoden relativ neu sind, findet man deren Wurzeln teilweise bedeutend früher. Leo Brodie schreibt in seinem 1984 veröffentlichten Buch zum Beispiel über Praktiken wie Refactoring, Modularität oder Bottom-Up-Design. Im Verlauf der mehrjährigen Entwicklung gab es zahlreiche Probleme und da das Projekt die Erwartungen nicht erfüllen konnte wurde das C3 Projekt bei der übernahme von Chrysler durch die Daimler-Benz AG eingestellt. 4

5 3 Bestandteile Die Grundlegenden Bestandteile von Extreme Programming sind die Prinzipien, die Werten und die Praktiken. 3.1 Prinzipien Da die Prinzipien nicht nur Teil vom Extreme Programming, sondern auch der anderen Verfahren zur agilen Softwareentwicklung sind, verweisen wir an dieser Stelle auf die Seminararbeit: Grundprinzipien der agilen Softwareentwicklung unserer Kommilitoninnen Natali Brozmann und Marie Claire Dzukou. 3.2 Werte Kent Beck definierte in seiner zweiten Auflage die 5 Werte von Extreme Programming: 1. Kommunikation: Kommunikation ist sehr wichtig, da sich laut Kent Beck viele Fehler vermeiden ließen, wenn man ausreichend miteinander kommunizieren würde. Auch die Entscheidungen und die Anforderungen des Kunden können nur mit ausreichender Kommunikation optimal erreicht werden. 2. Einfachheit: Software ist heutzutage meist sehr komplex, jedoch wird diese einfacher wenn man diese aufteilt oder sich nicht zu sehr auf die Optimierung des Codes vertieft. Einfachheit ist schwer zu erreichen, da man meist vorausschauend und optimierend denkt. Umso einfacher ein System wird, umso besser lässt sich dieses auch anderen vermitteln, was sich wiederum positiv auf den Wert Kommunikation auswirkt. 3. Feedback: Nicht nur Feedback des Kunden ist wichtig, um zu wissen was gemacht werden muss, sondern auch Feedback von allen anderen Beteiligten. Feedback ergänzt Einfachheit und Kommunikation, da die verschiedene Personen jeweils den aktuellen Stand des Projektes oder auch Tester Probleme oder Änderungen bekannt geben. 5

6 4. Mut: Mut ist ein wichtiger Punkt in Extreme Programming. Das Experimentieren, Code zu verwerfen und zu ändern, verlangt oft viel Mut, den die Programmierer manchmal nicht haben. Es kommt auch oft vor, dass Arbeit eines Teammitgliedes komplett verworfen wird und dieses dann Angst hat nichts für das Projekt geleistet zu haben. Manche plagt dann der Gedanke, dass sie entlassen werden könnten, wenn sie nichts vorzuweisen hätten. Sogar der Kunde muss Mut haben der Extreme Programming-Methoden zu vertrauen und sie nicht voreilig fallen zu lassen. 5. Respekt: Respekt kam erst bei der zweiten Auflage von Kent Becks Buch zu Extreme Programming hinzu. Respekt baut vor allem auf Mut auf und beschreibt das Respektieren von Teammitgliedern, auch wenn Arbeitet dieser verworfen wurde. 6

7 3.3 Praktiken Die Praktiken teilen sich wiederum in allgemeine Arbeitsweisen, welche phasenübergreifend angewendet werden können und denen welche in speziellen Phasen umgesetzt werden sollten. Akzeptierte Verantwortung Das Management sollte einem Extreme Programming Team auf Probleme hinweisen, aber was zu tun ist, sollten Kunden und Programmierer ohne zutun des Managments selbst entscheiden. Teameinschätzung und Widerspieglung Das Management sollte den Teammitgliedern stets zeigen wo sie gerade stehen und herausfinden, in welchen Bereichen Hilfe benötigt wird. Durch Metriken kann der Fortschritt des Teams oder zu lösende Probleme anschaulich dargestellt werden. Kritik Nach jedem Entwicklungszyklus sollte nochmal über die getane Arbeit vom gesamten Team diskutiert werden. Hier soll die Arbeitsweise kritisch reflektiert werden, sodass man nicht die selben Fehler wiederholt. Natürlich sollen hier auch die positiv aufgefallenen Arbeitsweisen aufgezählt werden, um die Motivation zu fördern. Arbeitsumgebung und Ausstattung Die Arbeitsplätze sollten so dicht wie möglich beieinander liegen, sodass eine einfache Kommunikation gewährleistet ist. Die Monitore sollte so platziert sein, dass zu zweit an einem Computer gearbeitet werden kann. Jeder Arbeitsraum sollte mit Wandtafeln und Flipcharts ausgestattet sein. Ein Fehler sollte nicht erneut Auftreten. Stellt man einen Fehler fest, so sollten die Tests sicherstellen, dass dieser nicht nochmal Vorkommt. Natürlich müssen die Unit-Tests hierfür entsprechend angepasst werden. 7

8 Da Extreme Programming eine Teamarbeit ist, wird die Motivation und der Mannschaftsgeist durch Überstunden geschwächt. Es hilft auch nicht das Team zu vergrößern, falls ein Termin nicht eingehalten werden kann. Oftmals hilft es eher eine Nacht darüber zu schlafen, da man so neue Energie tanken kann und man sich erholt. Durch Unruhe im Team wird die Entwicklung im Gesamten nicht beschleunigt. Hektik kann die Fehlerquote erhöhen. Die Fehlersuche ist aber sehr viel anstrengender und Zeitfressender als das Codieren selbst. Lieber sollte sich der Programmierer Zeit und Ruhe nehmen, um genauer nachdenken zu können und so fehlerfrei zu programmieren. Pair Programming Wie der englische Begriff schon sagt, handelt es sich um das Programmieren zu zweit. Es ist zu Beginn sehr gewöhnungsbedürftig, aber für die Ruhepausen zum Nachdenken, die jeder braucht, notwendig. In der Regel benötigt man mehr Zeit zum Nachdenken, als zum eigentlichen programmieren. Nicht selten kommt es auch vor, dass ein Programmierer beim Programmieren eine Blockade hat und nicht weiter kommt. Da der Programmierpartner nicht mit dem schreiben des Codes beschäftigt ist, kann sich dieser mehr auf den Code konzentrieren. So werden Fehler schneller gefunden und das Resultat ist eine sehr viel bessere Codequalität mit anschließend weniger Refactoring. Zu beachten ist, dass bei besonderen Umständen oder auftretenden Problemen die Regeln des Extreme Programmings gebrochen werden dürfen. Extreme Programming ist kein festgelegtes Prozedere, sondern darf, den Anforderungen und den Umständen entsprechend wohlbegründet, abgeändert werden. [LI] Meetings Es sollten täglich kurze Meetings vor dem Arbeitsbeginn gemacht werden. Dies vermeidet längere Teamsitzungen bei auftretenden Problemen. Bei den Meetings sollten tägliche Aufgaben zugeordnet und Arbeitskapazitäten neu aufgeteilt werden. 8

9 Fachkenntnisse Beim Pair Programming bzw. beim Extreme Programming allgemein, sollte nicht auf besondere Fachkenntnisse oder Niveau anderer Programmierer im Team hingewiesen werden. Dennoch wird dies oft gemacht. Diese Wahrnehmung mag vielleicht korrekt sein, dennoch sei zu bedenken, dass niemand Perfekt ist und nicht jeder das Glück hatte, gute Lehrer gehabt zu haben. Jeder Mensch ist durch seiner Familie, Freunde oder vielleicht auch fremde Menschen beeinflusst worden. Positiv beim Pair Programming ist gerade, dass ständig neue Paarungen im Team entstehen und so jedes Individuum in kürzester Zeit sehr viel dazulernt. So entsteht im Team ein einheitliches Niveau wovon alle im Team profitieren. Rotationsprinzip Im Rotationsprinzip werden ständig Programmierer innerhalb der Paarungen getauscht. Dadurch werden häufig auftretende Effekte, dass aufgrund des Ausfalls eines Teammitgliedes, das gesamte Team drunter leidet bzw. es gar zum Stillstand kommt, verhindert. Durch dieses Prinzip kennt sich jedes Teammitglied anschließend mit der Software aus und kann ggf. einspringen. In Projekten mit hoher Komplexität und starker Kopplung der Module trifft dies häufiger zu. Außerdem können Programmierer flexibler eingesetzt werden, wenn es Probleme geben sollte. Damit können auch sogenannte Wissensinseln (dass nur sehr wenige im Team das nötige Wissen haben, einen Aufgabenteil zu bearbeiten) vermieden werden. Gerade an diesem Punkt gibt es die größten Widerstände, da sich jeder kostbarer und einmalig machen möchte besteht die Angst des Jobverlustes. Durch ein solches Prinzip passt man aber in jedes neue Programmier-Team, wenn man die Denkweise des Extreme Programmings verinnerlicht hat. Man ist flexibler und sammelt Erfahrung und findet so immer Arbeit. 9

10 4 Risiken der Softwareentwicklung Softwareprojekte unterscheiden sich von Entwicklungsprojekten in anderen Bereichen, wie z.b. bei der Herstellung materieller Güter. Die 3 wesentlichen Unterschiede sind: [SV01] 1. Da Software nicht greifbar ist, kann man den Fortschritt nicht so offensichtlich wie zum Beispiel bei einem Bauprojekt nicht erkennen. Um diesen Fortschritt sichtbar und messbar zu machen, muss ein höherer Aufwand betrieben werden. 2. Für jedes einzelne Projekt muss ein passendes Vorgehensmodell gefunden oder entwickelt werden. Da es sich in der Regel um Anpassungen eines vorhandenen Modelles handelt, existieren meist keine Erfahrungen mit diesem. 3. Inhaltlich unterscheiden sich Softwareprojekte fast immer von vorhergegangenen Projekten. dadurch können Erfahrungen mit ähnlicher Vorgehensweise, Lösungen oder Techniken oft nicht direkt auf neue Projekte übertragen werden. Diese Punkte führen dazu, dass Softwareprojekte mehr Risiken und Probleme als Projekte in anderen Bereichen hervorbringen. Die Einhaltung eines festgelegten Zeit- und Budgetplans ist besonders schwierig. 10

11 5 Phasen Die Phasen wiederholen sich zyklisch. Ein Zyklus wird Entwicklungszyklus oder auch Iteration genannt. Zu beachten ist, dass Entwicklungszyklen immer stets so kurz wie möglich zu halten sind. In jedem Entwicklungszyklus wird die Geschwindigkeit der Projektentwicklung neu abgeschätzt. Insgesamt werden pro Zyklus % der Zeit für die Planung verwendet. Unit-Tests und Refactoring werden direkt mit eingeplant. Da sich die Anforderungen und Kundenwünsche ständig ändern, werden alle ein bis drei Wochen die Entwicklungszyklen neu definiert. Durch die kleinen Entwicklungszyklen, werden unrealistische Ziele wahrgenommen und behoben. 5.1 Planungsphase User-Story Basierend auf dem aktuellem Zwischenrelease, skizziert und beschreibt der Kunde weitere Arbeitsabläufe, Änderungen am Benutzer-Interface und sonstige Ideen dem Entwicklungsteam. Diese dienen zur weiteren Abschätzung des Projekt-Umfangs und der Festsetzung weiterer Entwicklungszyklen. 11

12 5.2 Designphase Einfachheit oder auch KISS-Prinzip (Keep It Simple, Stupid!) Durch Dokumentation an den notwendigen Stellen, ist alles im Projekt durchschaubar. Dadurch findet sich jeder Programmierer in der Arbeit eines anderen zurecht und sollte nach kurzer Einarbeitungszeit mitwirken können. Die Austauschbarkeit des Programmierers ist hier der Hauptaspekt. CRC-Karten (Class, Responsibilities, Collaboration) Durch CRC-Karten oder UML-Diagramme wird dem Team das Systemdesign näher gebracht. Bei CRC-Karten handelt es sich um Mindmapping in einer Sitzrunde. Jeder Programmierer hält eine Karte in der Hand, welche eine Klasse mit den Abhängigkeiten zu anderen Klassen repräsentiert. Anschließend spricht jedes Teammitglied über seine Karte, welche Objekte wie mit Anderen kommunizieren, uvm. Durch das Diskutieren und gemeinschaftliche Denken werden Schwächen im Design entdeckt und können behoben werden. Namen und Bezeichner Das Team sollte sich auf einheitliche Namen und Bezeichner im Code einigen, dies erleichtert die Kommunikation und Einarbeitung in den Code anderer. Bei Problemen Treten technische oder Design-Probleme auf, so sollte der Programmierer ein einfaches Programm entwickeln, welches das Problem unter Nichtberücksichtigung aller anderen Probleme löst. (Das Testprogramm wird sowieso später verworfen, da es nur zu Testzwecken dient). Dadurch werden die Zuverlässigkeit der User-Stories erhöht und das Risiko eines Fehldesigns reduziert. Stellt man fest, dass das Problem eventuell die Gesamtentwicklung verlangsamen könnte, so sollten sich zwei Entwickler mit dem Problem beschäftigen, bis dieses behoben ist. 12

13 Rafactoring Höchste Priorität in der Designphase hat das Refactoring, ein Prozess der ständigen Verbesserung der Code-Struktur. Code muss leicht verständlich und erweiterbar sein. Dabei sollen überflüssige Funktionen verworfen und Redundanzen aufgelöst werden. Sollten mehrere Designe existieren kann es durch Refactoring passieren, dass sein eigenes, bevorzugtes Design fallen gelassen werden muss, da sich andere besser eignen. 5.3 Programmierphase In dieser Phase sollte der Kunde stets anwesend sein, da er ein wichtiger Bestandteil des Extreme Programmings ist. Der Kunde bestimmt das Aussehen und die Funktionalität der Software und ist somit der Verantwortliche für die User-Stories, mit welche die GUI ständig angepasst und verbessert wird. Wichtig wird dies, wenn der Kunde im Laufe des Projektes neue Funktionalitäten einführen möchte. Er ist auch derjenige der Auskunft über vergessene oder übersehene Details geben kann. Es kann natürlich auch vorkommen, dass Sonderwünsche oder kleinere Features aus Preis- oder Aufwandsgründen nicht realisiert werden. Der Kunde selbst ist des weiteren immer bei Unit-Tests und Funktionalitätstests anwesend. Styleguide Um das verstehen des Codes für das gesamte Team zu vereinfachen, muss ein sogenannter Styleguide berücksichtigt bzw. abgesprochen werden. Für jede Programmiersprache gibt es einen solchen der bspw. im Internet zu finden ist. Dies beinhaltet z.b. Bezeichner wie Pointer oder auch Namensgebungen und vieles mehr. Dadurch wird die Lesbarkeit, Verständlichkeit und die Einarbeitungszeit für andere erleichtert. Unit-Tests Im Extreme Programming ist es Pflicht, bevor auch nur eine Zeile Code geschrieben wird, eine Testroutine zu schreiben, die die genauen Erwartungen an ein Programm überprüft. Für Methoden, Prozedere oder Klassen sind Unit-Tests relativ einfach und schnell zu schreiben, wogegen es bei Datenbankanwendungen oder GUIs mit Ein- und Ausgabe und einer Benutzerinteraktion schwieriger wird. (Da bei Datenbankanwendungen nämlich Testdatensätze definiert werden müssen). Durch die Qualitätssicherung (also Unit-Tests) gibt es aber mehrere positive Nebeneffekte. Der Programmierer kann sich mithilfe dieser Tests auch nur auf das Wesentliche konzentrieren 13

14 und muss nur so wenig Code schreiben, welcher benötigt wird, damit die Tests laufen. Ebenso zeigt es anderen Projektmitarbeitern, die Arbeitswesen der Funktionen, Prozedere oder Klassen bzw. für welchen Zweck sie verwendet werden. Dies kann natürlich auch als kleines Tutorial für die Mitarbeiter genutzt werden. Keine Unnötigen Funktionen Es sollte darauf geachtet werden, keine unnötigen Funktionalitäten zu programmieren. Häufig wird dazu geneigt zusätzliche Funktionen zu programmieren, obwohl diese vom Kunden nicht gewünscht worden sind. Man sollte sich selbst disziplinieren können, da im Extreme Programming sowieso nicht alle geschriebenen Codezeilen in der finalen Software bleiben. In der Entwicklungsphase sollte niemals Code optimiert werden, dieser muss erst lauffähig gemacht werden. Optimierung ist ein Teil der Testphase. 5.4 Testphase Unit-Tests Unit-Tests sind sehr wichtig für Extreme Programming. Jede neue Implementierung muss durch solche Tests überprüft werden. Es darf kein Code genutzt werden, der die Unit-Tests nicht bestanden hat. Ist ein Codestück nicht komplett getestet worden, so müssen die fehlenden Tests noch erstellt werden. Gegen Ende der Entwicklung, also kurz vor der Fertigstellung, ist es oft am schwierigsten, saubere Unit-Tests zu erstellen. Grade hier sollte man nicht nachlässig sein, da eine Fehlersuche sehr viel aufwändiger ist als einen Unit-Test zu schreiben. Natürlich kann auch der Debugger genutzt werden, der findet aber nur einfache Programmierfehler, aber keine Logikfehler. Je härter es ist, einen Unit-Test zu schreiben, umso mehr wird er auch tatsächlich benötigt, und umso größer wird die Zeitersparnis bei evtl. Fehlersuche sein. [LI15] 14

15 Akzeptanztests Ein weiterer großer Bestandteil der Tests im Extreme Programming sind die Akzeptanz-Tests. Diese sind für die Sicherstellung der Bedienbarkeit und der Funktionalität verantwortlich. Szenarien werden vom Kunden beschrieben, damit der Programmierer weiß auf was getestet werden soll. Der Kunde beschreibt hier die Erstellung, Überprüfung und Einhaltung der Anforderung an das System. Ist mindestens ein Akzeptanz-Test nicht erfüllt worden, so gilt die User-Story als nicht vollständig. Das bedeutet dann auch, dass falls kein Fortschritt in einem Entwicklungszyklus erzielt wurde, neue Akzeptanz-Tests geschrieben werden müssen. 15

16 6 Sicht 6.1 Kundensicht Extreme Programming bezieht den Kunden stark in das Projekt ein, dabei lenkt dieser das Projekt und prüft ob es seinen Erwartung entspricht oder ob sich die Spezifikationen geändert haben. Der Kunde muss sich genauso einbringen wie das Entwicklerteam und ist deshalb meist auf dem selben Stand wie die Entwickler. Im besten Fall unterstützt er das Team durch das Schreiben von User-Stories (sowie in seltenen Fällen von Unit-Tests) und dem Bestimmen der Wichtigkeit einzelner Komponenten, sodass das Projekt immer den aktuellen Anforderungen entspricht. Der Kunde muss deshalb bei Extreme Programming [...] auf eine formale Festlegung der Projektinhalte (Spezifikation) verzichten. [LF] Das Entwicklerteam wird dabei eigene Ideen und Features für das Produkt vorschlagen. Hierbei muss der Kunde entscheiden, ob diese Leistungsmerkmale benötigt werden oder nicht. Im Idealfall entsteht zwischen dem Kunden und dem Entwickler eine Geschäftsbeziehung, wodurch Extreme Programming im Nachfolgenden stark profitiert, da der Kunde und das Entwicklerteam bessere Vorstellungen voneinander haben. Bringt der Kunde sich nicht ausreichend ein oder hält an starre Softwareprojektmanagement Abläufe fest, so funktionieren die Methoden des Extreme Programmings nicht. 6.2 Programmiersicht In Extreme Programming sollen die einzelnen Programmierer entlastet werden und durch die ständige Kommunikation kann das Wissen einzelner besser verteilt werden. Deshalb verzichtet Extreme Programming auf eine strikte Rollenverteilung und überlässt den Programmieren die Aufgabenverteilung, sodass diese sich immer zu der Situation und Fähigkeiten passende Aufgaben übernimmt und keine ungleichmäßig ausgelasteten Mitarbeiter entstehen. Leider hat Extreme Programming den Nachteil, dass sich Programmierer manchmal vernachlässigt oder nutzlos fühlen, wenn ihr eigentlicher Code verbessert oder verworfen wurde. Ohne Mut funktioniert XP einfach nicht. - Kent Beck [KB03] Andererseits ist das Wissen und die Möglichkeit Code anderer zu verändern positiv aufzufassen, da die Programmierer öfters durch experimentieren und ausprobieren bessern Code erzielen. Bei einem Ausfall einzelner Programmierer kann sogar das gesamte Team weitermachen ohne sich großartig in den vorhanden Code erst einmal einzuarbeiten. 16

17 6.3 Projektsicht Extreme Programming ist eine Risikomanagementstrategie die sich vor Ausfall oder Demotivation von Mitarbeitern, aber auch dem Risiko, dass das Projekt in die falsche Richtung entwickelt wird, absichert. Dem Kunden bringt es Vorteile in dem er sich zufriedener und sicherer fühlt. In der Regel ist der Kunde immer auf dem aktuellsten Stand des Projektes. Ein weiterer Vorteil ist, dass der Teamgeist vom Programmierteam gefördert wird. Der Einzelne vom Wissen der andere profitiert und die Aufgabenlast immer passend und gleichmäßig verteilt wird. Aufwandsabschätzungen werden verlässlicher, da sie im Team getroffen und ständig einer kritischen überprüfung (Review) unterzogen werden. [LF15] In der Regel werden Softwareprojekte nie rechtzeitig zum gewünschten Umfang fertig, jedoch kann durch Extreme Programming der Kunde immer auf eine funktionierende Iteration zurückgreifen, die für ihn meist den wichtigsten Teilumfang enthält. Sogar ein Extreme Programming-Projekt das vom Kunden fallen gelassen wird, lässt sich in andere Projekte weiterverwenden oder sogar bis zu der geschafften Iteration an andere verkaufen. 6.4 Wirtschaftliche Sicht Extreme Programming setzt hauptsächlich auf Pair Programming, was zunächst doppelt so viel Personalaufwand bedeutet, jedoch durch die größere Fehlervermeidung beim Pair Programming eine höhere Qualität und geringe Nachbesserung von Modulen mit sich führt, was zur Folge hat, dass sich zum Schluss diese Alternative stark rentiert. Genauso ist auch personaltechnisch der Mitarbeiter des Kunden, der für das Entwicklerteam zur Verfügung gestellt wurde (im besten Fall immer beim Entwicklerteam ist), nicht für die üblichen Einsatzgebiete innerhalb der eigenen Firma verfügbar. Dafür kann diese Person den Entwicklern die Richtung weisen, um schneller gewünschte Spezifikationen zu erreichen, sowie nicht gewollte Spezifikationen zu vermeiden. Dies erspart somit Zeit und Kosten bei der Entwicklung und die Entwickler können sich vermehrt auf die wichtigere Teile im Projekt vertiefen. 17

18 Das größte betriebswirtschaftliche Problem von Extreme Programming ist jedoch, dass durch die unvollständige Kenntnis, sowie laufend ändernde Spezifikation, keine voraussichtliche Kosten und Dauer abgeschätzt werden können. Lediglich ist eine Aufwandsabschätzung innerhalb einer Iteration möglich und basiert auch nur auf die Erfahrungen des Entwicklerteams. Umso länger das Team an einem Projekt arbeitet, desto genauer werden die Schätzungen. Generell ist die Extreme Programming-Methode günstiger wenn man auf ein qualitatives und langlebiges Projekt setzt oder bereits während der Entwicklungen Änderungen in den Spezifikationen auftreten können. Extreme Programming setzt auf eine sehr hohe Codequalität und dem Aufteilen des Wissens auf alle Teammitglieder, weshalb die Wartbarkeit und Erweiterbarkeit günstiger und risikoärmer ausfällt. Es wird nämlich allgemein angenommen, dass sich frühe Fehler im Verlauf des Projektes die Kosten exponentiell in die Höhe steigen lassen. Außerdem sorgen die Iterationen für eine ständige Überprüfung des Projektes, weshalb Fehler und Änderungen früh erkannt und behoben werden. 18

19 7 Besonderheiten von Extreme Programming Der größte und wichtigste Unterschied zwischen den klassischen Modellen und Extreme Programming ist, dass der Aufwand und damit Kosten bei Änderung während des Entwicklungsprozesses nur leicht steigen. Gewünschte Änderungen oder auch Ergänzungen des Kunden bzw. auch des Entwicklerteams lassen sich leicht berücksichtigen. Unwichtigere Aufgaben lassen sich ohne Nachteile auf später verschieben. Dies kann helfen Entscheidungen zu einem späteren Zeitpunkt mit mehr Informationen zu treffen und hilft Zeit einzusparen. So ist das Produkt früher einsatz- und testfertig. Durch automatisierte Tests wird ein günstigerer Verlauf mit kleinen Änderungskosten erreicht. Diese Tests vereinfachen auch den Umbau von Code im späteren Verlauf des Projektes. Fehler kann der Entwickler nach Änderungen so sofort sehen und lokalisieren. Treten keine Fehler auf, kann er sich sicher sein, dass es durch seine Änderung später zu keinen Problemen kommt. Andere Kosten- und Zeitintensive Qualitätssicherungsmaßnahmen entfallen. Die niedrigen Änderungskosten werden außerdem durch das permanente Refactoring erreicht. Durch die häufigen Anpassungen, Umbauten am Systemes und die Codeüberarbeitung, erwerben die Entwickler zusätzlich wichtige Fähigkeiten. 19

20 8 Preis- und Vertragsmodelle Ein Grund der gegen Extreme Programming spricht ist, dass man bei der Wahl des Vertragsmodells eingeschränkt ist. Vor allem ein Vertrag zum Festpreis kann nicht gewählt werden. Bei dieser Art des Vertrages werden in einem Pflichtenheft die Anforderungen genau spezifiziert und sind somit fester Bestandteil des Vertrages. Sollen während der Laufzeit des Projektes Änderungen erfolgen, zum Beispiel den Wegfall einer Komponente oder das Hinzufügen einer anderen, muss erst über diese neu verhandelt werden. Dabei geht Zeit verloren und der Zeit- und Kostenplan kann sich verändern. Deshalb kann Extreme Programming in solchen Fällen nicht eingesetzt werden, da man den Umfang leicht ändern können muss. Die Alternative zu diesem Modell wäre der Agiler Festpreis. Ähnlich wie beim Festpreis werden für die Menge an Anforderungen ein verbindlicher Gesamtpreis vereinbart. Es können aber Leistungen gegen andere, die denselben Wert haben, ausgetauscht werden. So bleibt der Gesamtumfang des Projektes gleich. Dafür wird ein transparentes Verfahren definiert, mit dem der Wert der Leistungen geschätzt werden kann. Wenn ein solches Verfahren für die Schätzung existiert, sind die Vorteile des Festpreis und Vergütung nach auf Aufwand vereint: Budgetsicherheit für den Auftraggeber Anforderungen sind flexibel Gesamtumsatz ist für den Auftragnehmer leicht kalkulierbar Wie beim Festpreis liegt das Umsetzungsrisiko beim Auftragnehmer. Der Gewinn steigt wenn der Aufwand sinkt. Wenn es anders herum läuft muss er Verluste hinnehmen. Dadurch wächst die Motivation für den Auftragnehmer, weniger Aufwand zu betreiben um sein Gewinn zu maximieren, was nachteilige Auswirkungen auf die Qualität haben kann. Beim Vertrag nach Aufwand besteht dieses Problem nicht. Daher ist dieses Modell gut für Extreme Programming-Projekte anwendbar. Jetzt ist der Auftragnehmer daran interessiert, den Aufwand zu erhöhen um seinen Gewinn zu steigern. Die Ausgangsposition für die Verhandlungen ist ungünstiger, da sich die Interessen der Vertragspartner entgegenrichten. Zusätzlich hat der Auftraggeber keine Budgetsicherheit mehr, was die Fälle indem ein solcher Vertrag zustande kommt reduziert. So gibt es für Extreme Programming-Projekte ein gutes Repertoire an Vertragsmodellen. Welcher am besten geeignet ist hängt stark von der bestehenden Geschäftsbeziehung und dem Inhalt des Projektes ab. Den Nachteil, dass die Vertragsgestaltung bei Extreme Programming eingeschränkt ist, gibt es deswegen eher selten. 20

21 9 Kritik In einer bestehenden Unternehmensumgebung erweist sich die Einführung von Extreme Programming als problematisch. Entwickler müssen ihrer Denkweise ändern, was ein hohes Maß an Toleranz verlangt. Ist die Einführung jedoch erfolgreich verlaufen, hat man ein flexibel einsetzbares Entwicklerteam, welches sich schnell an neue Anforderungen anpassen kann. Durch die Verwendung einzelner Methoden kann man zwar Verbesserungen erzielen, jedoch werden die besten Ergebnisse erst im Verbund dieser ermöglicht. Kurz vorm Scheitern befindliche Projekte können auch mit Extreme Programming nicht gerettet werden können. Die Einführung in das Vorgehensmodell erfordert Training und Zeit, daher sollte Extreme Programming nicht als Heilmittel betrachtet werden. Nicht für jeden Anwendungsfall sind alle Extreme Programming Methoden umsetzbar bzw. angebracht. So stellt der On-Site Customer z.b. als alleiniger Ansprechpartner eine Fehlerquelle dar. In Banken ist es beispielsweise üblich, einen Ansprechpartner für Softwareprojekte Vollzeit zur Verfügung zu stellen. Allerdings kann sich dieser mit der Zeit zu sehr von der Denkweise seines eigentlichen Arbeitsfeldes entfernen und sollte besser regelmäßig ausgetauscht werden. (vgl. [LM02]). Bei der Angebotserstellung für ein Projekt stellt sich die Preisfindung durch die iterative Vorgehensweise, die kurzen Releasezyklen und die Möglichkeit der kurzfristigen Änderung der Funktionalität, als schwierig heraus. Aufgrund der geringen Dokumentation ist Extreme Programming nicht für alle Branchen sinnvoll. Zum Beispiel in Branchen die mit Zertifizierungen oder gesetzliche Vorschriften arbeiten. Kommentare im Quelltext, User-Stories beziehungsweise die daraus erzeugten Dokumentationen und Akzeptanztests sind die einzigen Formen von Dokumentierung. in Extreme Programming werden keine vorausschauende Designs gemacht. Erst bei Auftritt von Problemen sollen diese gelöst werden. Nach dem aktuellem Entwicklungstandes des Projektes, wird das Gesamtprojekt weitergeplant. Dies steht aber im Kontrast zur Arbeit erfahrener Softwarearchitekten, da diese schon vor Projektbeginn versuchen, Zeit einzusparen indem Refactorings durch gute Designs verhindert werden. 21

Extreme Programming: Überblick

Extreme Programming: Überblick Extreme Programming: Überblick Stefan Diener / Apr 18, 2007 / Page 1 Prinzipien Rollen Planung Implementierung Praktiken weitere Vorgehensweisen Grenzen Inhalt Stefan Diener / Apr 18, 2007 / Page 2 Prinzipien

Mehr

extreme Programming (XP)

extreme Programming (XP) Softwaretechnik SS2005 Tobias Giese Masterstudiengang Informatik HS-Harz Agenda Allgemeines Vorgehensmodell Kommunikation und Arbeitsphilosophie Entwicklungsphasen / Extreme Rules Planung Entwurf Implementierung

Mehr

Referat Extreme Programming. Von Irina Gimpeliovskaja und Susanne Richter

Referat Extreme Programming. Von Irina Gimpeliovskaja und Susanne Richter Referat Extreme Programming Von Irina Gimpeliovskaja und Susanne Richter 1.) Was ist XP? Überlegte Annäherung an Softwareentwicklung Prozessmodell für objektorientierte Softwareentwicklung erfordert gute

Mehr

Extreme Programming. Referat von Viktoria Schwarzhaupt und Andrea Schuhmann

Extreme Programming. Referat von Viktoria Schwarzhaupt und Andrea Schuhmann Extreme Programming Referat von Viktoria Schwarzhaupt und Andrea Schuhmann 1. Was ist XP - Prozessmodell für die objektorientierte Softwareentwicklung - leichter Softwareentwicklungsprozess Analyse Design

Mehr

Extreme Programming (XP)

Extreme Programming (XP) (XP) Ausarbeitung zum Referat vom 20.11.2006 im Rahmen der Veranstaltung Softwareengineering-Projekt an der TU Berlin im WS 2006/07 Vorgelegt von: Matrikelnummer: 178256 Betreuer: Marco Mosconi Inhaltsverzeichnis

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Grundprinzipien der agilen Softwareentwicklung

Grundprinzipien der agilen Softwareentwicklung Grundprinzipien der agilen Softwareentwicklung Marie Claire Dzukou 38539 Natali Brozmann 40464 Wintersemester 14/15 1 Inhaltsverzeichnis 1 Agile Softwareentwicklung 3 2 Entstehung der agilen Softwareentwicklung

Mehr

Agile Software Development

Agile Software Development Dipl. Wirtsch. Ing. Alexander Werth Methoden der Softwareentwicklung 6-1 Agile Manifest Individuen und Interaktion statt Prozessen und Tools. Funktionierende Software statt umfangreicher Dokumentation.

Mehr

Software Engineering. 4. Methodologien. Franz-Josef Elmer, Universität Basel, HS 2014

Software Engineering. 4. Methodologien. Franz-Josef Elmer, Universität Basel, HS 2014 Software Engineering 4. Methodologien Franz-Josef Elmer, Universität Basel, HS 2014 Software Engineering: 4. Methodologien 2 Wie den Entwicklungsprozess organisieren? Dokumentieren Verwalten Instandhalten

Mehr

Test-Driven Developement Eine Einführung

Test-Driven Developement Eine Einführung Test-Driven Developement Eine Einführung 2007 by Tobias Hagen Im Rahmen der Veranstaltung Aktuelle Themen der Informatik bei Prof. Dr. Friedbert Kaspar Hochschule Furtwangen University Übersicht Einführung...

Mehr

Extreme Programming. Frank Gerberding LINEAS Informationstechnik GmbH Theodor-Heuss-Straße 2 D-38122 Braunschweig

Extreme Programming. Frank Gerberding LINEAS Informationstechnik GmbH Theodor-Heuss-Straße 2 D-38122 Braunschweig Extreme Programming Frank Gerberding LINEAS Informationstechnik GmbH Theodor-Heuss-Straße 2 D-38122 Braunschweig Stand: 11.06.2007 LINEAS Gruppe - Zahlen und Fakten LINEAS Gruppe Branche Software- und

Mehr

Agile Programmierung - Theorie II SCRUM

Agile Programmierung - Theorie II SCRUM Agile Programmierung - Theorie II SCRUM Arne Brenneisen Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Christian

Mehr

Inhaltsverzeichnis. Inhaltsverzeichnis... I. 1 Problemstellung... 1. 2 V-Modell... 1. 2.1 Allgemeines... 1. 2.2 Anwendung des V-Modells...

Inhaltsverzeichnis. Inhaltsverzeichnis... I. 1 Problemstellung... 1. 2 V-Modell... 1. 2.1 Allgemeines... 1. 2.2 Anwendung des V-Modells... Inhaltsverzeichnis Inhaltsverzeichnis... I 1 Problemstellung... 1 2 V-Modell... 1 2.1 Allgemeines... 1 2.2 Anwendung des V-Modells... 3 3 SCRUM-Modell... 4 3.1 Allgemeines... 4 3.2 Anwendung des SCRUM-Modells...

Mehr

Agile Softwareentwicklung. Referat von Kristina Schrickel Praxisprojekt Ruby Leitung : Ralf Berger

Agile Softwareentwicklung. Referat von Kristina Schrickel Praxisprojekt Ruby Leitung : Ralf Berger Agile Softwareentwicklung Referat von Kristina Schrickel Praxisprojekt Ruby Leitung : Ralf Berger Inhalt 1. Klassische Entwicklungstechnik 2. Agile Entwicklungstechnik - Allgemeines 3. Agiles Manifest

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

Lösungen zum Test objektorientierter Software

Lösungen zum Test objektorientierter Software Lösungen zum Test objektorientierter Software Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 14. März 2013 HOM/FHTeL Lösungen zum Test objektorientierter Software

Mehr

Software-Lebenszyklus

Software-Lebenszyklus Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung

Mehr

extreme Programming (XP) Hermann Götz Sergij Paholchak Agenda Was ist XP? Grundprinzipien Der Entwicklungsprozess Die Projektplanung Praktiken Vorteile und Nachteile Wann macht XP Sinn für ein Projekt?

Mehr

- Agile Programmierung -

- Agile Programmierung - Fachhochschule Dortmund Fachbereich Informatik SS 2004 Seminar: Komponentenbasierte Softwareentwicklung und Hypermedia Thema: - - Vortrag von Michael Pols Betreut durch: Prof. Dr. Frank Thiesing Übersicht

Mehr

Extremes Programmieren

Extremes Programmieren Extremes Programmieren Übersicht, Demonstration, Erfahrungen ACM/GI Regionalgruppe Hamburg, 16.3.2001 Frank Westphal unabhängiger Berater westphal@acm.org http://www.frankwestphal.de Tammo Freese OFFIS,

Mehr

Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. Manfred Thaller WS 2011/12 3.11.2011 Dana Wroblewski

Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. Manfred Thaller WS 2011/12 3.11.2011 Dana Wroblewski Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. Manfred Thaller WS 2011/12 3.11.2011 Dana Wroblewski 1. Was heißt Agil 2. Scrum? Grundbegriffe 3. Wer benutzt Scrum 4. Vorteile & Nachteile von

Mehr

1 Einleitung. 1.1 Unser Ziel

1 Einleitung. 1.1 Unser Ziel 1 Dieses Buch wendet sich an alle, die sich für agile Softwareentwicklung interessieren. Einleitend möchten wir unser mit diesem Buch verbundenes Ziel, unseren Erfahrungshintergrund, das dem Buch zugrunde

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Empirische Evidenz von agilen Methoden. Seminar in Software Engineering Wintersemester 03/04

Empirische Evidenz von agilen Methoden. Seminar in Software Engineering Wintersemester 03/04 Empirische Evidenz von agilen Methoden Seminar in Software Engineering Wintersemester 03/04 Agenda Einleitung Bedeutung von agil Kurzübesicht agiler Methoden Überprüfung des (agilen) Erfolges Ausgewählte

Mehr

Ganzheitliches IT-Projektmanagement

Ganzheitliches IT-Projektmanagement Ganzheitliches IT-Projektmanagement Kapitel 2 nach dem Buch: Ruf, Walter; Fittkau, Thomas: "Ganzheitliches IT-Projektmanagement" Wissen - Praxis - Anwendungen R. Oldenbourg Verlag München - Wien 2008;

Mehr

Einführung in die SWE

Einführung in die SWE Einführung in die SWE Inhalte der Vorlesung Allgemeine Ziele der Lehrveranstaltung Entwickeln einer kleinen Applikation nach professionellem Vorgehensmodell Erlernen des objektorientierten Herangehens

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

Die praktische Bedeutung der verschiedenen Vorgehensmodelle in der Software-Entwicklung

Die praktische Bedeutung der verschiedenen Vorgehensmodelle in der Software-Entwicklung Vorgehensmodelle Seite 1/6 Die praktische Bedeutung der verschiedenen Vorgehensmodelle in der Software-Entwicklung Große Softwareprojekte erwecken oft den Eindruck, dass diese chaotische verlaufen. Und

Mehr

Extremes Programmieren

Extremes Programmieren Extremes Programmieren Erschienen im Informatik-Spektrum 23(2), 2000, S. 118-121 als Aktuelles Schlagwort Ralf Reißing Universität Stuttgart Institut für Informatik Abteilung Software Engineering Breitwiesenstr.

Mehr

AGILE SOFTWAREPROJEKTE IN REINFORM WAS BEDEUTET DAS RECHTLICH? RA Daniel Schätzle Berlin, 22. April 2015

AGILE SOFTWAREPROJEKTE IN REINFORM WAS BEDEUTET DAS RECHTLICH? RA Daniel Schätzle Berlin, 22. April 2015 AGILE SOFTWAREPROJEKTE IN REINFORM WAS BEDEUTET DAS RECHTLICH? RA Daniel Schätzle Berlin, 22. April 2015 Agiles Vorgehen 2 Agiles Vorgehen 3 WAS BEDEUTET AGIL Abstimmung über Ziel (nicht konkretes Entwicklungsergebnis)

Mehr

Agiles Testen. Gedankensammlung. 17. November 2013 - Patrick Koglin

Agiles Testen. Gedankensammlung. 17. November 2013 - Patrick Koglin Agiles Testen Gedankensammlung 17. November 2013 - Patrick Koglin Inhalt Reflektion: Agilität notwendig? Wo? Eigenschaften agiler Entwicklung Quality is everyone s responsibility Qualität möglich machen

Mehr

3. Vorgehensmethoden/Prozessmodelle

3. Vorgehensmethoden/Prozessmodelle 3. Vorgehensmethoden/Prozessmodelle Vorgehensmethode/Prozessmodell: Ablauforganisation des Projektes für eine effektive und zielgerichtete Softwareentwicklung Wasserfallmodell Spiralmodell Agiles Vorgehen

Mehr

1 Software Projektplanung

1 Software Projektplanung 1 Software Projektplanung Zu Beginn wird von dem Projektleiter (Projektverantwortlicher) ein Projektplan erstellt. In dieser ersten Version des Projektplans müssen alle Aktivitäten enthalten, sowie gewisse

Mehr

Whitepaper. Automatisierte Akzeptanztests mit FIT. Einleitung. Die Bedeutung von Akzeptanztests

Whitepaper. Automatisierte Akzeptanztests mit FIT. Einleitung. Die Bedeutung von Akzeptanztests Automatisierte Akzeptanztests mit FIT Einleitung Dieses beschreibt, wie man Tests aus Anwender-/Kundensicht mit dem Open-Source-Werkzeug FIT beschreibt und durchführt. Das ist für Kunden, Anwender und

Mehr

Systemen - Testen im Softwarelebenszyklus

Systemen - Testen im Softwarelebenszyklus P r a k t I s c h e Entwicklung und Test Testen von Software-Systemen Systemen - Testen im Softwarelebenszyklus Entwickler erstellen ihr System bzw. ihre Software und testen es/sie zur Entwicklungszeit

Mehr

Agile Entwicklung nach Scrum

Agile Entwicklung nach Scrum comsolit AG Hauptstrasse 78 CH-8280 Kreuzlingen Tel. +41 71 222 17 06 Fax +41 71 222 17 80 info@comsolit.com www.comsolit.com Agile Entwicklung nach Scrum Seite 1 / 6 Scrum V 1.0 1. Wieso Scrum Die Entwicklung

Mehr

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing.

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. SOFTWARETECHNIK Kapitel 7 Vorgehensmodelle Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. Armin Zimmermann Inhalt Vorgehensmodelle Sequenzielle Modelle Iterative

Mehr

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung Projektmanagement Management- und Phasen-Modelle Vom Wasserfall bis Extreme Programming / Scrum Dokument V 1.1 Wie kommt es zu einem Projektauftrag? Auftraggeber Projekt-Idee / Ziele [Anforderungen/Spezifikation/

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

extreme Programming Eine Einführung mit Empfehlungen und Erfahrungen aus der Praxis dpunkt.verlag Henning Wolf Stefan Roock Martin Lippert

extreme Programming Eine Einführung mit Empfehlungen und Erfahrungen aus der Praxis dpunkt.verlag Henning Wolf Stefan Roock Martin Lippert Henning Wolf Stefan Roock Martin Lippert extreme Programming Eine Einführung mit Empfehlungen und Erfahrungen aus der Praxis 2., überarbeitete und erweiterte Auflage dpunkt.verlag 1 Einleitung 1 1.1 Die

Mehr

Agile Projekte in Auftrag geben

Agile Projekte in Auftrag geben Agile Projekte in Auftrag geben Jens Coldewey (BDU) Coldewey Consulting Toni-Schmid-Str. 10 b D-81825 München Germany Tel: +49-700-COLDEWEY Tel: +49-700-26533939 Fax: +49-89-74995703 jens.coldewey@coldewey.com

Mehr

Software- Projektmanagement. Dokument V 1.2-2010. Oliver Lietz - Projektmanagement. Projektmodelle im Vergleich. Agil Extreme Programming /

Software- Projektmanagement. Dokument V 1.2-2010. Oliver Lietz - Projektmanagement. Projektmodelle im Vergleich. Agil Extreme Programming / Software- Projektmanagement Management- und Phasen-Modelle Vom Wasserfall bis Extreme Programming / Scrum Dokument V 1.2-2010 Projektmodelle im Vergleich Klassisch Wasserfall -Modell Spezifikation/Pflichtenheft

Mehr

Projektmanagement: Prozessmodelle

Projektmanagement: Prozessmodelle Projektmanagement: Prozessmodelle Martin Wirsing Institut für Informatik Ludwig-Maximilians-Universität München WS 2006/07 Ziele Wichtige Prozessparadigmen und Vorgehensmodelle wiederholen und in Zusammenhang

Mehr

Anhang A: Die Familie der C-Sprachen Anhang B: Grundlagen der C++ und der Java-Programmierung. Vorgehensmodelle der Software-Entwicklung

Anhang A: Die Familie der C-Sprachen Anhang B: Grundlagen der C++ und der Java-Programmierung. Vorgehensmodelle der Software-Entwicklung Einführung in die Software-Entwicklung 7 Software-Entwicklung im Team 1. Von der Idee zur Software 2. Funktionen und Datenstrukturen 3. Organisation des Quellcodes 4. Werte- und Referenzsemantik 5. Entwurf

Mehr

Informationssystemanalyse Personal Software Process 8 1

Informationssystemanalyse Personal Software Process 8 1 Informationssystemanalyse Personal Software Process 8 1 Personal Software Process Sehr eng mit dem CMM hängt der PSP (Personal Software Process) zusammen. Der PSP ergänzt das organisationsweite CMM um

Mehr

Teststrategie festlegen und Teststufen aufeinander abstimmen

Teststrategie festlegen und Teststufen aufeinander abstimmen Testen Teststrategie festlegen und Teststufen aufeinander abstimmen Bereich Projektplanung und -steuerung Aktivität Projekt planen Ziele Effiziente Testausführung Vermeidung von doppelter Arbeit schnell

Mehr

Agile Softwareprozess-Modelle

Agile Softwareprozess-Modelle Agile Softwareprozess-Modelle Steffen Pingel Regionale Fachgruppe IT-Projektmanagement 2003-07-03 Beweglich, Lebhaft, Wendig Was bedeutet Agil? Andere Bezeichnung: Leichtgewichtiger Prozess Manifesto for

Mehr

Agiles Projektmanagement

Agiles Projektmanagement Agiles Projektmanagement A B U S I N E S S P E R S P E C T I V E Christian Setzwein Agenda Rahmenbedingungen für Projekte Der Umgang mit Unsicherheit im klassischen PM Agiles PM: Techniken, Prinzipien,

Mehr

Mit agilen Methoden kommen Sie weiter

Mit agilen Methoden kommen Sie weiter Mit agilen Methoden kommen Sie weiter Wir machen Sie und Ihr Unternehmen fit für Scrum. Was ist Scrum? Scrum ist ein agiles Produktentwicklungs-Framework zur schlanken Entwicklung von Software. Da Scrum

Mehr

Seminar: Softwareentwicklung in der Wissenschaft. Agile Softwareentwicklung

Seminar: Softwareentwicklung in der Wissenschaft. Agile Softwareentwicklung Seminar: Softwareentwicklung in der Wissenschaft Agile Softwareentwicklung Benjamin Pöpel Fakultät für Mathematik, Informatik und Naturwissenschaften Fachbereich Informatik Betreuer: Christian Hovy 23.

Mehr

Hilfe, mein SCRUM-Team ist nicht agil!

Hilfe, mein SCRUM-Team ist nicht agil! Hilfe, mein SCRUM-Team ist nicht agil! Einleitung: Laut unserer Erfahrung gibt es doch diverse unagile SCRUM-Teams in freier Wildbahn. Denn SCRUM ist zwar eine tolle Sache, macht aber nicht zwangsläufig

Mehr

Softwareentwicklungsprozesse. 18. Oktober 2012

Softwareentwicklungsprozesse. 18. Oktober 2012 Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:

Mehr

Agile Softwareentwicklung mit SCRUM

Agile Softwareentwicklung mit SCRUM Agile Softwareentwicklung mit SCRUM PMI MUC 01. März 2010 Referent: Gerhard Held mehr als 35 Berufsjahre in der Softwareentwicklung im Projektmanagement und verwandten Themen... Gründe für das Scheitern

Mehr

V-Methode, RUP, Waterfall oder was?

V-Methode, RUP, Waterfall oder was? 5. Bayerischer IT-Rechtstag am 26. Oktober 2006 auf der SYSTEMS 2006 in München Übersicht über die verschiedenen Vorgehensmodelle Dr. Sarre & Schmidt EDV-Sachverständige, München Öffentlich bestellter

Mehr

Systematisches Testen von Software

Systematisches Testen von Software Programmierung Systematisches Testen von Software Markus Eckstein Systematika Information Systems GmbH Kurfürsten-Anlage 36 69115 Heidelberg markus.eckstein@systematika.com Zusammenfassung Die wichtigsten

Mehr

dwh-test data synthesizer Synthetische Testdaten aus Metadaten und SQL-Source-Code

dwh-test data synthesizer Synthetische Testdaten aus Metadaten und SQL-Source-Code - S. 1 Probleme im DWH-Test S. 3 Gefahr im DWH-Test S. 5 Synthetische Testdaten S. 6 Synthetische Testdaten aus Metadaten und SQL-Source-Code S. 7 - Testdaten S. 9 - Testfälle S. 11 - Testdatensätze S.

Mehr

Projektmanagement. Dokument V 1.2. Oliver Lietz - Projektmanagement. Probleme bei Projekten

Projektmanagement. Dokument V 1.2. Oliver Lietz - Projektmanagement. Probleme bei Projekten Projektmanagement Agile Methoden: Extreme Programming / Scrum Dokument V 1.2 Probleme bei Projekten Viel Arbeit, die an den Zielen vorbeigeht Viel Dokumentation für f r unbenutzte Bestandteile Fehlende

Mehr

Klausur mit Lösungshinweisen zur Vorlesung Planung und Entwicklung von IuK-Systemen Sommersemester 2005 02. August 2005 Deckblatt Hinweise

Klausur mit Lösungshinweisen zur Vorlesung Planung und Entwicklung von IuK-Systemen Sommersemester 2005 02. August 2005 Deckblatt Hinweise Klausur mit Lösungshinweisen zur Vorlesung Planung und Entwicklung von IuK-Systemen Sommersemester 2005 02. August 2005 Deckblatt Hinweise Die Bearbeitungszeit der Klausur beträgt 90 Minuten. Es sind alle

Mehr

INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung. Robust und Agil gegeneinander oder miteinander?

INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung. Robust und Agil gegeneinander oder miteinander? INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung Rütistrasse 9, Postfach 5401 Baden, Switzerland Phone: +41 56 222 65 32 Internet: www.infogem.ch Robust und Agil gegeneinander oder miteinander?

Mehr

SCRUM. Legalisierung der Hackerei? GI Regionalgruppe Dortmund 07.12.2009 Dipl.-Inform. (FH) Dirk Prüter. Dirk.Prueter@gmx.de

SCRUM. Legalisierung der Hackerei? GI Regionalgruppe Dortmund 07.12.2009 Dipl.-Inform. (FH) Dirk Prüter. Dirk.Prueter@gmx.de SCRUM Legalisierung der Hackerei? GI Regionalgruppe Dortmund 07.12.2009 Dipl.-Inform. (FH) Dirk Prüter Dirk.Prueter@gmx.de Überblick Was ist SCRUM Wie funktioniert SCRUM Warum lohnt es sich, SCRUM anzuwenden

Mehr

Agile Softwareverträge

Agile Softwareverträge Zeitschrift Informatik-Spektrum der deutschen Gesellschaft für Informatik Ursula Sury Agile Softwareverträge AGILE SOFTWAREENTWICKLUNG Komplexität, steter Wandel, Umgang mit vielen Unbekannten das sind

Mehr

Einführung in die Softwaretechnik 9. Softwareprozesse

Einführung in die Softwaretechnik 9. Softwareprozesse 9. Softwareprozesse Klaus Ostermann (Mit Folien von Christian Kästner, Gabriele Taentzer und Wolfgang Hesse) 1 Agenda Wie kommt man vom Kundenwunsch zur fertigen Software? Wie strukturiert man ein Softwareprojekt?

Mehr

Klassische vs. agile Methoden der Softwareentwicklung

Klassische vs. agile Methoden der Softwareentwicklung Klassische vs. agile Methoden der Softwareentwicklung Vorgetragen am 03. November 2004 durch Jonathan Weiss Emel Tan Erstellt für SWT Methoden und Werkzeuge zur Softwareproduktion Agenda I. Einleitung

Mehr

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung Kapitel B Vorgehensmodelle Inhaltsverzeichnis 1 B Vorgehensmodell... 3 1.1 Welche Vorgehensmodelle sind

Mehr

Praktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" bei AGFA HealthCare

Praktische Erfahrungen beim Einsatz des Vorgehensmodells SCRUM bei AGFA HealthCare Praktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" bei AGFA HealthCare SCRUM Praktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" eines Entwicklerteams von AGFA HealthCare 2 Praktische

Mehr

INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung. Robust und Agil gegeneinander oder miteinander?

INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung. Robust und Agil gegeneinander oder miteinander? INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung Rütistrasse 9, Postfach 5401 Baden, Switzerland Phone: +41 56 222 65 32 Internet: www.infogem.ch Robust und Agil gegeneinander oder miteinander?

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering

Mehr

Herkömmliche Softwareentwicklungsmodelle vs. Agile Methoden

Herkömmliche Softwareentwicklungsmodelle vs. Agile Methoden vs. Agile Methoden Christoph.Kluck@Student.Reutlingen University.de Medien und Kommunikationsinformatik Agenda Einführung Vorgehensmodelle Herkömmlich agil Resümee Klassische Probleme Nachgereichte Anforderungen

Mehr

Zielvereinbarung. Team JAMT.

Zielvereinbarung. Team JAMT. Ziele des Projektes. Wer benötigt das Ergebnis des Softwareprojektes? Gruppenprozessleiter, welche keine Expertise auf dem Gebiet der Gruppenprozesserstellung haben Teams, die computergestützte Gruppenarbeit

Mehr

Der Faktor Mensch in IT-Projekten

Der Faktor Mensch in IT-Projekten Der Faktor Mensch in IT-Projekten - Der Faktor Mensch in IT-Projekten Dr. Eberhard Huber Der Faktor Mensch in IT-Projekten - Der Faktor Mensch in IT-Projekten Motivation EinAusflug in die Psychologie und

Mehr

Internet Briefing Agile SW-Entwicklung

Internet Briefing Agile SW-Entwicklung 1 www.namics.com Internet Briefing Agile SW-Entwicklung 6. Februar 2007 Peter Stevens, Principal Consultant Bern, Frankfurt, Hamburg, München, St. Gallen, Zug, Zürich Agenda 2 www.namics.com 3 www.namics.com

Mehr

den sicherheitskritischen Bereich Christoph Schmiedinger Frankfurter Entwicklertag 2015 24.02.2015

den sicherheitskritischen Bereich Christoph Schmiedinger Frankfurter Entwicklertag 2015 24.02.2015 Agile Methoden als Diagnose-Tool für den sicherheitskritischen Bereich Christoph Schmiedinger Frankfurter Entwicklertag 2015 24.02.2015 Über mich Berufliche Erfahrung 3 Jahre Projektabwicklung 2 Jahre

Mehr

Werte 2.0 - Weil ich es mir wert bin. Dipl.-Inf. Bernd Schiffer akquinet it-agile GmbH bernd.schiffer@akquinet.de

Werte 2.0 - Weil ich es mir wert bin. Dipl.-Inf. Bernd Schiffer akquinet it-agile GmbH bernd.schiffer@akquinet.de Werte 2.0 - Weil ich es mir wert bin Dipl.-Inf. Bernd Schiffer akquinet it-agile GmbH bernd.schiffer@akquinet.de Danke, Johannes... 2 Ich sah sie überall... 3 Werte des Extreme Programmings Kommunikation

Mehr

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle Diverse Grundlagen Dr. Karsten Tolle Vorgehensmodelle im Software Engineering Wasserfallmodell Rapid Prototyping Spiralmodell V-Modell Rational Unified Process extrem Programming Test Driven Development

Mehr

RELEASE AUF KNOPFDRUCK: MIT CONTINUOUS DELIVERY KOMMEN SIE SCHNELLER ANS ZIEL.

RELEASE AUF KNOPFDRUCK: MIT CONTINUOUS DELIVERY KOMMEN SIE SCHNELLER ANS ZIEL. RELEASE AUF KNOPFDRUCK: MIT CONTINUOUS DELIVERY KOMMEN SIE SCHNELLER ANS ZIEL. Die Erwartungen Ihrer Businesskunden an ihre IT steigen. Mehr denn je kommt es darauf an, die Software optimal am Kunden auszurichten

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

Mehr

Agiles Schätzen. Quelle: Kap. 7 aus Wie schätzt man in agilen Projekten oder wieso Scrum-Projekte erfolgreicher sind [Boris Gloger 2014]

Agiles Schätzen. Quelle: Kap. 7 aus Wie schätzt man in agilen Projekten oder wieso Scrum-Projekte erfolgreicher sind [Boris Gloger 2014] Agiles Schätzen Quelle: Kap. 7 aus Wie schätzt man in agilen Projekten oder wieso Scrum-Projekte erfolgreicher sind [Boris Gloger 2014] Schätzen der Größe Wir bestimmen die Größe, nicht den Aufwand. Auf

Mehr

Software Engineering und Projektmanagement Fragenausarbeitung der Prüfung vom 26.04.2007

Software Engineering und Projektmanagement Fragenausarbeitung der Prüfung vom 26.04.2007 Software Engineering und Projektmanagement Fragenausarbeitung der Prüfung vom 26.04.2007 Christoph Redl Quelle der Fragen: http://www.informatik-forum.at/showthread.php?t=54097 1 SCRUM Prinzip + Vorteile

Mehr

RE-Metriken in SCRUM. Michael Mainik

RE-Metriken in SCRUM. Michael Mainik RE-Metriken in SCRUM Michael Mainik Inhalt Agile Methoden Was ist SCRUM? Eine kurze Wiederholung Metriken Burn Down Graph Richtig schätzen Running Tested Features WBS/ Earned Business Value Business Value

Mehr

Werte und Prinzipien der agilen Softwareentwicklung

Werte und Prinzipien der agilen Softwareentwicklung 1 Was ist Scrum? Scrum ist ein einfaches Projektmanagement-Framework, in das Entwicklungsteams selbstbestimmt erprobte Praktiken einbetten. Der Rahmen sieht einen empirisch, iterativen Prozess vor, bei

Mehr

Einleitung. Was ist das Wesen von Scrum? Die Ursprünge dieses Buches

Einleitung. Was ist das Wesen von Scrum? Die Ursprünge dieses Buches Dieses Buch beschreibt das Wesen von Scrum die Dinge, die Sie wissen müssen, wenn Sie Scrum erfolgreich einsetzen wollen, um innovative Produkte und Dienstleistungen bereitzustellen. Was ist das Wesen

Mehr

Extreme Programming. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825

Extreme Programming. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825 Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Extreme Programming Agiles Manifest Individuen und Interaktion wichtiger als Prozesse und Werkzeuge Laufende Software wichtiger als vollständige

Mehr

Extreme Programming 1/28

Extreme Programming 1/28 Extreme Programming 1/28 Risiko: Das Grundproblem 2/28 Jedes Projekt der Softwareentwicklung hat Risiken: Der Termin wird nicht eingehalten Die Kosten werden nicht eingehalten Die Qualitätsziele werden

Mehr

Agiles Projektmanagement - auch geeignet für Nicht-IT-Projekte? PMI Prof. Dr.-Ing. Holger Günzel 14.09.2012

Agiles Projektmanagement - auch geeignet für Nicht-IT-Projekte? PMI Prof. Dr.-Ing. Holger Günzel 14.09.2012 Agiles Projektmanagement - auch geeignet für Nicht-IT-Projekte? PMI Prof. Dr.-Ing. Holger Günzel Verglühte die Raumfähre Columbia durch einen unflexiblen Projektmanagementprozess? Rückblick: 2003 verglühte

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Softwareentwicklung Probleme bei großer Software Life-Cycle-Modelle Teilphasen eines Software-Projekts Methoden und Werkzeuge 01101101 01011001 11010011 10011000 00000011 00011100

Mehr

Testen im Software- Entwicklungsprozess

Testen im Software- Entwicklungsprozess Technologie-Event 2006 Testen im Software- Entwicklungsprozess W.Lukas, INGTES AG Was nicht getestet wurde, funktioniert nicht. -- R.Güdel (ca. 1998) Seite 2 Was sollen wir tun? Anomalien & Defekte von

Mehr

3. Vorgehensmodelle Software Engineering. Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006

3. Vorgehensmodelle Software Engineering. Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006 3. Vorgehensmodelle Software Engineering Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006 Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Fazit, Literatur, Kontrollfragen

Mehr

myscrum Scrum in der Praxis Markus Schramm compeople AG Frankfurt

myscrum Scrum in der Praxis Markus Schramm compeople AG Frankfurt myscrum Scrum in der Praxis Markus Schramm compeople AG Frankfurt Überblick Agilität und Scrum Grundlagen der agilen Softwareentwicklung Rahmenbedingungen bei der Einführung eines agilen Projektvorgehens

Mehr

eg e s c h ä f t s p r o z e s s MEHR ZEIT FÜR IHR GESCHÄFT SHD managed Ihre IT-Services

eg e s c h ä f t s p r o z e s s MEHR ZEIT FÜR IHR GESCHÄFT SHD managed Ihre IT-Services eg e s c h ä f t s p r o z e s s erfahrung service kompetenz it-gestützte MEHR ZEIT FÜR IHR GESCHÄFT SHD managed Ihre IT-Services erfolgssicherung durch laufende optimierung Als langjährig erfahrenes IT-Unternehmen

Mehr

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung Unified Process Eine Einführung von Hannes Fischer Fischer Software Elfenstr. 64 70567 Stuttgart Deutschland Copyright 2000 Hannes Fischer Unified Process Wie wird heute gearbeitet? Der Unified Process

Mehr

Informationssystemanalyse Software Risk Evaluation 7 1

Informationssystemanalyse Software Risk Evaluation 7 1 Informationssystemanalyse Software Risk Evaluation 7 1 Software Risk Evaluation Um Risiken bei Software-Projekten abzuschätzen und ihnen zu begegnen, wurde am SEI die Software Risk Evaluation-Methode entwickelt.

Mehr

Agile Softwareentwicklung

Agile Softwareentwicklung Agile Softwareentwicklung Werte, Konzepte und Methoden von Wolf-Gideon Bleek, Henning Wolf 2., aktualisierte und erweiterte Auflage Agile Softwareentwicklung Bleek / Wolf schnell und portofrei erhältlich

Mehr

Agiles Requirements Engineering mit Scrum. Rainer Fetscher Neuss, 16. November 2010

Agiles Requirements Engineering mit Scrum. Rainer Fetscher Neuss, 16. November 2010 Agiles Requirements Engineering mit Scrum Rainer Fetscher Neuss, 16. November 2010 1 Inhalt A. Vorstellung Creditreform B. Grundprinzipien in SCRUM C. IST-Stand D. Ausgangssituation E. Der Weg F. Fazit

Mehr

Software entwickeln mit extreme Programming

Software entwickeln mit extreme Programming Martin Lippert Stefan Roock Henning Wolf Software entwickeln mit extreme Programming Erfahrungen aus der Praxis dpunkt.verlag Inhaltsverzeichnis 1 Einleitung 1 1.1 Die XP-Werte 4 1.2 Die XP-Prinzipien

Mehr

Projektmanagement. Projektmanagement

Projektmanagement. Projektmanagement Projektmanagement Dipl.-Ing. Oliver Lietz Was ist ein Projekt? Projektmanagement Eindeutiges Ziel Individuell (einmalig) Begrenzt (Anfang und Ende) Komplex (keine Routineaufgabe) Warum Projektmanagement

Mehr

Oktober 2014 PRODUKTENTWICKLUNG. Dr. Ralf Lauterbach

Oktober 2014 PRODUKTENTWICKLUNG. Dr. Ralf Lauterbach PRODUKTENTWICKLUNG Dr. Ralf Lauterbach Produktentwicklung digitaler Produkte - was ist zu tun? - Generelle Aufgaben bei jeder digitalen Produktentwicklung Produktmanagement Marktanalysen Markteingangsstrategie

Mehr

Agiler Healthcheck. Dieter Bertsch & Sabine Canditt Agile Center Allianz Deutschland München / Januar 2013

Agiler Healthcheck. Dieter Bertsch & Sabine Canditt Agile Center Allianz Deutschland München / Januar 2013 Agiler Healthcheck Dieter Bertsch & Sabine Canditt Agile Center Allianz Deutschland München / Januar 2013 Inhalt 1 2 3 Motivation Existierende Healthchecks Agiler Healthcheck der Allianz "Der Glaube an

Mehr

Firmenportrait open4business GmbH. open4business. Softwareentwicklung für Unternehmen

Firmenportrait open4business GmbH. open4business. Softwareentwicklung für Unternehmen Firmenportrait open4business GmbH open4business Softwareentwicklung für Unternehmen Wer sind Wer wir sind Kurzprofil Die open4business GmbH ist ein mittelständisches IT-Dienstleistungsunternehmen mit Firmensitz

Mehr