Extreme Programming im Klassenraum

Größe: px
Ab Seite anzeigen:

Download "Extreme Programming im Klassenraum"

Transkript

1 Extreme Programming im Klassenraum Michael Weigend Holzkamp-Gesamtschule Willy-Brandt-Sre Witten Abstract: Agile Methoden der Softwareentwicklung (Extreme Programming, Scrum, Crystal) finden insbesondere im Zusammenhang mit Open Source- Software - zunehmend Verbreitung. Eine Besonderheit agiler Methodologien ist, Kommunikations- und Lernprozesse des Teams während einer Softwareentwicklung zu berücksichtigen. Anhand eines Beispiels werden Ideen des Extreme Programmings und Umsetzungsmöglichkeiten im Informatikunterricht vorgestellt.. 1 Softwareentwicklung in der Schule - Probleme Methoden des Software-Engineerings, der Kunst und Wissenschaft der Programmierung im Großen, werden schon seit längerem in der Didaktik der Informatik nicht nur als Unterrichtsgegenstand sondern auch als Vorbild für die Gestaltung von Programmierprojekten im Klassenraum diskutiert [KP93]. Ein typisches Unterrichtsvorhaben nach dem Muster des Phasenkonzepts des traditionellen SE beginnt mit der Analyse eines Wirklichkeitausschnitts, führt dann zum Entwurf eines Softwaresystems, das arbeitsteilig implementiert, getestet und schließlich kritisch beurteilt wird. Es gibt eine Reihe gut dokumentierter erfolgreicher Beispiele für solche Projekte. Dennoch sind auch einige Probleme nicht von der Hand zu weisen: Informatikunterricht ist an allgemeinbildenden Schulen in einen unerbittlichen Zeitrahmen eingebettet. Ein Programmierprojekt muss zu einem bestimmten Zeitpunkt fertig sein. Dabei wird in Kauf genommen, dass Projekte nicht fertig werden, weil man zu Beginn den Aufwand nicht richtig eingeschätzt hat. Die Qualität eines Entwurfs kann letztlich aber erst im Nachhinein beurteilt werden, wenn das Produkt bereits fertig ist.

2 Das Phasenkonzept stellt gerade in der Analyse- und Entwurfsphase hohe Anforderungen an die Entwickler. Im Grunde ist für einen guten Entwurf, der eine tragfähige Basis für eine Implementierung darstellen soll, ein Erfahrungsschatz erforderlich, über den Anfänger nicht verfügen. In der Praxis wird die Lehrperson Schülerergebnisse zur Analyse und zum Entwurf massiv nachbearbeiten und so zurechtstutzen, dass sie implementierbar werden. Aber selbst, wenn die Lehrerin oder der Lehrer schon viele ähnliche Projekte durchgeführt hat, ist sie in der Regel vor Überraschungen nicht gefeit. Lerngruppen sind in der Regel sehr heterogen. Selbst wenn im Unterricht vor einem Projekt jede Menge Programmiertechnik gelernt worden ist, dürfte ein beträchtlicher Teil der Schülerschaft auch noch mit elementaren Algorithmik- und Programmierkonzepten zu kämpfen haben. Diese Kenntnisse sind nicht nur während der Implementierungsphase von Bedeutung, sondern auch schon in den früheren Phasen, wenn es um die Beurteilung der Machbarkeit geht.. 2 Warum ist XP eine geeignete Entwicklungsmethodologie für die Schule? Extreme Programming ist eine Methode des agilen Programmierens und wurde zum großen Teil von Kent Beck bei Chrysler entwickelt (Beck 2003). Es wird gerne als Gegenbewegung zu phasenorientierten Ansätzen des traditionellen Software- Engineering gesehen, das an die Planungsmethodologie des Maschinenbaus und Bauingenieurwesens anknüpft. Die wesentlichen Merkmale sind folgende: Eine Metapher beschreibt in einem Satz, was das System leisten soll. Der Auftraggeber des Projekts (Kunde, Customer) skizziert in sogenannten Stories die Systemfunktionalität. Sie sind die Grundlage für die Arbeitsaufteilung im Entwicklungsteam. Es wird in kurzen Zyklen (Iterationen), die in der Industrie etwa zwei Arbeitswochen, in der Schule vielleicht 30 bis 90 min dauern. Am Ende jeder Iteration steht ein lauffähiges (Zwischen-)Produkt, das getestet und beurteilt werden kann. Die Programmierer arbeiten immer zu zweit an einem Rechner (Pair Programming). Neue Programmteile werden kontinuierlich in das entstehende System integriert. Wenn ein neues Programmstück (z.b. eine neue Funktion oder Methode) implementiert werden soll, wird zunächst ein Test definiert (Test Driven Development), den das fertige Fragment bestehen muss, bevor es integriert wird. Der entwickelte Programmtext gehört dem ganzen Team (Collective Ownership of Code) und kann ständig von jedem überarbeitet werden (Refactoring).

3 Viele typische Aktivitäten des Software Engineerings, wie etwa Spezifikation von Systemfunktionalität oder UML-Diagramme zur Visualisierung von Klassenstrukturen spielen auch bei XP-Projekten eine Rolle. Nur die Sichtweise ist eine andere. Während im klassischen Phasenkonzept ein UML-Klassendiagramm eine langfristig tragende Basis für eine spätere Implementierung ist, entsteht es bei einem typischen XP-Projekt parallel zur Implementierung und wird sogar eher am Ende fertig gestellt und findet erst wieder bei einer Jahre später erfolgenden Überarbeitung des Projekts Verwendung. UML-Diagramme werden eher zur Dokumentation als zum Erfinden von Strukturen erstellt. Die Vorteile der agilen Methodologie für das Lernen im Informatikunterricht sind folgende: Ein Projekt ist immer erfolgreich. Jedes Team schafft mehrere Iterationen. Auch wenn das ursprünglich gesetzte Ziel für das erste Release nicht erreicht wird, steht am Ende ein Produkt, das man vorzeigen kann. XP unterstützt eigenes Experimentieren. Wenn ein Entwickler feststellt, dass die eigenen Kenntnisse nicht ausreichen, eine Story zu implementieren, plant er oder sie Zeit für Erkundungen ein. XP fördert den Erwerb metakognitiver Kompetenzen. Dazu gehört vor allem die Beurteilung eigener Fähigkeiten (Kann ich diese Story implementieren oder muss ich erst ein bisschen probieren?) und die Einschätzung des Zeitbedarfs für die Lösung einer Aufgabe. 3 Einige XP-typische Features im Informatik-Unterricht 3.1 Die Metapher des Projekts Es gibt viele Möglichkeiten an ein Projektthema zu kommen. Häufig sind solche Projekte interessant, bei denen es zu irgendeiner Zusammenarbeit mit anderen Fächern oder außerschulischen Partnern kommt. Wir tun dann so, als hätte uns dieser Partner einen Auftrag erteilt. Normalerweise ist das Ergebnis eines Schulprojekts nicht wirklich brauchbare Software. Aber man bekommt ein Gefühl, dass etwas Sinnvolles entstehen könnte, wenn man noch mehr Zeit und Energie investieren würde. Am Anfang der Softwareentwicklung steht eine so genannte Metapher, eine Kurzbeschreibung des Zielproduktes. Beispiel: Wir stellen uns vor, die Volkshochschule Witten wünscht eine Software zur Bereicherung ihrer Englisch-Kurse. Das Zielsystem lässt sich durch folgende Metapher beschreiben: Ein Chatroom, in dem die Teilnehmer nur auf Englisch kommunizieren können.

4 3.2 Release Planning Stories schreiben und bewerten Die Entwicklung beginnt mit der Planung des ersten Release, also der ersten komplett einsatzfähigen Fassung der Software. Hier wird festgelegt, wie das Produkt in etwa aussehen soll. Bei realen Projekten in der Industrie spielt nun der Customer (Kunde) die Hauptrolle. Der Customer ist ein Vertreter des Auftragebers (in unserem Beispiel die Volkshochschule), der das Projekt finanziert. Es handelt sich um Personen, die sich im Anwendungsfeld der entwickelten Software gut auskennen. Normalerweise begleitet ein Customer die gesamte Entwicklung, ist immer ansprechbar, wenn es Fragen zu Details einer Story gibt, ist bei allen Planungen anwesend und prüft in Akzeptanztests, ob die Qualität der Software seinen Ansprüchen genügt. Enge Zusammenarbeit mit dem Customer wird als Qualitätsmerkmal gesehen. Beim ersten XP-Projekt in der Schule spielt die Lehrperson die Rolle des Customers. In der Release-Planung beschreibt der Customer die Systemfunktionalität umgangssprachlich in sogenannten Stories. Jede Story steht auf einer Karte, auf der später noch Kommentare zur Implementierung, Testfälle etc. vermerkt werden können. In unserem Beispiel-Projekt gibt die Lehrperson einige Stories vor. Es macht aber auch Sinn, wenn Schüler/innen zeitweilig in die Rolle des Customers schlüpfen und eigene Stories erfinden. Story 1: Ein Teilnehmer muss sich zu Beginn einer Sitzung einloggen und seinen Namen angeben. Erst dann gelangt er oder sie in den Chatroom. Das System merkt sich den Namen. Story 2: Im Chatroom sieht ein Teilnehmer die letzten sechs Beträge des Chats in folgender Form: <Name der Person>: <Beitrag>. Story 3: Im Chatroom kann jeder Teilnehmer einen Gesprächsbeitrag von 60 Zeichen absetzen. Danach wird der dargestellte Dialog aktualisiert. D.h. man sieht die letzten sechs Beiträge. Story 4: Nur Beiträge in englischer Sprache werden akzeptiert. Äußerungen in einer anderen Sprache werden unterdrückt und nicht im Dialog dargestellt. Story 5: Auf allen Seiten sieht man oben rechts das Logo des Auftraggebers (VHS Witten). Story 6: Der Text eines Beitrages kann formatiert werden. Man kann flüstern (kleine Schrift), schreien (große Schrift) oder normal reden (normale Schriftgröße). Gute Stories sollten eine Reihe von Merkmalen aufweisen. Die wichtigsten sind folgende: Eine Story ist kurz und deutet ein Feature des Zielsystems nur an. Details werden später im Gespräch geklärt. Jede Story muss innerhalb einer Iteration (in der Schule heißt das: in maximal 30 bis 60 min) implementiert werden können. Notfalls muss eine zu umfangreiche Story in einfachere Stories aufgespalten werden.

5 Stories sollten möglichst unabhängig voneinander implementiert werden können. Der Customer bringt die Stories in eine Prioritätenreihenfolge oder ordnet ihnen jeweils eine Zahl zu, die zum Ausdruck bringt, welchen Nutzen er sich von dieser Story verspricht ("business points"). Möglicherweise reicht die Zeit nicht, alle Stories zu implementieren. Dann sollte das erste Release wenigstens die wichtigsten Features enthalten. Nun müssen die Entwickler (Schüler) für jede Story abschätzen, wie viel Zeit für ihre Implementierung notwendig ist. Eine schwierige Aufgabe. Aber erst dann kann das Team entscheiden, welche Stories es innerhalb der vorgesehenen Projektzeit insgesamt implementieren kann. Das ist das Ergebnis der Release-Planung. Nun kann aber folgendes Problem auftreten. Die Entwickler wissen nicht, wie sie bestimmte Stories realisieren sollen und können deshalb auch keinen Zeitbedarf angeben. Deshalb ist für das Release Planning eine Explorationsphase vorgesehen. Man recherchiert und entwickelt versuchsweise Lösungen, so genannte Spike Solutions oder kurz Spikes. 3.4 Erkunden und Experimentieren - Spikes Spikes sind Programmierxperimente, die allein dem Zweck dienen herauszufinden, wie und mit welchem Aufwand man eine Story implementieren kann. Schüler/innen müssen im Rahmen eines Projektes meist neue informatische Konzepte lernen. Deshalb kommt den Spikes im Klassenraum eine besondere Bedeutung zu und es muss genügend Zeit für sie eingeplant werden. Sie können auf verschiedene Weise gestaltet werden. Mit Hilfe ihrer Sprachreferenz erarbeiten sich die Schülerinnen und Schüler selbstständig die erforderlichen Programmierkonzepte. Die Schüler/innen bearbeiten ein ausgearbeitetes Lernarrangement mit Erkundungsaufgaben und Experimenten, das auf eine Story zugeschnitten ist (z.b. "Wie speichert man eine Liste?") Man analysiert einen Programmtext, der ein ähnliches Problem löst, wie das in der Story beschriebene. Gute Sprachreferenzen enthalten solche "praxistypischen Beispiele". Die Länge des Programmtextes gibt einen Anhaltspunkt, mit welchem Implementierungsaufwand zu rechnen ist. Die Schüler/innen entscheiden selbst, welche Spikes sie durchführen. Als "Starthilfe" kann die Lehrperson ein kleines Programm vorgeben, dass erkennen lässt, wie die Architektur des Zielsystems in etwa aussehen könnte (architectual spike). Die Schüler/innen können es ausprobieren, abwandeln und als Ausgangspunkt für ihre eigene Entwicklung verwenden.

6 Für den Chatroom dient ein Miniatursystem bestehend aus einer statischen HTML-Seite mit Formular (Abb. 1) und einem CGI-Skript (Abb. 2) als Architekturspike. Es illustriert einige Grundtechniken der CGI-Programmierung: Variablenwerte aus einem Formular übernehmen (#2), ein HTTP-Paket durch Formatierung eines konstanten Strings mit variablen Teilen erzeugen (#3), einen Variableninhalt (hier der Name des Chat-Teilnehmers) während eines Dialoges in einem Hidden-Feld verfügbar halten (#1). <html> <head> <title>chat Login</title> </head> <body bgcolor=#e0e0e0> <font face="verdana"> <h2> Welcome to our chat room</h2> Please enter your first name or a pseudonym and click on "Login"!<br> <form action="http://www.media-objects.de/cgibin/schule/chatlogin_spike.py" method="post"> Name: <input type="entry" name="name" > <input type="submit" value="login"> </form> </font> </body> </html> Abbildung 1: Statische Webseite mit Formular HTML-Text und Screenshot

7 #!/usr/bin/python ANTWORT = '''content-type: text/html <html> <head><title>chat Login</title></head> <body bgcolor=#e0e0e0> <font face="verdana"> <h2> English Chat Room</h2> Thank you for coming, %s. Have a lot of fun! <form action="http://www.media-objects.de/cgibin/schule/chat_spike.py" method="post"> <input type="hidden" name="name" value="%s"> #1 <input type="submit" value="enter chat room"> </font></body> </html>''' import cgi form = cgi.fieldstorage() name = form.getvalue('name') #2 print ANTWORT % (name, name) #3 Abbildung 2: CGI-Skript (Python) und die von diesem Skript dynamisch erzeugte Webseite 3.5 Durchführung einer Iteration programmieren und beobachten Das Programm wird inkrementell im Verlaufe mehrerer Iterationen implementiert. Ein praktikables Maß für die zeitliche Länge einer Iteration in der Schule sind drei Unterrichtsstunden (eine Woche). Da man auch Zeit für Planungen und und andere organisatorische Dinge abziehen muss, bleiben vielleicht Minuten reine Programmierzeit, mit der man kalkulieren kann. Die Iteration beginnt mit einer Planungsrunde des Teams. Es werden noch nicht implementierte Stories der Release- Planung ausgewählt. Stories besonders hoher Priorität werden bevorzugt. Details der Funktionalität, die aus der Story nicht hervorgehen, müssen mit dem Customer geklärt und Testfälle entwickelt werden. Die erste Iteration ist ein Sonderfall. Sie sollte ein Ergebnis liefern, das in groben Zügen bereits die Architektur des Gesamtsystems erkennen lässt. Bei den letzten Iterationen spielt die Überarbeitung (Refactoring) des Programmtextes im Hinblick auf gute Performanz und übersichtliche Struktur eine zunehmende Rolle.

8 Die ausgewählten Stories werden an die Programmierpaare verteilt und von ihnen bearbeitet. Die Teams beobachten ihren Entwicklungsprozess. Dabei spielt die Uhr eine besondere Rolle. Die Schüler/innen messen, wie viel Zeit sie tatächlich für die Implementierung einer Story benötigt haben und vergleichen diesen Wert mit der zuvor geschätzten Zeit. So ermittelt das Team seine Arbeitsgeschwindigkeit (velocity) und kann in späteren Iterationen den Zeitaufwand besser vorhersagen. Pascal Van Cauwenberghe und Vera Peeters haben ein amüsantes Spiel ausgearbeitet (XP Game), in dem man in Miniiterationen von 90 Sekunden Aufwandsabschätzungen üben kann [vcp03]. Stories werden von den Programmierpaaren möglichst unabhängig voneinander implementiert. Das separat getestete Programmfragment wird direkt nach Fertigstellung in die aktuelle Version integriert (kontinuierliche Integration). Am Ende jeder Iteration steht ein lauffähiges Programm (Zwischenergebnis), das dem Customer (hier: der Lehrperson) gezeigt wird. Der Customer führt Akzeptanztests durch. Dabei können unerwünschte Eigenschaften sichtbar werden. Zu deren Beseitigung werden neue Stories geschrieben und in nachfolgenden Iterationen bearbeitet. 3.6 Test Driven Development (TDD) Beim XP beginnt man die Implementierung einer Story mit der Formulierung eines Testszenariums (Testdaten und erwartete Ergebnisse) und der Entwicklung einer Testumgebung. Diese Vorgehensweise nennt man Test Driven Development (TDD). Für Schüler, die die Semantik der von ihnen verfassten Programmzeilen erst noch lernen und noch Sicherheit bezüglich ihrer mentalen Konzepte finden müssen, ist das Testen besonders wichtig. Durch Testen wird Programmieren zum Experimentieren. Betrachten wir als Beispiel die Story 4 des Chatrooms. Sie besagt, dass Wortbeiträge, die nicht in englischer Sprache verfasst sind, unterdrückt werden sollen. Die Funktion testenglisch() im folgenden Skript prüft mit Hilfe eines regulären Ausdrucks einen Text und entscheidet ob er englisch ist oder nicht. def testenglish(s): #1 """Liefert True, wenn s einen englischen Text enthaelt, und False sonst >>> testenglish("my name is Mike") True >>> testenglish ("Wo lebst du?") False >>> testenglish ("127") True """ import re assert type(s) == type("a") reg = "[mm]y\s \sthe\s \sis\s" if re.findall(reg, s): return True else: return False

9 Das Beispiel illustriert eine einfache Möglichkeit des automatischen Testens mit dem Python-Modul doctest [We05a]. Unterhalb der Kopfzeile der Funktionsdefinition (#1) steht zwischen dreifachen Anführungszeichen ein sogenannter Docstring. Er wird normalerweise als Kommentar interpretiert und vom Laufzeitsystem übersprungen. Dieser Docstring enthält einige Testaufrufe der Funktion und in der Zeile darunter jeweils das erwartete Ergebnis. Nach der Idee des TTD formuliert man zuerst dieses Testszenarium, bevor man sich an die eigentliche Impelmentierung begibt. Nun ist es möglich die Funktion mit Hilfe des Moduls doctest zu testen. Dann wird der Docstrimg interpretiert ob alle aufgeführten Funktionsaufrufe das erwartete Ergebnis zurückgeben. 3.7 Refactoring Das Endprodukt einer Software-Entwicklung muss nicht nur die vereinbarte Funktionalität besitzen sondern auch anderen (nichtfunktionalen) Qualitätsansprüchen genügen. Dazu gehören z.b. gute Änderbarkeit und Wartungsfreundlichkeit, verständlicher Programmtext und übersichtliche Klassenstruktur. Die Idee von XP ist, dass hohe technische Qualität nicht durch ausführliche Vorplanung in einer Entwurfsphase erreicht werden kann sondern erst später im Laufe des Entwicklungsprozesses entsteht. Zur Verbesserung der Qualität muss der gesamte Programmtext immer wieder von Grund auf umgearbeitet werden. Man nennt dies Refactoring. Mit dem Refactoring ist verbunden, es keine isolierten Verantwortlichkeiten einzelner Programmierer für einzelne Module gibt, sondern der gesamte Programmtext dem ganzen Team gehört (collective ownership of code). Typische Refactoring-Maßnahmen sind Einfügen und Verbessern von Kommentaren, Umbenennen von Klassen, Methoden und Attributen oder das Aufteilen größerer Klassen in kleinere. Refactoring ist eine logische Konsequenz des Dazulernens während eines Entwicklungsprozesses. Man muss erst einmal etwas Programmtext geschrieben haben um zu erkennen, dass es auch besser geht. 3.8 Dokumentation des Entwicklungsprozesses Big Visible Charts im Computerlabor Zum XP gehört die Beobachtung und Dokumentation des Software- Entwicklungsprozesses auf der Big Visible Chart (BVC). Das ist ein großes handgezeichnetes Plakat mit Diagrammen, die verschiedene Facetten des Prozesses visualisieren. Die waagrechte Achse ist die Zeitachse; Zeiteinheit ist meist ein Tag oder eine Iteration. So kann man z.b. festgehalten, wie viele erfolgreiche und nicht erfolgreiche Tests während einer Iteration durchgeführt worden sind. Die Lehrperson kann einige Dinge vorgeben, die jede Gruppe protokollieren muss. Die Schüler sollten aber außerdem ermuntert werden, sich selbst weitere Diagramme auszudenken. Abbildung 3 zeigt ein Beispiel. Die erhobenen Daten betreffen nicht allein das Softwareprodukt, sondern auch Rahmenbedingungen, die auf den Entwicklungsprozess Einfluss haben. Dies lässt die Lehrperson rechtzeitig Probleme erkennen. Ein Team kann über ihre BVC zum Ausdruck bringen, was seine Arbeit behindert und was sie fördert.

10 Anzahl Tests pro Iteration erfolgreich nicht erfolgreich insgesamt implementierte Stories Ziel Anzahl der Tipps der Lehrerin hilfreich nicht hilfreich/ irreführend 2 fehlende Teammitglieder Abbildung. 3 Diagramme der Big Visible Chart Das Geheimnis des Erfolges der BVC liegt offenbar darin, dass sie öffentlich ist und jedermann, der den Raum betritt, ins Auge springt. Digitale Dokumentationen, die nur über das Netz erreichbar sind und erst aufgerufen werden müssen, ersetzen nicht die BVC [Je04]. 4 Fazit Development is Learning sagt Kent Beck, der Hauptprotagonist des Extreme Programming [Be03]. Eine Softwareentwicklungsmethodologie, die Dazulernen unterstützt, sollte eigentlich ein gutes Vorbild für die Gestaltung von Informatikprojekten in der Schule sein. Freilich müssen die Methoden der Profis an die besonderen Bedingungen der Schule (Zeitknappheit, Korsett des 45-Minuten-Takts, Räumlichkeiten) angepasst werden. Oder umgekehrt. Literaturverzeichnis [KP93] Koerber, Bernhard; Peters, Ingo-Rüdiger: Planungsstrukturen bei größeren Unterrichtsvorhaben - Theorie und Praxis der Planung informatischer Bildungsprozesse bei komplexen Problemlösungen. In: Login 13 (1993) Heft 6. [Be03] Beck, Kent: Extreme Programming Explained, Addison-Wesley [JAH00] Jeffries, Ron; Anderson, Ann; Hendrickson, Chet: Extreme Programming Installed. Addison-Wesley [Je04] Jeffries, Ron: Big Visible Charts. XP Magazine (XProgramming.com) [vcp03] Van Cauwenberghe, Pascal; Peeters, Vera: The XP Game [Wa02] Wake, William C.: Extreme Programming Explored. Addison-Wesley [We05] Weigend, Michael: Python gepackt. 2. Aufl. Bonn (mitp) [We05a] Weigend, Michael: Objektorientierte Programmierung mit Python. 2. Aufl. Bonn (mitp) 2005.

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

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

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

- 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

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

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

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

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

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

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

Water-Scrum-Fall Ein Entwicklungsprozess mit Zukunft? Bernhard Fischer

Water-Scrum-Fall Ein Entwicklungsprozess mit Zukunft? Bernhard Fischer Water-Scrum-Fall Ein Entwicklungsprozess mit Zukunft? Bernhard Fischer Wasserfall vs. Agile: Eine Erfolgsstory 2 Umsetzung agiler Prinzipien Entwicklungsprozess 2009 30.6% 13.4% 20.6% 35.4% Agil Iterativ

Mehr

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

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

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

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 (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

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

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

Mike Cohn Mit einem Vorwort von Kent Beck. User Stories. für die agile Software-Entwicklung mit Scrum, XP u.a.

Mike Cohn Mit einem Vorwort von Kent Beck. User Stories. für die agile Software-Entwicklung mit Scrum, XP u.a. Mike Cohn Mit einem Vorwort von Kent Beck User Stories für die agile Software-Entwicklung mit Scrum, XP u.a. Mike Cohn User Stories Übersetzung aus dem Amerikanischen von Martina Hesse-Hujber Bibliografische

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

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

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

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

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

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

Kurzübersicht Unified Process und Agile Prozesse

Kurzübersicht Unified Process und Agile Prozesse Kurzübersicht Unified Process und Agile Prozes Rainer Schmidberger schmidrr@informatik.uni-stuttgart.de Copyright 2004, Rainer Schmidberger, Universität Stuttgart, Institut für Softwaretechnologie, Abt.

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

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

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

Anforderungsermittlung mit Extreme Programming (XP) - Erfahrungen aus der Praxis

Anforderungsermittlung mit Extreme Programming (XP) - Erfahrungen aus der Praxis Anforderungsermittlung mit Extreme Programming (XP) - Erfahrungen aus der Praxis Stefan Roock, roock@jwam.de APCON Workplace Solutions GmbH & Universität Hamburg Vogt-Kölln-Strasse 30 22527 Hamburg Germany

Mehr

Was fehlt Scrum? 31. März 2014 Erich Oswald CTO Ergon Informatik AG

Was fehlt Scrum? 31. März 2014 Erich Oswald CTO Ergon Informatik AG Was fehlt Scrum? 31. März 2014 Erich Oswald CTO Ergon Informatik AG Scrum ist eine Erfolgsstory Aus der Praxis entstanden Nachweislich erfolgreich Gut geeignet für komplexe Probleme Produktentwicklung

Mehr

Einführung in SCRUM. Helge Baier 21.01.2010

Einführung in SCRUM. Helge Baier 21.01.2010 Einführung in SCRUM Helge Baier 21.01.2010 Helge Baier Master of Computer Science (Software Engineering) über 10 Jahre Erfahrung in der Software Entwicklung Zertifizierung zum Scrum Master (2009) praktische

Mehr

Das Who s Who der agilen Methoden Golo Roden

Das Who s Who der agilen Methoden Golo Roden Das Who s Who der agilen Methoden Golo Roden www.goloroden.de www.des-eisbaeren-blog.de Über mich > Wissensvermittler und Technologieberater >.NET, Codequalität und agile Methoden > MVP für C#, zweifacher

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

Lego MindStorms Implementierung für Etoys

Lego MindStorms Implementierung für Etoys NXTeToys Lego MindStorms Implementierung für Etoys NXTeToys Gruppe 5 Tobias Schubotz, Björn Groneberg, Florian Westphal, Felix Leupold, Richard Meißner, Gerardo Navarro Suarez Motivation 2 Kinder lernen

Mehr

Scrum technische Umsetzung und kaufmännische Rahmenbedingungen

Scrum technische Umsetzung und kaufmännische Rahmenbedingungen Scrum technische Umsetzung und kaufmännische 9. Darmstädter Informationsrechtstag 2013 Darmstadt, 15. November 2013 Franziska Bierer 2 andrena ojects ag Gründung 1995 Standorte in Karlsruhe und Frankfurt

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

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

ZuuL - Entwicklung eines Adventures

ZuuL - Entwicklung eines Adventures ZuuL - Entwicklung eines Adventures im Rahmen der Uni-Tage 2009 Team 120 Universität Hamburg 16./17. November 2009 Team 120 (Universität Hamburg) ZuuL - Entwicklung eines Adventures 16.11.09 1 / 21 Übersicht

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

Was funktioniert und was nicht? Agile Softwareentwicklung in der Praxis Martin Lippert, martin.lippert@akquinet.de

Was funktioniert und was nicht? Agile Softwareentwicklung in der Praxis Martin Lippert, martin.lippert@akquinet.de Was funktioniert und was nicht? Agile Softwareentwicklung in der Praxis Martin Lippert, martin.lippert@akquinet.de Über mich Martin Lippert Senior IT-Berater bei akquinet it-agile GmbH martin.lippert@akquinet.de

Mehr

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Taking RM Agile CLICK TO EDIT MASTER OPTION 1 Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Click to edit Master subtitle style Christian Christophoridis Requirements Management

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

Die Evolution von extreme Programming

Die Evolution von extreme Programming Die Evolution von extreme Programming Wieso extreme Programming so ist, wie es ist. Von Michael Kircher Der aktuelle Trend bei der Software-Entwicklung wird derzeit von Java und E-Commerce Projekten getrieben.

Mehr

SCRUM. Scrum in der Software Entwicklung. von Ernst Fastl

SCRUM. Scrum in der Software Entwicklung. von Ernst Fastl SCRUM Scrum in der Software Entwicklung von Ernst Fastl Agenda 1. Die Entstehung von Scrum 2. Überblick über den Prozess 3. Rollen 4. Meetings 5. Artefakte 6. Fragen & Antworten Agenda 1. Die Entstehung

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Modulare Programmierung

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Modulare Programmierung Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Modulare Programmierung Test Driven Development Refactoring Modular programmierung der

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

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

Scrum Team Diagnose. Gibt es sonst noch etwas, was du zur Rolle des Product Owners sagen möchtest?

Scrum Team Diagnose. Gibt es sonst noch etwas, was du zur Rolle des Product Owners sagen möchtest? Scrum Rollen Product Owner (PO) Der PO ist klar definiert Der PO übersetzt Anforderungen in klare Backlog Items Der PO ist ermächtigt, Backlog Items zu priorisieren Der PO verfügt über das Fachwissen,

Mehr

Agile Softwareentwicklung - Ein praktisches Beispiel -

Agile Softwareentwicklung - Ein praktisches Beispiel - Agile Softwareentwicklung - Ein praktisches Beispiel - Dr. Dagmar Monett Díaz Berlin, 03.11.2009 D. Monett: Agile Softwareentwicklung Ein praktisches Beispiel Der Softwareentwicklungsprozess Sichtweisen,

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

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

Das Lehren von objektorientierter Programmierung in Java mit

Das Lehren von objektorientierter Programmierung in Java mit Das Lehren von objektorientierter Programmierung in Java mit Dr. Axel Schmolitzky Arbeitsbereich Softwaretechnik Fachbereich Informatik Universität Hamburg Überblick Kurz zu meiner Person Objektorientierung

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

Programmieren 2 (Prof. Hasbargen) Klausur

Programmieren 2 (Prof. Hasbargen) Klausur Programmieren 2 (Prof. Hasbargen) 1 Klausur Aufgabe 1 (10 Punkte) Dynamisierung von HTML-Seiten HTML-Seiten sind eine gängige Art und Weise, Informationen darzustellen. Nennen Sie die Gründe, welche Vorteile

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

Agile Methoden vs. Testen

Agile Methoden vs. Testen Agile Methoden vs. Testen cc gmbh Bernhard Moritz CC GmbH TAV 27, AK Testmanagement, 6.6.2008 Bernhard Moritz Flachstraße 13 65197 Wiesbaden Telefon 0611 94204-0 Telefax 0611 94204-44 Bernhard.Moritz@cc-gmbh.de

Mehr

Software Engineering. 2. Methodologien. Franz-Josef Elmer, Universität Basel, HS 2010

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

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

Praxisbericht und Demo-Projektabwicklung mit der ATLASSIAN Toolchain und Continuous Integration. Markus Stollenwerk, Noser Engineering AG

Praxisbericht und Demo-Projektabwicklung mit der ATLASSIAN Toolchain und Continuous Integration. Markus Stollenwerk, Noser Engineering AG Praxisbericht und Demo-Projektabwicklung mit der ATLASSIAN Toolchain und Continuous Integration Markus Stollenwerk, Noser Engineering AG Agile Softwareentwicklung Crash-Kurs Markus Stollenwerk, 27.9.2013

Mehr

6 Architektur-Mittel (WOMIT)

6 Architektur-Mittel (WOMIT) 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte

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

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords 4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:

Mehr

17.04.12. Agile Softwareentwicklung. im Rahmen des Bachelor-Praktikums des. Fachbereichs Informatik

17.04.12. Agile Softwareentwicklung. im Rahmen des Bachelor-Praktikums des. Fachbereichs Informatik Agile Softwareentwicklung im Rahmen des Bachelor-Praktikums des Fachbereichs Informatik 17.04.12 In diesem Dokument wird kurz beschrieben, wie sich ein von Extreme Programming und Scrum inspiriertes agiles

Mehr

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014 Programmierprojekt Anne0e Bieniusa Sommersemester 2014 Phasen der So;ware- Entwicklung Planungsphase DefiniConsphase Entwurfsphase ImplemenCerungsphase Testphase Wasserfall- Modell Einführungs- und Wartungsphase

Mehr

FALLSTRICKE IM AGILEN ANFORDERUNGSMANAGEMENT ODER WIE BEKOMME ICH MIT USER STORIES VON DEN GEEKS WAS ICH WILL?

FALLSTRICKE IM AGILEN ANFORDERUNGSMANAGEMENT ODER WIE BEKOMME ICH MIT USER STORIES VON DEN GEEKS WAS ICH WILL? FALLSTRICKE IM AGILEN ANFORDERUNGSMANAGEMENT ODER WIE BEKOMME ICH MIT USER STORIES VON DEN GEEKS WAS ICH WILL? Steffen Thols - REConf 2012 07.03.2012 2 ÜBER MICH Name : Steffen Thols Berufserfahrung: Einige

Mehr

Agilität selbst erfahren. Agile Softwareentwicklung in der Praxis: Jetzt bewerben für das erste Agile Code Camp 2013!

Agilität selbst erfahren. Agile Softwareentwicklung in der Praxis: Jetzt bewerben für das erste Agile Code Camp 2013! Agilität selbst erfahren. Agile Softwareentwicklung in der Praxis: Jetzt bewerben für das erste Agile Code Camp 2013! Sie wollen alles über agile Softwareentwicklung wissen? Wie können Sie agile Methoden

Mehr

Wie funktioniert agile Software-

Wie funktioniert agile Software- Wie funktioniert agile Software- Entwicklung mit SCRUM Zürich, 8. Mai 008 Jean-Pierre König, namics ag Software Engineer Bern, Frankfurt, Hamburg, München, St. Gallen, Zug, Zürich www.namics.com Agenda»

Mehr

Agile Systemadministration (ASA)

Agile Systemadministration (ASA) Agile Systemadministration (ASA) marcel.wegermann@it-agile.de http://www.it-agile.de { Agenda I. Ausgangspunkt II. Vorgehensweisen III. Projektmanagement IV. Status Quo Der Ausgangspunkt Agiles Manifest

Mehr

Softwaretechnik WS 2013/14. Fomuso Ekellem

Softwaretechnik WS 2013/14. Fomuso Ekellem WS 2013/14 Organisatorisches Dozentin : Ango (Raum 2.250) Fragen und Übungen: mathe_ekellem@yahoo.com (Nur hier, sonst wird nicht bewertet) Folien: http://www.gm.fh-koeln.de/~afomusoe/softwaretechnik.html

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

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

Agile Software Development with Scrum

Agile Software Development with Scrum Agile Software Development with Scrum (Schwaber/Beedle, Prentice Hall, 2002) Ein Lesebericht von Robert Hagedorn und Dr. Juho Mäkiö Was ist eigentlich Scrum und wie kann es erfolgreich in der Systementwicklung

Mehr

Agile Software-Entwicklung: Überblick

Agile Software-Entwicklung: Überblick Agile Software-Entwicklung: Überblick Stefan Diener / Apr 18, 2007 / Page 1 Inhalt Historie Agiles Manifest Agile Prinzipien Agile Methoden Agile SW-Entwicklungsprozesse Stefan Diener / Apr 18, 2007 /

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 Einleitung 3 Methoden

Mehr

Agile Entwicklungspraktiken mit Scrum

Agile Entwicklungspraktiken mit Scrum Agile Entwicklungspraktiken mit Scrum von Roman Pichler, Stefan Roock 1. Auflage Agile Entwicklungspraktiken mit Scrum Pichler / Roock schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

Mehr

Stop Making Sense. Über Sinn und Unsinn von Schätzungen

Stop Making Sense. Über Sinn und Unsinn von Schätzungen Stop Making Sense Über Sinn und Unsinn von Schätzungen Agenda Agenda Was sind Schätzungen? Agenda Was sind Schätzungen? Geht es auch einfacher? Agenda Was sind Schätzungen? Geht es auch einfacher? Wie

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Einführung in Scrum. Agiles Projektmanagement. Martin Krüger 27.04.2011 Entwicklung von Workflowanwendungen

Einführung in Scrum. Agiles Projektmanagement. Martin Krüger 27.04.2011 Entwicklung von Workflowanwendungen Einführung in Scrum Agiles Projektmanagement Martin Krüger 27.04.2011 Entwicklung von Workflowanwendungen Warum Agiles Projektmanagement? Scrum Empfehlungen Das Seminar Planbarkeit Warum Agiles Projektmanagement?

Mehr

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,

Mehr

Agiles REQUIREMENTS ENGINEERING. Peter Hruschka hruschka@b-agile.de www.b-agile.de www.systemsguild.com. in der Praxis. Mein Ziel ist Ihr Erfolg:!

Agiles REQUIREMENTS ENGINEERING. Peter Hruschka hruschka@b-agile.de www.b-agile.de www.systemsguild.com. in der Praxis. Mein Ziel ist Ihr Erfolg:! Agiles EQUIEMENTS ENGINEEING in der Praxis Peter Hruschka hruschka@b-agile.de www.b-agile.de www.systemsguild.com Software- und System-Engineering: Von der Vision einer besseren Welt...!... zur industriellen

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

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

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

Algorithmen und Programmieren II Einführung in Python

Algorithmen und Programmieren II Einführung in Python Algorithmen und Programmieren II Einführung in Python SS 2012 Prof. Dr. Margarita Esponda 1 Was ist Python? eine Skript-Sprache Anfang der 90er Jahre entwickelt. Erfinder: Guido van Rossum an der Universität

Mehr

Test-Driven Design: Ein einfaches Beispiel

Test-Driven Design: Ein einfaches Beispiel Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms

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

XP, Scrum, Crystal, FDD:

XP, Scrum, Crystal, FDD: XP, Scrum, Crystal, FDD: Welche agile Methode passt zu uns? Henning Wolf Christoph Kemp Was ist Agilität? Teil 1: Das agile Manifest We are uncovering better ways of developing software by doing it and

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

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

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird.

Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. AGILO HOWTO Agilo [1] ist ein auf Trac [2] basierendes Scrum [3] Tool. Im Folgenden soll eine kurze Überischt gegeben werden, wie Agilo benutzt wird. ROLLEN IM TEAM In Scrum hat jedes Teammitglied eine

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Internetanbindung von Datenbanken

Internetanbindung von Datenbanken Internetanbindung von Datenbanken Python und CGI CGI und Perl-1 Gliederung Die Programmiersprache Python CGI in Python Datenbankanbindung Umsetzungskonzepte Zusammenfassung Realisierung Python und CGI-2

Mehr

Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45

Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45 7 Programmverstehen + Fehlersuche Nach einer Vorlesung von Prof. Andreas Zeller, Lehrstuhl Softwaretechnik Universität

Mehr

Softwaretechnik II. Sommersemester 2014. Software-Qualität. Stefan Berlik

Softwaretechnik II. Sommersemester 2014. Software-Qualität. Stefan Berlik 1 / 43 Softwaretechnik II Sommersemester 2014 Software-Qualität Stefan Berlik Fachgruppe Praktische Informatik Fakultät IV, Department Elektrotechnik und Informatik Universität Siegen 8. Mai 2014 Gliederung

Mehr

Grundlegende Veränderungen in der Software-Dokumentation durch agile Entwicklung?

Grundlegende Veränderungen in der Software-Dokumentation durch agile Entwicklung? Grundlegende Veränderungen in der Software-Dokumentation durch agile Entwicklung? Marlis Friedl Christina Wirth Comet Computer GmbH tekom-jahrestagung 2010 5. November, UA 17 Überblick Die agile Software-Entwicklung

Mehr

Iterativ. Inkrementell

Iterativ. Inkrementell Iterativ Inkrementell Build Release Test Qualität Architektur & Documentation Distributed Version Control Continuous Integration TDD Design Agile Architektur Dependency Feature Branches Mocks

Mehr

Extreme Programming (XP)

Extreme Programming (XP) Einführung in Extreme Programming 1 Extreme Programming (XP), wolf@jwam.de Martin Lippert, lippert@jwam.de Stefan Roock, roock@jwam.de Universität Hamburg & APCON Workplace Solutions GmbH Vogt-Kölln-Strasse

Mehr