Agile Softwareentwicklung mit Feature-Driven Development

Größe: px
Ab Seite anzeigen:

Download "Agile Softwareentwicklung mit Feature-Driven Development"

Transkript

1 Agile Softwareentwicklung mit Feature-Driven Development Fabian Chanton und Sven Schumacher Berner Fachhochschule Technik und Informatik CH-2501 Biel, Schweiz Zusammenfassung: In der Arbeit Agile Softwareentwicklung mit Scrum wurden die Vorteile der Agilen Softwareentwicklung erläutert und der Prozess Scrum vorgestellt. In der vorliegenden Arbeit wurde nun ein weiterer agiler Prozess vorgestellt: Feature-Driven Development (kurz FDD). Feature-Driven Development ist ein relativ strenger Prozess, der eine genaue Vorgehensweise in Form von Rollen und Prozessen definiert. Dadurch lässt sich FDD gut in bestehende, traditionelle Strukturen integrieren. Das wiederum erleichtert den Umstieg von einem traditionellen Prozess auf FDD erheblich. Aus diesem Grund ist FDD sehr gut als Einstieg in die Welt der agilen Prozesse geeignet. FDD legt grossen Wert darauf, dass der aktuelle Fortschritt des Projekts jederzeit bestimmbar ist. Dazu definiert es eine Reihe von raffinierten, exakten Praktiken, welche einfach angewendet werden können. Durch seinen Umfang ist FDD nur bedingt für kleine Teams und Projekte geeignet, es kann aber selbst für enorm grosse Projekte angewendet werden. 1. Einleitung In den letzten Jahren zeigte der Trend in der Softwareentwicklung immer mehr in die Richtung von agilen Entwicklungsmethoden. Es existiert eine Vielzahl von verschiedenen agilen Prozessen, die alle ihre Vor- und Nachteile haben. Oftmals ist der Umstieg von einem traditionellen auf einen agilen Prozess mit gravierenden Veränderungen im gesamten Unternehmen verbunden. Dies hält einige Projektverantwortliche davon ab, auf agile Prozesse umzusteigen. Der agile Prozess Feature-Driven Development (FDD), vorgeschlagen von Peter Coad, Eric Lefebvre und Jeff de Luca, eignet sich sehr gut für solch einen Umstieg, da er sich hervorragend in bestehende, traditionelle Unternehmensstrukturen integrieren lässt. Das Ziel dieser Arbeit ist es, FDD näher zu erklären. Es sollte dem Leser am Ende möglich sein, zu Entscheiden, ob sich der Einsatz von FDD für seine Projekte lohnt.

2 2 Agile Softwareentwicklung mit FDD 2. Agile Softwareentwicklung Um FDD verstehen zu können, muss man zunächst einmal verstehen, wie agile Prozesse funktionieren. Den Lesern, welche noch nicht mit agilen Prozessen vertraut sind, wird empfohlen Kapitel 2 der Arbeit Agile Softwareentwicklung mit Scrum [2] zu lesen. Dieses Kapitel führt in den Begriff der agilen Softwareentwicklung ein und definiert diesen näher. 3. Feature-Driven Development 3.1. Vorbemerkungen In diesem Kapitel soll FDD näher beschrieben und erklärt werden, so dass der Leser am Ende des Kapitels beurteilen kann, ob sich der Einsatz von FDD in seinem konkreten Fall lohnt. Dazu werden zunächst die Rollen erläutert, welche in FDD definiert werden. Anschliessend folgt eine Beschreibung der Best Practices, die von FDD empfohlen werden. Zum Schluss wird auf die verschiedenen Prozesse von FDD eingegangen, sowie dessen Möglichkeiten zur Messung des erzielten Fortschritts Rollen Vorbemerkungen Dieses Kapitel behandelt die verschiedenen Rollen, die von FDD definiert werden. Diese Rollen lassen sich grob in Schlüsselrollen, Nebenrollen (oder Unterstützungsrollen) und zusätzliche Rollen einteilen. Im Folgenden werden die Charakteristiken der einzelnen Rollen näher beleuchtet, wobei der Schwerpunkt bei den Schlüsselrollen liegt. Diese sind die wichtigsten Rollen für ein Projekt und beeinflussen das fertige Produkt (die Software) in massgebender Weise. Anschliessend werden noch die Nebenrollen beschrieben, welche eher unterstützend am Projekt teilnehmen. Schlussendlich werden noch kurz die zusätzlichen Rollen erwähnt, welche meist nicht direkt im Team integriert sind Schlüsselrollen Project Manager Der Project Manager ist der administrative Verantwortliche für das Projekt. Er sorgt dafür, dass alle benötigten Ressourcen vorhanden sind. Sein oberstes Ziel ist es, dem Team eine möglichst produktive Umgebung zu schaffen. Um dies zu erreichen,

3 Agile Softwareentwicklung mit FDD 3 organisiert er nicht nur die Ressourcen, sondern er schirmt das Team auch gegen Störungen von aussen ab. Der Project Manager muss die verschiedensten Ressourcen organisieren und verwalten können. Die Palette an Ressourcen, für die der Project Manager zu sorgen hat, reicht von technischer Ausrüstung wie Flipcharts, Laptops oder Beamer, über verfügbare Räumlichkeiten für Sitzungen, bis hin zu genügend qualifizierten Mitarbeitern. Da der Project Manager für die Ressourcen verantwortlich ist, fällt es auch in seinen Aufgabenbereich das Budget zu verwalten. Eine weitere Aufgabe des Project Managers besteht darin, den aktuellen Fortschritt des Projektes zu überwachen. Zum einen ermöglicht dies eine effiziente Verwaltung von Ressourcen und Budget, zum anderen sollte der Project Manager in regelmässigen Abständen die Auftraggeber über den aktuellen Status des Projektes aufklären. Die Rolle des Project Managers sollte von einem sehr erfahrenen und flexiblen Mitarbeiter eingenommen werden, der über ausgezeichnete organisatorische Fähigkeiten verfügt. Zusätzlich sollte der Project Manager ein hervorragender Teamleiter sein, der es versteht, ein Team zu motivieren. Chief Architect Der Chief Architect ist der Verantwortliche für das allgemeine Design der Software. Obwohl der Chief Architect in designspezifischen Fragen immer das letzte Wort hat, hat er nicht die Aufgabe, das gesamte System alleine zu entwerfen. Vielmehr unterstützt er die anderen Entwickler während gemeinsamer Designsitzungen. Man muss sich den Chief Architect also nicht als einen Komponisten vorstellen, der alleine ein Meisterwerk komponiert. Es sollte jedoch klar sein, dass diese Rolle massgeblichen Einfluss auf das finale Design nimmt. Des Weiteren hilft der Chief Architect Konflikte und Unklarheiten aufzulösen, welche die Chief Programmer nicht selber beseitigen können. Wie bereits erwähnt, hat der Chief Architect bei designrelevanten Konflikten das letzte Wort. Dadurch wird unter anderem verhindert, dass die untereinander gleichgestellten Chief Programmer sich in ewigen Diskussionen und Debatten verlieren, sollten sie nicht in der Lage sein, einen Kompromiss zu finden. In solchen festgefahrenen Situationen ermöglicht ein Machtwort des Chief Architects das produktive Weiterarbeiten. Natürlich sollte der Chief Architect versuchen, seine Autorität so selten wie möglich auf diese Weise zu verwenden, da dies in der Regel dem Klima im Team schadet. Ähnlich dem Project Manager, der sämtliche finanziellen und ressourcenbedingten Probleme aus der Welt zu schaffen versucht, ist das Ziel des Chief Architects, die Beseitigung aller technischen Probleme. Dazu unterstützt er die Entwickler in ihren Design-Tätigkeiten und behält stets das generelle Design des Systems im Auge. Der Chief Architect muss über ausgezeichnete technische Fähigkeiten verfügen und vor allem ein exzellenter Modellierer sein. Bei der Schlichtung von Konflikten zwischen den Chief Programmern ist sicherlich ein gewisses diplomatisches Geschick gefragt, sowie einige Erfahrung im Leiten von Teams.

4 4 Agile Softwareentwicklung mit FDD Development Manager Der Development Manager ist für die tägliche Verwaltung der Ressourcen während der Entwicklung verantwortlich. Seine Aufgabe ist es, die Ressourcen so unter den Teams zu verteilen, dass die Entwicklung möglichst produktiv fortgesetzt werden kann. Das Vermeiden von Situationen, in denen ein Weiterkommen, aufgrund von Abhängigkeiten zwischen Ressourcen und Features, nicht mehr möglich ist (ein sogenannter Deadlock), ist eine der Hauptaufgaben des Development Managers. Dazu ist es unter anderem nötig, Ressourcenkonflikte zwischen den Chief Programmern zu lösen, wo sich diese nicht einigen können. Da der Development Manager über die täglichen Ressourcenbedürfnisse der Teams bescheid wissen muss, sollte er immer ein Bild vom aktuellen Fortschritt des Projekts haben und ausserdem die zukünftige Planung des Projekts kennen. Dadurch kann der Development Manager weitsichtig die Ressourcenverteilung planen und so Engpässen frühzeitig vorbeugen. Bei Bedarf kann der Development Manager beim Project Manager zusätzliche Ressourcen anfordern. Der Development Manager muss über gute technische Fähigkeiten verfügen und sollte ein guter Teamleiter sein. Chief Programmer Die Chief Programmer sind erfahrene Programmierer, welche schon mehrere Softwareprojekte von Anfang bis Ende durchgeführt haben. Sie sind in die ersten drei Phasen von FDD involviert, in denen es darum geht, die Anforderungen an die Software zu analysieren und das grobe Design (die Architektur) der Software zu ermitteln. Den wichtigsten Teil ihrer Arbeit leisten sie jedoch während den letzten zwei Phasen von FDD. Während diesen Design- und Implementierungsphasen stellen sie die Feature Teams zusammen und leiten diese dann. Die Feature Teams setzen sich aus den Class Ownern derjenigen Klassen zusammen, die für das jeweilige Feature verändert werden müssen. Dies stellt den Chief Programmer vor einige Probleme. Einerseits muss er auf die Abhängigkeiten zwischen den Features achten, da manche Gruppen von Features in einer gewissen Reihenfolge entwickelt werden müssen. Andererseits muss der Chief Programmer die Verfügbarkeit der jeweiligen Class Owner beachten. Sind die Class Owner schon in anderen Feature Teams beschäftigt, muss der Chief Programmer die Entwicklung dieses Features nach hinten verschieben und ein anderes Feature wählen. Neben den Planungs- und Führungsaufgaben arbeiten die Chief Programmer auch als Entwickler. So ist jeder Chief Programmer auch gleichzeitig ein Class Owner und entwickelt aktiv am Projekt mit. Dadurch bleiben die Chief Programmer in Berührung mit den alltäglichen Problemen der Softwareentwicklung. Zudem schätzen es die meisten Chief Programmer, wenn sie aktiv am Entwicklungsprozess teilnehmen können. Die Chief Programmer müssen über ausgezeichnete technische Fähigkeiten verfügen und sollten von den übrigen Entwicklern sowie von der Verwaltung respektiert werden. Da sie zu Beginn jeder Iteration ein neues Feature Team zusammenstellen

5 Agile Softwareentwicklung mit FDD 5 müssen, welches sie später auch leiten, sind natürlich auch organisatorische Fähigkeiten sowie Kompetenzen im Leiten von kleinen Gruppen gefragt. Class Owner Die Class Owner sind die eigentlichen Entwickler der Software. Ihre Aufgabe ist es, unter der Leitung eines Chief Programmer, die Features zu designen, codieren, testen und dokumentieren. Der Name Class Owner (englisch für Klassen-Besitzer) rührt daher, dass jeder Entwickler einige Klassen besitzt, welche nur er verändern darf. Das bedeutet also, dass jeder Entwickler für einige Klassen verantwortlich ist und dass jede Klasse nur von einem Entwickler verändert werden darf. Diese Praxis wird im Kapitel über Best Practices näher beschrieben. Der Class Owner sollte selbstverständlich ein fähiger Softwareentwickler sein. Oftmals steigen erfahrene Class Owner mit guten sozialen Kompetenzen zum Chief Programmer auf. Domain Expert Domain Experts sind Spezialisten in der Domäne, auf die sich das System bezieht. Sie kennen die Anforderungen, die das System erfüllen muss, sowie die spezifischen Eigenheiten der Domäne. Bei einem medizinischen System könnten zum Beispiel Ärzte Domain Experts sein. Als Domain Experts kommen allgemein Benutzer, Auftraggeber, externe Spezialisten oder dergleichen in Frage. Oftmals handelt es sich bei der Gruppe der Domain Experts um eine Mischung aus verschiedenen Personen (z.b. einige Benutzer des neuen Systems und die Auftraggeber). Die Entwickler können sich auf das Wissen und die Erfahrung der Domain Experts in ihrem Spezialgebiet verlassen und darauf zurückgreifen, falls Unklarheiten entstehen. Manchmal bedarf es deshalb einer gewissen Geduld gegenüber den Entwicklern, da teilweise Zusammenhänge und Sachverhalte mehrmals erklärt werden müssen. Ein Domain Expert muss in der Lage sein, einem Entwickler die Domäne, oder einzelne Facetten davon, in beliebigem Detailgrad zu erklären. Deshalb sind gute Kommunikationsfähigkeiten und ein fundiertes Fachwissen die wichtigsten Eigenschaften, die ein Domain Expert mitbringen muss. Zudem sollte der Domain Expert motiviert sein, an dem Projekt mitzuarbeiten und das bestmögliche Endresultat zu erzeugen Nebenrollen Release Manager Der Release Manager ist dafür verantwortlich sicherzustellen, dass die Chief Programmer den aktuellen Fortschritt regelmässig melden. Zudem ist er darum bemüht, dass alle Beteiligten den Fortschritt des gesamten Projekts im Auge behalten können. Zu diesem Zweck verteilt er Berichte und Diagramme.

6 6 Agile Softwareentwicklung mit FDD Diese Rolle kann in kleineren Projekten auch von einem Mitarbeiter übernommen werden, der dem Project Manager allgemein als Assistent zur Verfügung steht. Der Release Manager muss gründlich und geplant arbeiten können, um seine Aufgabe zu erfüllen. Language Lawyer Der Language Lawyer (manchmal auch Language Guru genannt) ist ein Experte für eine gewisse Programmiersprache oder eine gewisse Technologie. Er hat grosse Erfahrung in der Anwendung dieser Sprache und kennt ihre Eigenheiten und Finessen. Die Aufgabe des Language Lawyers ist es, die Entwickler beim Umgang mit dieser Sprache zu unterstützen und ihnen den Einstieg darin so leicht wie möglich zu machen. Gleichzeitig sollte ein Wissenstransfer stattfinden, so dass die Entwickler selbst immer mehr über die Sprache in Erfahrung bringen und bald ein problemloses Arbeiten damit möglich ist. Diese Rolle ist vor allem in Projekten nützlich, in denen Programmiersprachen oder Technologien zum ersten Mal eingesetzt werden. Da sich im Verlaufe des Projekts der Wissens- und Erfahrungsstand der Entwickler stetig verbessert, verliert diese Rolle an Bedeutung, je weiter das Projekt fortschreitet. Gegen Ende des Projekts kann meistens fast vollständig auf einen Language Lawyer verzichtet werden. Aus diesem Grund sind Language Lawyer meistens externe Berater die nur für ein bestimmtes Projekt hinzugezogen werden. Die wichtigste Eigenschaft, die ein Language Lawyer mitbringen muss ist natürlich das Fachwissen der Sprache oder Technologie, die neu eingesetzt wird. Ein Experte ohne fundiertes Fachwissen ist nicht von grossem Nutzen. Zusätzlich sollte er aber auch sein Wissen gut an andere weitergeben können. Er sollte ähnlich wie ein Domain Expert sehr gute kommunikative Fähigkeiten besitzen und genügend Geduld aufbringen können, um den Entwicklern neue Konzepte beizubringen. Build Engineer Der Build Engineer ist dafür verantwortlich, dass regelmässig eine lauffähige Version des Projekts (ein sogenannter Build) erstellt werden kann. Dazu verwaltet er die Versionskontrollsoftware und veröffentlicht Dokumente und Berichte. Zusätzlich entwickelt er Skripts, die für den Kompilations- oder Verteilungsprozess (englisch: build und deploy) notwendig sind (bspw. Ant-Konfigurationen). Mit der Existenz einer eigenen Rolle für diese Aufgabe wird der Wichtigkeit von regelmässigen, aktuellen Builds des Projekts Rechnung getragen. In grösseren Projekten kann diese Rolle sogar in verschiedene Unterrollen aufgeteilt werden, welche dann von mehreren Mitarbeitern eingenommen werden. Der Build Engineer muss in erster Linie technische Fähigkeiten mitbringen und sollte bereits über eine gewisse Erfahrung auf diesem Gebiet verfügen. Toolsmith Der Toolsmith (englisch für Werkzeugschmied) hat die Aufgabe, kleine Programme zu schreiben, welche den Entwicklern die Arbeit erleichtern. Dabei kann es sich

7 Agile Softwareentwicklung mit FDD 7 beispielsweise um grafische Editoren für Konfigurationsdateien oder Konvertierungsprogramme handeln, welche Daten von einem Format in ein anderes konvertieren. Oftmals wird der Toolsmith damit beauftragt, eine zentrale Website einzurichten, die dem Team als Wissensdatenbank dient. Da diese Programme in der Regel nur intern Verwendung finden und nicht etwa an Kunden weitergegeben werden, kann auch ein unerfahrener Programmierer diese Rolle wahrnehmen. Auf diese Weise wird ein unerfahrener Programmierer langsam in das Team integriert und hat die Gelegenheit Erfahrungen zu sammeln, ohne direkt an Software für Kunden zu arbeiten. Somit können sich die erfahreneren Entwickler auf das eigentliche Projekt konzentrieren. System Administrator Der System Administrator ist dafür verantwortlich, das Netzwerk und die Server, welche das Team benötigt, aufzusetzen, zu konfigurieren und zu warten. Darunter fallen auch Datenbanken und dergleichen. Bei besonders grossen Projekten kann diese Rolle in die drei Unterrollen Server Administrator, Network Administrator und Database Administrator aufgeteilt werden. Oftmals ist der System Administrator auch an der Verteilung und Installation des Projekts beim Kunden beteiligt, da er beispielsweise eine Datenbank einrichten muss. Der System Administrator sollte über gute technische Kenntnisse in den Bereichen Netzwerke und Datenbanken verfügen. Ausserdem sollte er in diesen Bereichen auch eine Gewisse Erfahrung mitbringen, besonders in Bezug auf grosse Systeme Zusätzliche Rollen Tester Die Tester sind dafür verantwortlich, zu überprüfen, ob die Software die Anforderungen erfüllt und ob sie noch Fehler enthält. Damit die Tester ihre Aufgabe erfüllen können, ist es wichtig, dass regelmässig aktuelle Versionen der Software erstellt werden. Die Tester können in das Team integriert werden, es ist aber auch möglich externe Firmen oder Abteilungen mit dieser Aufgabe zu betrauen. Deployer Die Deployer kümmern sich um die Verteilung des Systems beim Kunden. Sie sind also dafür verantwortlich, die Software beim Kunden in Betrieb zu nehmen. Dazu kann es nötig sein, alte Daten in neue Formate zu konvertieren. Auch diese Rolle kann in das Team integriert werden oder von Externen erfüllt werden. Technical Writer Die Technical Writer (Technische Autoren) sind dafür verantwortlich, die Benutzerdokumentation zu verfassen. So schreiben sie verschiedene Dokumente, wie etwa Handbücher, die schlussendlich dem Benutzer zusammen mit der Software zur Verfügung gestellt werden. In grossen Firmen kann es eine spezielle Abteilung für die

8 8 Agile Softwareentwicklung mit FDD Technical Writer geben, in kleinen Projekten müssen sie hingegen extern hinzugezogen werden Best Practices Vorbemerkungen FDD definiert eine Reihe von sogenannten Best Practices. Dies sind Vorgehensweisen, die sich in der Praxis als nützlich erwiesen haben. Diese Best Practices spiegeln sich auch in den Prozess- und Rollendefinitionen von FDD wieder. Im folgenden Abschnitt werden die Best Practices beschrieben, da sie das Fundament sind, auf dem FDD aufbaut Domain Object Modelling Domain Object Modelling wird dazu verwendet, sich ein klareres Bild der Domäne zu machen, in der das System zum Einsatz kommt. Dadurch verspricht man sich einerseits eine klarere Sicht auf die Anforderungen, welche das System erfüllen muss. Andererseits liefert ein Domain Object Modelling bereits einige Klassen, für welche dann Methoden usw. definiert werden können. Domain Object Modelling ist also ein guter Einstiegspunkt in ein neues Softwareentwicklungsprojekt. FDD hat dem Domain Object Modelling einen eigenen Prozess gewidmet, der später noch genauer erläutert wird Developing by Feature In FDD werden die Anforderungen an das fertige System in Form von sogenannten Features ausgedrückt. Der Begriff Feature wird in FDD wie folg definiert: Ein Feature ist eine kleine Funktionalität, die einen Wert für den Kunden besitzt und in der Form <Aktion> <Resultat> <Objekt> ausgedrückt werden kann. Ein Beispiel für ein solches Feature wäre: Berechne den Totalbetrag der Bestellung. Diese Definition stellt zum einen sicher, dass Features nicht zu gross definiert werden. Alles was nicht in der obigen Form dargestellt werden kann, ist zu gross und kann nicht mehr als Feature bezeichnet werden. Zum anderen wird mit der Definition gewährleistet, dass jedes Feature auch wirklich für den Kunden einen Mehrwert besitzt. Dadurch soll verhindert werden, dass viel Zeit für Funktionen verloren geht, die zwar technisch einwandfrei sind, jedoch keinen Wert für den Kunden haben. Des Weiteren sollte ein Feature in weniger als zwei Wochen (= typischer Iterationszyklus) implementierbar sein. Andernfalls sollte man das Feature in kleinere Features unterteilen.

9 Agile Softwareentwicklung mit FDD 9 Weil jedes Feature jeweils nur eine kleine Funktionalität darstellt und die Entwicklerteams pro Feature entwickeln, lässt sich der aktuelle Status des Projekts jederzeit recht genau bestimmen. Die Eigenschaft, dass jedes Feature in maximal zwei Wochen implementiert werden kann, ermöglicht eine ungefähre Prognose für die Fertigstellung des Projektes auf zwei Wochen genau Class Ownership In FDD ist jede Klasse einem Entwickler (Class Owner) zugeordnet. Nur dieser Entwickler darf Änderungen an der Klasse vornehmen. Dadurch weiss der Entwickler bereits Bescheid, wie die Klasse funktioniert, wenn er daran Änderungen vornehmen soll. Es entfallen damit lange Einarbeitungszeiten in fremde Klassen und Änderungen können effizient vorgenommen werden. Ausserdem können auf diese Art Missverständnisse verhindert werden. Als zusätzlicher positiver Effekt entwickelt der Class Owner einen gewissen Stolz für seine Klasse und versucht diese so gut wie möglich zu entwickeln, da sie direkt ihm gehört und die Qualität des Codes direkt auf ihn zurückzuführen ist Feature Teams In FDD werden die einzelnen Features von so genannten Feature Teams entwickelt. Diese bestehen aus dem Chief Programmer, der für das jeweilige Feature verantwortlich ist und den Class Ownern der Klassen, die von dem Feature betroffen sind. Das Zusammenstellen der Feature Teams kann ein sehr aufwändiger Vorgang sein, da möglicherweise manche Class Owner noch anderweitig beschäftigt sind. Aus diesem Grund hat jeder Chief Programmer immer mehrere Features, für die er verantwortlich ist. So versucht er ein Feature auszuwählen, welches derzeit keine Konflikte verursacht. Durch das Entwickeln in Feature Teams werden die Teams immer wieder neu gemischt und es entstehen die unterschiedlichsten Konstellationen von Mitarbeitern Inspections Inspections sollen die Qualität von Design und Code verbessern. Dazu werden besagte Designs und Codestücke vor dem gesamten Team vorgestellt und erklärt. Das Design oder der Code muss dann durch das Team (vor allem durch den Chief Programmer) genehmigt werden. Damit soll nicht etwa totale Kontrolle und ein Klima der Angst erzeugt werden. Vielmehr soll dadurch qualitativ hochwertiger Code entstehen und ein kollaboratives Umfeld ermöglicht werden. Statistisch gesehen sind Inspektionen das effektivste Mittel für die Erkennung von Fehlern, sie sind jedoch recht zeitaufwändig. Man hofft diese Zeit aber dadurch einzusparen, dass man Fehler früh erkennt, die sonst aufwändig gesucht hätten werden müssen Configuration Management Configuration Management beschreibt im Wesentlichen den Gebrauch von Versionskontrollsoftware (beispielsweise Subversion) in FDD. Die Vorzüge solcher

10 10 Agile Softwareentwicklung mit FDD Systeme in Bezug auf Quellcode sind weithin bekannt. FDD empfiehlt aber auch Dokumente und Verträge in ein solches System einzubeziehen. Auf diese Weise können auch deren verschiedene Versionen erhalten werden und der Ablauf des Projekts ist aus dem Versions-Verlauf der Dokumente ersichtlich. Manche Auftraggeber schreiben sogar vor, Verträge und dergleichen in ein Versionskontrollsystem aufzunehmen Regular Build Schedule FDD schlägt vor, regelmässig eine lauffähige Version des ganzen Systems zu erstellen (einen sogenannten Build). Einerseits werden so Kompatibilitäts- und Integrationsprobleme zwischen einzelnen Features frühzeitig erkannt. Andererseits kann dem Kunden jederzeit eine lauffähige Version des Systems präsentiert werden. Auch die Tester haben auf diese Art regelmässig eine aktuelle Version des Systems. Ohne regelmässige Builds verlieren die Tester möglicherweise viel Zeit mit Fehlern, die in der aktuellen Version bereits gar nicht mehr vorhanden sind. Die Frequenz mit der solche lauffähige Versionen erstellt werden sollten, variiert je nach Projekt Visibility of Results Um ein Projekt steuern zu können, brauchen die Verantwortlichen regelmässig genaue und korrekte Informationen über den aktuellen Fortschritt des Projekts. FDD legt grossen Wert darauf, dass vor allem der Project Manager ständig auf dem Laufenden ist. Zur Bestimmung des aktuellen Fortschritts bietet FDD einige einfache Methoden, welche im Wesentlichen den Anteil vollendeter Features als Masszahl nehmen. Ist eine grössere Genauigkeit gewünscht, können auch Features die noch nicht vollständig entwickelt wurden bewertet und in die Berechnung aufgenommen werden. Dazu müssen alle Chief Programmer regelmässig den Fortschritt an den Project Manager melden Prozesse Vorbemerkungen Nachdem die in FDD verwendeten Rollen und Best Practices eingeführt wurden, kann auf die einzelnen Phasen des FDD-Prozesses, welche wiederum als Prozesse bezeichnet werden, eingegangen werden. Dazu wird zuerst ein Überblick über die insgesamt 5 Prozesse gegeben, damit später die jeweiligen Detailerklärungen im Gesamtkontext verstanden werden können. Die einzelnen Prozesse werden stets nach dem gleichen Muster behandelt. Zuerst wird eine allgemeine Beschreibung gegeben, anschliessend diverse Anfangskriterien genannt, welche erfüllt sein müssen, bevor der Prozess begonnen werden kann. Nachfolgend werden die einzelnen Teilaufgaben des jeweiligen Prozesses, sowie die darin involvierten Rollen genannt und ob die Aufgabe

11 Agile Softwareentwicklung mit FDD 11 optional oder erforderlich ist. Abschliessend werden Möglichkeiten der Evaluation der Resultate präsentiert, sowie Abschlusskriterien aufgestellt Überblick Wie in Fig. 1 ersichtlich, setzt sich FDD aus 5 verschiedenen Prozessen zusammen. Begonnen wird mit dem Prozess Develop an Overall Model. Ziel dieses Prozesses ist das Anfertigen eines Domain Object Models, also die Modellierung der einzelnen Entitäten des Systems und deren zusammenwirken. Dies geschieht in Zusammenarbeit mit den Domain Experts, welche durch ihr business-spezifisches Wissen wesentlich zur Entstehung des Modells beitragen. Anschliessend wird aus den gewonnenen Erkenntnissen des ersten Prozesses eine sogenannte Feature List aufgestellt. Diese Liste enthält die Gesamtheit der für den Kunden relevanten Features. Mehrere Features können anschliessend in sogenannten Feature Sets gruppiert werden, diese stellen jeweils eine bestimmte Business- Aktivität dar. Ziel des dritten Prozesses ist es, die Entwicklung der ermittelten Feature Sets zu planen. Dazu müssen Prioritäten und Abhängigkeiten zwischen den einzelnen Feature Sets ermittelt und eine Sequenz erstellt werden, welche die Reihenfolge der Entwicklung festlegt. Anschliessend werden die Feature Sets den verantwortlichen Chief Programmern zugewiesen, sowie die konkreten Class Ownerships bestimmt. Nun kann mit der eigentlichen Entwicklung des Systems in den Prozessen 4 und 5 begonnen werden. Wie in Fig. 1 zu sehen ist, stellen diese beiden Prozesse den iterativen Teil des Vorgehensmodells dar. Hierzu wählt ein Chief Programmer eine kleine Gruppe von Features aus, welche in den nächsten Tagen (maximal 2 Wochen) implementiert werden sollen. Die für die Implementierung der Features verantwortlichen Entwickler erstellen in Folge des vierten Prozesseses zuerst ein Design, welches durch eine entsprechende Inspection evaluiert wird. Gibt der Chief Programmer grünes Licht, so werden die vorher untersuchten Features im fünften und letzten Prozess implementiert und abschliessend wieder durch eine Inspection bewertet. Ist der Chief Programmer mit dem Resultat zufrieden, so kann eine neue Iteration gestartet, also mit dem Design und der Implementierung einer neuen Gruppe von Features fortgefahren werden. Fig. 1. Die 5 FDD-Prozesse (von

12 12 Agile Softwareentwicklung mit FDD Process 1: Develop an Overall Model Beschreibung: Diese erste Phase eines Projektes hat zum Ziel, die Domäne der Problemstellung genau zu untersuchen und die einzelnen Entitäten, sowie deren Beziehungen zueinander in Form eines Domain Object Models zu erfassen. Die Erstellung des Modells geschieht unter Anleitung des Chief Architect. Diese Aktivität trägt wesentlich zum Verständnis des Systems bei, da alle Bereiche in Zusammenarbeit mit den Domain Experts in Form eines sogenannten Walkthroughs behandelt werden. Dabei wird so vorgegangen, dass zuerst ein sogenannter High- Level Walkthrough, also ein relativ oberflächlicher Durchgang des Systems durch die Domain Experts, gemacht wird. Dies erlaubt es den Entwicklern sich einen Gesamteindruck vom System und dessen Kontext zu machen. Anschliessend werden die einzelnen Bereiche der Domäne in weiteren Durchgängen detailliert betrachtet. Am Ende jedes Durchgangs werden kleine Teams gebildet, bestehend aus Entwicklern und Domain Experts. Jedes Team modelliert dabei für sich den gerade besprochenen Systembereich. Im Anschluss werden die verschiedenen Modelle von den Teams präsentiert. In der nachfolgenden Diskussionsrunde wird unter Mitwirkung des Chief Architect das beste Modell bestimmt oder mehrere Modelle zu einem verschmolzen. Dieser Vorgang wird solange wiederholt bis alle Teilbereiche modelliert wurden. Die einzelnen Modelle können anschliessend zu einem grossen, dem Domain Object Model, zusammengeführt werden. Das erstellte Modell stellt dabei auf keinen Fall die definitive Version dar. Es dient viel mehr als Grundlage für den vierten Prozess Design by Feature und wird in Folge der verschiedenen Iterationen sicherlich noch modifiziert und ergänzt. Anfangskriterien: Die Domain Experts, Chief Programmer, sowie der Chief Architect wurden bereits bestimmt. Aufgaben: Modellierungsteam bilden Project Manager erforderlich Das Modellierungsteam setzt sich primär aus permanenten Mitgliedern wie den Domain Experts oder den Chief Programmern zusammen. Es wird jedoch während den verschiedenen Modellierungsphasen durch weitere Entwickler ergänzt. Dabei sollte beachtet werden, dass bei der Auswahl dieser weiteren Entwickler wenn möglich rotiert wird, so dass möglichst alle in das Projekt involvierten Personen mit dem Prozess in Kontakt kommen. Domain Walkthrough durchführen Modellierungsteam erforderlich

13 Agile Softwareentwicklung mit FDD 13 Ein Domain Expert gibt einen Überblick über den zu modellierenden Domänenbereich. Dabei sollten in erster Linie Informationen gewonnen werden, welche dem allgemeinen Verständnis dieses Bereiches dienen, die konkrete Implementation des Bereiches spielt in diesem Schritt noch keine Rolle. Dokumente studieren Modellierungsteam optional In diesem optionalen Schritt kann das Team verfügbare Referenz- oder Anforderungsdokumente, wie beispielsweise Objektmodelle, erstellte Use-Cases, oder Handbücher, studieren. Modellierung in kleinen Gruppen Modellierungsteam erforderlich Das Modellierungsteam wird in kleinere Untergruppen von maximal 3 Mitgliedern unterteilt. Diese erarbeiten jeweils ihr eigenes Modell für den aktuellen Domänenbereich. Der Chief Architect kann, um den Teams den Fortschritt zu erleichtern, einen Ausgangspunkt in Form eines unvollständigen Basismodells geben, auf dessen Grundlage die einzelnen Teams ihre Modelle erarbeiten. Entwicklung eines Teammodells Modellierungsteam erforderlich Ein Mitglied pro Untergruppe präsentiert das erstellte Modell für den jeweiligen Domänenbereich dem Modellierungsteam. Der Chief Architect kann dabei alternative Modelle vorschlagen. Anschliessend wird der beste Vorschlag ausgewählt oder eine Kombination aus mehreren Vorschlägen gebildet. Verfeinern des Gesamtmodells Chief Architect, Modellierungsteam erforderlich Gelegentlich wir das Domain Object Model, also das Gesamtmodell, welches die einzelnen Domänenbereiche beinhaltet, um die neuen Modelle ergänzt, welche durch Iterationen der beiden vorhergehenden Aufgaben erstellt wurden. Modellnotizen erstellen Chief Architect, Chief Programmer erforderlich Alternative oder komplexe Teile der Modelle werden in Form von Notizen dokumentiert, so dass diese auch in Zukunft noch nachvollziehbar sind. Evaluation: Interne u. Externe Beurteilung Modellierungsteam, Benutzer erforderlich Domain Experts, welche aktiv am Prozess beteiligt sind, beurteilen das erstellte Modell und damit ihre eigene (interne) Arbeit. Eine sogenannte externe Beurteilung erfolgt, nur falls notwendig, durch die konkreten Benutzer des Systems oder andere Leute aus dem Business, um letzte offene Fragen zu klären, welche das Modell beeinflussen. Schlusskriterien: Um diesen Prozess abschliessen zu können, muss das Modellierungsteam ein Domain Object Model liefern, welches den Vorstellungen des Chief Architect entspricht.

14 14 Agile Softwareentwicklung mit FDD Dieses Modell beinhaltet: - Klassendiagramme, welche die Entitäten des Systems darstellen und deren Zusammenwirken veranschaulichen. Zudem sollten die ermittelten Operationen und Attribute für die einzelnen Entitäten dokumentiert sein - Sequenzdiagramme, falls vorhanden - Notizen, welche gewisse Designentscheidungen und deren Alternativen dokumentieren Process 2: Build a Features List Beschreibung: Ziel dieses Prozesses ist das Erstellen einer Liste mit allen Features, welche zur Erfüllung der Anforderungen des Systems nötig sind. Dazu wird ein Team gebildet, welches sich üblicherweise aus den in Prozess 1 involvierten Chief Programmern zusammensetzt. Basierend auf der Unterteilung der Domäne durch die Domain Experts in Prozess 1, separiert das Team die Domäne in eine Anzahl von Bereichen, den sogenannten Major Feature Sets. Jeder Bereich wird wiederum in Aktivitäten unterteilt, welche als Feature Sets bezeichnet werden. Jeder Schritt in einer solchen Aktivität wird Feature genannt. Das Resultat dieser Unterteilungen ist schliesslich eine hierarchisch gegliederte Features List. Anfangskriterien: Das Modellierungsteam hat den ersten Prozess erfolgreich abgeschlossen. Aufgaben: Features List Team bilden Project Manager, Developm. Manager erforderlich Aus den Chief Programmern, welche bereits in Prozess 1 involviert waren, wird das Features List Team gebildet. Features List erstellen Features List Team erforderlich Gemäss dem in der Beschreibung beschriebenen Vorgehen wird die Domäne durch das Team in Bereiche (Major Feature Sets) und diese wiederum in Aktivitäten (Feature Sets) unterteilt. Aus den einzelnen Schritten der jeweiligen Aktivitäten werden schliesslich Features ermittelt. Das Team kann Features aber auch anhand von anderen Dokumenten wie Use Cases, Objektmodellen oder Handbüchern ermitteln. Evaluation: Interne u. Externe Beurteilung Features List Team, Benutzer erforderlich

15 Agile Softwareentwicklung mit FDD 15 Mitglieder aus dem Modellierungsteam, welche aktiv am Prozess beteiligt sind, beurteilen das erstellte Modell und damit ihre eigene (interne) Arbeit. Eine externe Beurteilung erfolgt, nur falls notwendig, durch die konkreten Benutzer des Systems oder andere Leute aus dem Business, um letzte offene Fragen zu klären, welche die Features List beeinflussen. Schlusskriterien: Um diesen Prozess abschliessen zu können, muss das Team eine Features List abliefern, welche sowohl den Project Manager, als auch den Development Manager zufrieden stellt. Die Features List besteht aus: - Einer Liste der einzelnen Bereiche (Major Feature Sets) - Aktivitäten (Feature Sets) zu jedem Bereich - Features zu jeder Aktivität, also deren konkreten Schritte Process 3: Plan by Feature Beschreibung: Im Laufe dieses Prozesses wird die Planung für die Entwicklung erstellt. Der Project Manager, Development Manager und die Chief Programmer legen zusammen fest, in welcher Reihenfolge die in Prozess 2 ermittelten Features entwickelt werden. Hierbei werden Abhängigkeiten zwischen Features, sowie deren Komplexität und die Auslastung des Entwicklungsteams berücksichtigt. Im Gegensatz zu den anderen Prozessen sind die Aufgaben dieser Phase nicht als strikte Sequenz zu sehen, nein sie werden viel mehr abwechselnd durchgeführt, wie dies bei Planungsarbeiten oft der Fall ist. Verfeinerungen in einer Aufgabe können wiederum zu Anpassungen in anderen Aufgaben führen. Das typische Vorgehen für diesen Prozess beginnt mit der Festlegung der Reihenfolge der Entwicklung, also der konkreten Sequenz, nach welcher die Features implementiert werden. Anschliessend werden die Feature Sets auf die einzelnen Chief Programmer verteilt. Diese sind dann für die konkrete Zuweisung der Class Ownerships an die verschiedenen Entwickler verantwortlich. Anfangskriterien: Das Features List Team hat den zweiten Prozess erfolgreich abgeschlossen. Aufgaben: Planungsteam bilden Project Manager erforderlich Das Planungsteam besteht aus dem Project Manager, sowie dem Development Manager und den Chief Programmern.

16 16 Agile Softwareentwicklung mit FDD Entwicklungssequenz definieren Planungsteam erforderlich Das Planungsteam legt ein Datum, welches nur aus Monat und Jahr besteht, für den Abschluss jedes Feature Sets fest. Die Bestimmung dieses Abschlusstermins geschieht aufgrund folgender Grundlagen: - Abhängigkeiten zwischen den Features was die involvierten Klassen angeht - Verteilung des Aufwands auf die verschiedenen Class Owner - Komplexität des zu implementierenden Features - Frühes fertigstellen von Features mit hohem Risiko - Berücksichtigung externer Meilensteine wie Betas, Feedback oder Probevorführungen Feature Sets den Chief Programmern zuweisen Planungsteam erforderlich Das Planungsteam weist die einzelnen Feature Sets den Chief Programmern zu. Diese Zuweisung geschieht basierend auf: - Der Entwicklungssequenz - Den Abhängigkeiten zwischen den Features was die involvierten Klassen angeht - Der Verteilung des Aufwands auf die verschiedenen Class Owner (Achtung: Chief Programmer sind auch Entwickler) - Der Komplexität des zu implementierenden Features Class Ownerships festlegen Planungsteam erforderlich Das Planungsteam weist die einzelnen Features bestimmten Entwicklern zu und bestimmt damit die jeweiligen Class Ownerships. Zu beachten ist, dass ein Entwickler meistens mehrere Klassen besitzt. Diese Zuweisung geschieht basierend auf: - Der Entwicklungssequenz - Der erwarteten Häufigkeit der Nutzung der Klasse - Der Verteilung des Aufwands auf die verschiedenen Entwickler - Der Komplexität der Klasse Evaluation: Interne u. Externe Beurteilung Planungsteam erforderlich Da die Planung Teamarbeit ist, geschieht die Evaluation durch aktive Teilnahme des Project Manager, Development Manager und der Chief Architects und zwar durch Zuhilfenahme der während Prozess 1 gewonnenen Erkenntnisse. Schlusskriterien:

17 Agile Softwareentwicklung mit FDD 17 Um diesen Prozess abschliessen zu können muss das Planungsteam eine Planung abliefern, welche sowohl den Project Manager, als auch den Development Manager zufrieden stellt. Die Planung besteht aus: - Feature Sets und deren geplante Abschlusstermine (Monat und Jahr) - Major Feature Sets und deren geplante Abschlusstermine, welche vom letzten Abschlussdatum der enthaltenen Feature Sets abgeleitet werden - Zugewiesenen Chief Programmern zu den Feature Sets - Einer Liste der Klassen und deren Owner Process 4: Design by Feature Beschreibung: Dieser Prozess gehört zum iterativen Teil von FDD. Es wird stets eine Iteration dieses und des nächsten Prozesses pro Feature durchgeführt. Das Resultat dieses Prozesses wird als sogenanntes Design Package bezeichnet. Einem Chief Programmer wird eine gewisse Anzahl geplanter Features zugewiesen. Aus diesen ihm zugewiesenen Features wählt er typischerweise eine kleine Gruppe aus, welche nun durch das Team innerhalb einer gesetzten Frist zu entwickeln ist. Bei der Auswahl dieser Gruppe von Features wird er mit Vorteil solche auswählen, welche dieselbe Klasse und damit denselben Entwickler betreffen, diese Art von Gruppe wird Chief Programmer Work Package genannt. Im Anschluss bildet der Chief Programmer ein Feature Team, welches sich aus den Class Ownern zusammensetzt, die mit hoher Wahrscheinlichkeit in die Entwicklung der gewählten Features involviert sind. Diese beginnen anschliessend mit der Erstellung von Sequenzdiagrammen für die ihnen übertragenen Features. Auf der Basis dieser Diagramme wird der Chief Programmer anschliessend das Domain Object Model aktualisieren. Ein weiterer in diesem Prozess erledigter Schritt ist das Erstellen der Klassenskelette durch die Entwickler, so dass im nächsten Prozess auf der Grundlage dieser Skelette mit der Implementierung begonnen werden kann. Die Qualität des erstellten Designs wird schlussendlich mit einer Inspection evaluiert. Anfangskriterien: Das Planungsteam hat den dritten Prozess erfolgreich abgeschlossen. Aufgaben: Feature Team bilden Chief Programmer erforderlich Der Chief Programmer ermittelt die Klassen, welche in das Design der ausgewählten Features involviert sind. Durch die Class Ownership Liste kann er die benötigten Entwickler identifizieren und das Feature Team bilden. Einen Domain Walkthrough durchführen Domain Expert optional

18 18 Agile Softwareentwicklung mit FDD Auf Wunsch des Chief Programmer kann ein Domain Expert herbeigezogen werden, welcher zusammen mit dem Feature Team nochmals die kritischen Bereiche der Domäne durchgeht. Referenzdokumente studieren Feature Team optional Je nach Bedarf kann das Team die verfügbaren Referenzdokumente konsultieren, um komplexe Features besser zu verstehen. Sequenzdiagramme entwickeln Feature Team erforderlich Das Team erstellt Sequenzdiagramme zu den Features, dabei werden alle besprochenen Alternativen und die getroffenen Entscheidungen, sowie weitere Abklärungen, welche die Requirements angehen, dokumentiert. Domain Object Model verfeinern Chief Programmer erforderlich Der Chief Programmer stellt Speicherplatz zur Verfügung, auf welchem das Team die aktuellen Dokumente ablegen kann. Auf der Grundlage dieser Dokumente ergänzt der Chief Programmer das Domain Object Model um zusätzliche Klassen, Operationen und Attribute und nimmt Änderungen an existierenden Klassen vor. Klassenskelette erstellen Feature Team erforderlich Die Class Owner erstellen für die modellierten Klassen Skelette, fügen diesen also bereits die Parametertypen, Exceptions und Messages der jeweiligen Methoden hinzu. Design Inspection Feature Team erforderlich Das Team führt für das erstellte Design in Zusammenarbeit mit dem Chief Programmer eine Inspection durch. Dies kann entweder vor oder nach den Unit Tests geschehen. Je nach Bedarf erstellen die Teammitglieder pro betroffene Klasse eine To-Do Liste. Evaluation: Dieser Prozess wird anhand der oben beschriebenen Design Inspection evaluiert. Schlusskriterien: Um diesen Prozess erfolgreich abzuschliessen, muss das Feature Team ein korrekt evaluiertes Design Package abliefern. Das Design Package enthält: - Ein Memo, welches das Package für Dritte verständlich macht - Die herbeigezogenen Requirements, falls vorhanden - Die erstellten Sequenzdiagramme - Besprochene Alternativen - Das aktualisierte Domain Object Model - Die erstellten Klassenskelette - Die während der Inspection erstellten To-Do Listen

19 Agile Softwareentwicklung mit FDD Process 5: Build by Feature Beschreibung: Dieser Prozess gehört, wie oben bereits erwähnt, zum iterativen Teil von FDD. Ziel ist es, die während dem vierten Prozess erstellten Designs des aktuellen Work Packages zu implementieren und testen. Das Testen geschieht mittels Unit Tests und Code Inspections, wobei die Reihenfolge durch den Chief Programmer festgelegt wird. Nach erfolgreichem Testen der Implementation kann diese in den Build aufgenommen werden. Anfangskriterien: Das Feature Team hat den vierten Prozess erfolgreich abgeschlossen. Aufgaben: Klassen und Methoden implementieren Feature Team erforderlich Die Class Owner implementieren die ihnen übertragenen Klassen dem Design entsprechend. Des Weiteren sind sie für das Schreiben der Unit Tests verantwortlich. Code Inspection durchführen Feature Team erforderlich Das Feature Team führt entweder vor oder nach den Unit Tests eine Code Inspection durch. Die Reihenfolge wird, wie erwähnt, durch den Chief Programmer definiert. Dieser entscheidet auch darüber, ob die Code Inspection nur innerhalb des Feature Teams durchgeführt wird, oder ob noch weitere Mitglieder aus dem Projektteam anwesend sind. Unit Test Feature Team erforderlich Jeder Class Owner testet seinen Code um sicher zu stellen, dass alle verlangten Anforderungen erfüllt werden. Es liegt im Ermessen des Chief Programmer zu entscheiden, ob noch Tests geschrieben werden sollen, welche die Interaktion der Klassen untereinander überprüfen. In den Build aufnehmen Chief Progammer, Feature Team erforderlich Nach erfolgreichem testen einer Klasse durch Unit Tests und Code Inspections kann diese in den Build aufgenommen werden. Der Chief Programmer ist der Integrationspunkt für alle Features, welche dem Build hinzugefügt werden sollen. Evaluation: Dieser Prozess wird anhand der oben beschriebenen Unit Tests und Code Inspections evaluiert.

20 20 Agile Softwareentwicklung mit FDD Schlusskriterien: Um diesen Prozess erfolgreich abschliessen zu können, muss das Feature Team ein oder mehrere fertiggestellte und erfolgreich evaluierte Features in den Build aufgenommen haben Fortschritt des Projektes Eine kritische Aufgabe während der Realisation eines Projektes ist die Einschätzung des aktuellen Fortschritts. Also die Antwort auf die Frage nach dem momentanen Status, der konkreten Position des Projektes im Gesamtverlauf. Stützt man sich hierbei nur auf die Einschätzungen der Entwickler, so führt dies erfahrungsgemäss [1] zu ungenauen und daher für das Management unbrauchbaren Angaben. Wie wird diesem Verhalten in FDD nun begegnet? Der Ansatz ist so einfach wie genial, denn FDD verlangt von den Entwicklern keine prozentualen Einschätzungen, sondern legt den Grad der Vollständigkeit eines Features anhand klar definierter Meilensteine fest. Was bedeutet dies nun konkret? Die beiden iterativen Prozesse 4 und 5, während denen die eigentliche Entwicklung der Features stattfindet, werden gemäss Fig. 2 in sechs Meilensteine unterteilt. Fig. 2. Meilensteine Für das Erreichen der 6 Meilensteine gelten folgende Kriterien (die Nummer steht für den jeweiligen Meilenstein): 1. Der Domain Walkthrough wurde beendet 2. Die 3 Aufgaben Sequenzdiagramme erstellen, Verfeinerung des Domain Object Models, sowie Schreiben der Klassenskelette wurden fertiggestellt 3. Die Design Inspection wurde erfolgreich durchgeführt 4. Die Klassen und Methoden wurden implementiert und getestet 5. Die Code Inspection wurde erfolgreich durchgeführt und die nötigen Änderungen vorgenommen 6. Der Code für ein Feature wurde in das Versionierungssystem, und damit den Build, aufgenommen Wie in Fig. 2 ersichtlich, wird jeder Meilenstein mit einer Prozentangabe versehen. Diese gibt wieder, wie viel vom Gesamtaufwand am Ende dieses Meilensteins erledigt wurde. Erreicht das Team beispielsweise den Coding Meilenstein, hat diesen aber noch nicht abgeschlossen, so hat es insgesamt 1% + 40% + 3% = 44% des aktuellen Features bearbeitet. Wichtig ist hier, dass jeweils nur die abgeschlossenen Meilensteine mitgezählt werden. Dies hat zur Folge, dass der berechnete Wert auf dem bisher Erreichten und nicht auf einer Schätzung basiert. Die Prozentangaben sind natürlich als Richtwerte zu verstehen und können je nach Unternehmen angepasst

21 Agile Softwareentwicklung mit FDD 21 werden. Wie wird nun konkret vorgegangen wenn es darum geht dem Management den aktuellen Stand der Entwicklung zu kommunizieren? Das Vorgehen ist vergleichsweise simpel. Man iteriert über die einzelnen Features und bestimmt den Fortschritt anhand des letzten erreichten Meilensteins, wie gerade besprochen. Wird dies für alle Features innerhalb eines Feature Sets getan, so erhält man den Fortschritt für dieses Feature Set. Analog dazu kann bei den Major Feature Sets vorgegangen werden. Auf diese Weise kann eine zuverlässige Beurteilung des aktuellen Projektfortschritts erhalten werden. Der Darstellung und mathematischen Weiterverwertung dieser berechneten Zahlen sind keine Grenzen gesetzt. So könnten beispielsweise Diagramme erstellt werden, welche den Fortschritt pro Feature Set, Major Feature Set oder über das gesamte Projekt für Stakeholder und Management visuell eindrucksvoll darstellen. Eine beliebte Art der Darstellung des Fortschritts ist der in Fig. 3 ersichtliche Graph. Auf der X-Achse wird die verstrichene Zeit in Wochen dargestellt und auf der Y- Achse die zu diesem Zeitpunkt total fertiggestellten Features. Auf diese Weise kann die Wirksamkeit gewisser Aktionen oder Ereignisse, wie z.b. die Anschaffung einer Komponente von einem Dritthersteller oder der Aufwand für die Vorbereitung für eine Demo eindrücklich präsentiert werden. Dies kann die Kommunikation mit dem Management ungemein erleichtern, da mittels solcher Darstellungen faktisch argumentiert werden kann. Fig. 3. Mögliche Visualisierung des Fortschritts Damit sollten die Grundlagen zur Verfolgung des Projektfortschritts eingeführt worden sein. Die präsentierten Darstellungsformen stellen nur einen Teil der von den Erfindern vorgeschlagenen Visualisierungen dar. Bei weitergehendem Interesse werden die entsprechenden Kapitel des in den Referenzen angegebenen Buches [1] empfohlen.

22 22 Agile Softwareentwicklung mit FDD 4. Schlussfolgerung Feature-Driven Development ist verglichen mit anderen agilen Entwicklungsmethoden, wie Scrum oder Extreme Programming, ein eher schwergewichtiger Prozess. Denn FDD schreibt eine nicht zu unterschätzende Anzahl von Rollen und Prozessen vor. Doch gerade diese relativ starke Reglementierung dürfte es Projektverantwortlichen erleichtern, das Management davon zu überzeugen, den Umstieg von alten Vorgehensweisen wie dem Wasserfallmodell auf eine agile Softwareentwicklungsmethode zu wagen. Wo leichtgewichtige Prozesse wie Scrum oder Extreme Programming durch ihre wagen und bewusst offenen Regelungen bei manch konservativ eingestelltem Vorgesetzten noch für Ablehnung sorgen, vermag FDD durch sein klar definiertes Vorgehen schon eher zu überzeugen. Fest definierte Modellierungs- und Planungsphasen zu Beginn des Projekts werden Vertretern des Wasserfallmodells mit hoher Wahrscheinlichkeit bekannt vorkommen und zu einer besseren Akzeptanz des Prozesses beitragen. Trotz der Ähnlichkeit zum veralteten Wasserfallmodell gilt es zu betonen, dass FDD zu 100% den Werten und Prinzipien des agilen Manifests entspricht und damit eindeutig zu dessen Prozessen gerechnet wird. Was der Einsatz von FDD für ein konkretes Projekt angeht, so muss sicher festgestellt werden, dass dies erst bei Projekten mit einem bestimmten Umfang sinnvoll ist. Denn für kleinere Projekte und Firmen ist der Bedarf an qualifiziertem Personal relativ hoch, was eine vernünftige Umsetzung schwierig gestalten könnte. Bei Projekten, welche dieses Kriterium jedoch erfüllen, kann von allen Vorteilen von FDD, wie der guten Skalierbarkeit nach oben, der benutzerzentrierten Vorgehensweise durch das Prinzip der Features und insbesondere den vergleichsweise genauen Möglichkeiten zur Bestimmung des Projektfortschritts, profitiert werden. Abschliessend kann festgehalten werden, dass Projektverantwortlichen mit FDD ein starkes Instrument zur Strukturierung des Entwicklungsprozesses zur Verfügung steht, welches sich in Zukunft sicherlich einer wachsenden Anhängerschaft erfreuen dürfte. 5. Referenzen 1. Palmer, S., Felsing, J.: A Practical Guide to Feature-Driven Development. 76 (2002) 2. Chanton, F., Schumacher, S.: Agile Softwareentwicklung mit Scrum. (2008)

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

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

Projektmanagement in der Spieleentwicklung

Projektmanagement in der Spieleentwicklung Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren

Mehr

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.» «PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.» www.pse-solutions.ch ANTOINE DE SAINT-EXUPÉRY 1 PROJECT SYSTEM ENGINEERING

Mehr

Projektmanagement. Einleitung. Beginn. Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes:

Projektmanagement. Einleitung. Beginn. Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes: Projektmanagement Link http://promana.edulearning.at/projektleitung.html Einleitung Was ist Projektmanagement? In dieser Dokumentation erfahren Sie Folgendes: Definition des Begriffs Projekt" Kriterien

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

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

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Marcus Winteroll oose GmbH Agenda I. Ziele und Zusammenarbeit II. Was wir vom agilen Vorgehen lernen

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

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

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen Was bedeutet es, ein Redaktionssystem einzuführen? Vorgehensmodell für die Einführung eines Redaktionssystems Die Bedeutung Fast alle Arbeitsabläufe in der Abteilung werden sich verändern Die inhaltliche

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

Einführung und Motivation

Einführung und Motivation Einführung und Motivation iks-thementag: Requirements Engineering 16.11.2010 Autor Carsten Schädel Motto Definiere oder Du wirst definiert. Seite 3 / 51 These Im Privatleben definiert jeder (seine) Anforderungen.

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

DER SELBST-CHECK FÜR IHR PROJEKT

DER SELBST-CHECK FÜR IHR PROJEKT DER SELBST-CHECK FÜR IHR PROJEKT In 30 Fragen und 5 Tipps zum erfolgreichen Projekt! Beantworten Sie die wichtigsten Fragen rund um Ihr Projekt für Ihren Erfolg und für Ihre Unterstützer. IHR LEITFADEN

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

.. für Ihre Business-Lösung

.. für Ihre Business-Lösung .. für Ihre Business-Lösung Ist Ihre Informatik fit für die Zukunft? Flexibilität Das wirtschaftliche Umfeld ist stärker den je im Umbruch (z.b. Stichwort: Globalisierung). Daraus resultierenden Anforderungen,

Mehr

Leseprobe. Bruno Augustoni. Professionell präsentieren. ISBN (Buch): 978-3-446-44285-6. ISBN (E-Book): 978-3-446-44335-8

Leseprobe. Bruno Augustoni. Professionell präsentieren. ISBN (Buch): 978-3-446-44285-6. ISBN (E-Book): 978-3-446-44335-8 Leseprobe Bruno Augustoni Professionell präsentieren ISBN (Buch): 978-3-446-44285-6 ISBN (E-Book): 978-3-446-44335-8 Weitere Informationen oder Bestellungen unter http://wwwhanser-fachbuchde/978-3-446-44285-6

Mehr

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante ISO 9001:2015 Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante Prozesse. Die ISO 9001 wurde grundlegend überarbeitet und modernisiert. Die neue Fassung ist seit dem

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Avira Server Security Produktupdates. Best Practice

Avira Server Security Produktupdates. Best Practice Avira Server Security Produktupdates Best Practice Inhaltsverzeichnis 1. Was ist Avira Server Security?... 3 2. Wo kann Avira Server Security sonst gefunden werden?... 3 3. Was ist der Unterschied zwischen

Mehr

Ergebnisse der NOVIBEL-Kundenzufriedenheitsanalyse 2002

Ergebnisse der NOVIBEL-Kundenzufriedenheitsanalyse 2002 Ergebnisse der NOVIBEL-Kundenzufriedenheitsanalyse 2002 1. Grundlagen zum Verständnis der Befragung NOVIBEL führt die Kundenzufriedenheitsanalyse seit dem Jahr 2000 in Zusammenarbeit mit dem Lehrstuhl

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Eingangskriterien Fachexperten, Chefprogrammierer und der Chefarchitekt wurden ausgewählt.

Eingangskriterien Fachexperten, Chefprogrammierer und der Chefarchitekt wurden ausgewählt. Feature Driven Development (FDD) Dieses Dokument ist die Übersetzung der Original-FDD-Definition von Jeff De Luca (http://www.nebulon.com), http://www.nebulon.com/articles/fdd/latestprocesses.html Übersetzt

Mehr

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?

Mehr

Prozessbeschrieb des Wissensaustauschs zwischen den Generationen in Unternehmen, Organisationen und in der Verwaltung

Prozessbeschrieb des Wissensaustauschs zwischen den Generationen in Unternehmen, Organisationen und in der Verwaltung Personal und Organisationsentwicklung Prozessbeschrieb des Wissensaustauschs zwischen den Generationen in Unternehmen, Organisationen und in der Verwaltung 1. Einleitung Der folgende Prozessbeschrieb ist

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

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

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

Content Management System mit INTREXX 2002.

Content Management System mit INTREXX 2002. Content Management System mit INTREXX 2002. Welche Vorteile hat ein CM-System mit INTREXX? Sie haben bereits INTREXX im Einsatz? Dann liegt es auf der Hand, dass Sie ein CM-System zur Pflege Ihrer Webseite,

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Outsourcing und Offshoring. Comelio und Offshoring/Outsourcing

Outsourcing und Offshoring. Comelio und Offshoring/Outsourcing Outsourcing und Offshoring Comelio und Offshoring/Outsourcing INHALT Outsourcing und Offshoring... 3 Comelio und Offshoring/Outsourcing... 4 Beauftragungsmodelle... 4 Projektleitung vor Ort und Software-Entwicklung

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Von Kennwort bis Tresor: Sicherheit

Von Kennwort bis Tresor: Sicherheit Von Kennwort bis Tresor: Sicherheit Kapitel 13 Hand aufs Herz: Wie oft haben Sie Ihr Kennwort auf einer passwortgeschützten Website anfordern müssen, weil Sie es in der Zwischenzeit vergessen haben? Da

Mehr

SEO Erfolg mit themenrelevanten Links

SEO Erfolg mit themenrelevanten Links Hinweis für Leser Dieser Leitfaden soll Ihnen einen Überblick über wichtige Faktoren beim Ranking und Linkaufbau liefern. Die Informationen richten sich insbesondere an Website-Betreiber, die noch keine

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Feintypisierung - Überblick Ergebnisse Ergebnisse aus aus anderen anderen Arbeitsergebnissen Arbeitsergebnissen Replikationsplan Replikationsplan

Mehr

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Konsolidierung und Neuimplementierung von VIT Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Inhaltsverzeichnis 1 Was ist der Kontext?... 1 2 VIT: Ein sehr erfolgreiches

Mehr

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler?

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler? FAQ Spielvorbereitung Startspieler: Wer ist Startspieler? In der gedruckten Version der Spielregeln steht: der Startspieler ist der Spieler, dessen Arena unmittelbar links neben dem Kaiser steht [im Uhrzeigersinn].

Mehr

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Fragebogen: Abschlussbefragung

Fragebogen: Abschlussbefragung Fragebogen: Abschlussbefragung Vielen Dank, dass Sie die Ameise - Schulung durchgeführt haben. Abschließend möchten wir Ihnen noch einige Fragen zu Ihrer subjektiven Einschätzung unseres Simulationssystems,

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Sie erhalten einen kurzen Überblick über die verschiedenen Domänenkonzepte.

Sie erhalten einen kurzen Überblick über die verschiedenen Domänenkonzepte. 4 Domänenkonzepte Ziele des Kapitels: Sie verstehen den Begriff Domäne. Sie erhalten einen kurzen Überblick über die verschiedenen Domänenkonzepte. Sie verstehen die Besonderheiten der Vertrauensstellungen

Mehr

Beschreibung des MAP-Tools

Beschreibung des MAP-Tools 1. Funktionen des MAP-Tool 2. Aufbau des MAP-Tools 3. Arbeiten mit dem MAP-Tool Beschreibung MAP-Tool.doc Erstellt von Thomas Paral 1 Funktionen des MAP-Tool Die Hauptfunktion des MAP-Tools besteht darin,

Mehr

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

Mehr

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt?

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt? DGSV-Kongress 2009 Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt? Sybille Andrée Betriebswirtin für und Sozialmanagement (FH-SRH) Prokuristin HSD Händschke Software

Mehr

Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell

Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell (Auszug) Im Rahmen des EU-Projekts AnaFact wurde diese Umfrage von Frauenhofer IAO im Frühjahr 1999 ausgewählten

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Ein Spiel für 2-3 goldhungrige Spieler ab 8 Jahren.

Ein Spiel für 2-3 goldhungrige Spieler ab 8 Jahren. Ein Spiel für 2-3 goldhungrige Spieler ab 8 Jahren. Gold! Gold! Nichts als Gold, soweit das Auge reicht. So ein Goldesel ist schon was Praktisches. Doch Vorsicht: Die störrischen Viecher können einem auch

Mehr

UpToNet Workflow Workflow-Designer und WebClient Anwendung

UpToNet Workflow Workflow-Designer und WebClient Anwendung UpToNet Workflow Workflow-Designer und WebClient Anwendung Grafische Erstellung im Workflow-Designer 1 Grafische Erstellung im Workflow-Designer Bilden Sie Ihre Arbeitsvorgänge im Workflow-Designer von

Mehr

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden Moderne Apps für Smartphones und Tablets lassen sich ohne großen Aufwand innerhalb von wenigen Stunden designen Kunde Branche Zur Firma Produkte Übersicht LFoundry S.r.l Herrngasse 379-381 84028 Landshut

Mehr

Andrea Grass & Dr. Marcus Winteroll oose Innovative Informatik GmbH. Geschäftsprozessmanagement und Agilität geht das zusammen?

Andrea Grass & Dr. Marcus Winteroll oose Innovative Informatik GmbH. Geschäftsprozessmanagement und Agilität geht das zusammen? Andrea Grass & Dr. Marcus Winteroll oose GmbH Geschäftsprozessmanagement und Agilität geht das zusammen? Agenda I. Wozu eigentlich BPM? II. Vorgehen und Rollen im abpm III. Methoden und Techniken IV. Resümee

Mehr

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

Mehr

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

GS-Programme 2015 Allgemeines Zentralupdate

GS-Programme 2015 Allgemeines Zentralupdate GS-Programme 2015 Allgemeines Zentralupdate Impressum Business Software GmbH Primoschgasse 3 9020 Klagenfurt Copyright 2014 Business Software GmbH Die Inhalte und Themen in dieser Unterlage wurden mit

Mehr

I n f o r m a t i o n s s i c h e r h e i t i n G e m e i n d e n B e v ö l k e r u n g s z a h l < 6 000

I n f o r m a t i o n s s i c h e r h e i t i n G e m e i n d e n B e v ö l k e r u n g s z a h l < 6 000 Leitfaden I n f o r m a t i o n s s i c h e r h e i t i n G e m e i n d e n B e v ö l k e r u n g s z a h l < 6 000 Inhalt 1 Einleitung... 2 2 Übersicht Dokumente... 2 3 Umsetzung der Anforderungen an

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

Sicher auf Erfolgskurs. Mit Ihrem Treuhand-Betriebsvergleich

Sicher auf Erfolgskurs. Mit Ihrem Treuhand-Betriebsvergleich Sicher auf Erfolgskurs Mit Ihrem Treuhand-Betriebsvergleich Leistungsübersicht Der neue Treuhand-IBV eines der besten Instrumente für Ihre Unternehmensführung Weil Sie jetzt ganz leicht den Überblick behalten

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Checkliste. Erfolgreich Delegieren

Checkliste. Erfolgreich Delegieren Checkliste Erfolgreich Delegieren Checkliste Erfolgreich Delegieren Erfolgreiches Delegieren ist für Führungskräfte von großer Bedeutung, zählt doch das Delegieren von n und Projekten zu ihren zentralen

Mehr

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich? Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich? Was verkaufen wir eigentlich? Provokativ gefragt! Ein Hotel Marketing Konzept Was ist das? Keine Webseite, kein SEO, kein Paket,. Was verkaufen

Mehr

Anleitung öffentlicher Zugang einrichten

Anleitung öffentlicher Zugang einrichten TRK-DashBoard Anleitung öffentlicher Zugang einrichten Manual für Kunden VERSION DATUM AUTOR DATEINAME 1.0 8. SEPTEMBER 2011 HRR ANLEITUNG_OEFFENTLICHER_ZUGANG_DASHBOARD_V10 INHALT 1 ALLGEMEINE INFORMATIONEN...

Mehr

Quick Reference Historie des Dokuments

Quick Reference Historie des Dokuments Dokumentinformationen Information Wert Autor BEN Erstelldatum 30.04.08 Historie des Dokuments Version Status / Änderungen Datum Autor 1.0 Version 1.0 / Ursprungsversion 30.04.2008 BEN 1.1 Anpassungen 17.11.2008

Mehr

Studieren- Erklärungen und Tipps

Studieren- Erklärungen und Tipps Studieren- Erklärungen und Tipps Es gibt Berufe, die man nicht lernen kann, sondern für die man ein Studium machen muss. Das ist zum Beispiel so wenn man Arzt oder Lehrer werden möchte. Hat ihr Kind das

Mehr

Neu in Führung. Die k.brio Coaching-Begleitung für Führungskräfte und ihre Teams. k.brio coaching GbR. Grobkonzept. offen gesagt: gut beraten.

Neu in Führung. Die k.brio Coaching-Begleitung für Führungskräfte und ihre Teams. k.brio coaching GbR. Grobkonzept. offen gesagt: gut beraten. k.brio coaching GbR Neu in Führung Die k.brio Coaching-Begleitung für Führungskräfte und ihre Teams Grobkonzept nif_gk_v10_neu in Führung_Coaching-Begleitung Ihre Chance für den perfekten Aufschlag! Wenn

Mehr

Thema: Microsoft Project online Welche Version benötigen Sie?

Thema: Microsoft Project online Welche Version benötigen Sie? Seit einiger Zeit gibt es die Produkte Microsoft Project online, Project Pro für Office 365 und Project online mit Project Pro für Office 365. Nach meinem Empfinden sind die Angebote nicht ganz eindeutig

Mehr

OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98

OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98 OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98 Neue Version: Outlook-Termine, Kontakte, Mails usw. ohne Exchange-Server auf mehreren Rechnern nutzen! Mit der neuesten Generation intelligenter

Mehr

Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE

Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE Dezernat 6 Abteilung 4 Stand: 14.Oktober 2014 Inhalt 1. Einleitung 3 2. Räume & gemeinsame Termine finden 3 3. Rüstzeit 8 4. FAQ: Oft gestellte

Mehr

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

Kurzeinführung Moodle

Kurzeinführung Moodle Kurzeinführung Moodle 1. Einstieg, Kursinhalte, Datei-Download Nachdem Sie sich erfolgreich registriert und eingeloggt haben, gelangen Sie zu Ihrer Hauptseite. Aktivieren Sie Meine Startsteite um Ihren/Ihre

Mehr