Ja, willkommen zur Einführung in das Software Engineering und heute haben wir leider nur ein
Video. Ich befinde mich leider auf einer Reise und kann deswegen heute nicht in Person dort sein,
aber trotzdem können wir die Vorlesung machen, indem wir eben hier eine kleine Aufnahme machen.
Ich habe mich auch extra wieder eingerichtet, dass wir uns gut die Folien gemeinsam angucken
können und dafür haben wir heute ein neues Thema und dieses Thema ist jetzt endlich die
Agilmethoden. Das heißt, uns würde es in dem Folieninsatz darum gehen, wie wir eben mit
Agilmethoden auf veränderliche Anforderungen uns einsetzen können oder einlassen können und dann
diese entsprechend umsetzen können. Schauen wir uns das Ganze ein bisschen an, machen wir einen
Recap. Rückblickend können wir feststellen, dass Software Engineering nicht nur das Tippen von
Code ist, sondern eine breite Palette von Aktivitäten umfasst. Von der Planung und
Anforderungsanalyse bis zur Wartung und Dokumentation. Das alles sind Bausteine,
um unser Software Gebäude zu erstellen, ähnlich wie bei einem Legoturm, wo jeder Stein seinen
Platz hat. Überspringt man einen Stein, riskiert man eben, dass der ganze Turm instabil wird.
Und dazu haben wir im Prinzip uns in der letzten Vorlesung mit plangetriebenen Modellen angeguckt
und im Unterschied dazu haben wir eben heute agile Modelle, die eben ein bisschen flexiblere
Bauweisen ermöglichen. Also wenn es um Software Engineering geht, haben wir diese zwei prominenten
Modelle und im plangetriebenen Modell geht es eben darum, bis ins letzte Detail zu planen und
ähnlich wie man ein riesiges Legoschloss baut, quasi der Anleitung folgend, fühlt man, dass man
quasi 100 Seiten Anleitung oder vielleicht sogar 1000 Seiten Anleitung hat und diese Stück für
Stück abarbeitet. Im Gegensatz dazu steht das agile Modell, das zwar auch plant, aber deutlich
flexibler ist. Man könnte es quasi damit vergleichen wie, vielleicht kennt ihr den Legofilm,
in dem gibt es ja auch diese Meisterbauer, die zwar immer wieder Komponenten wieder verwenden,
aber die dann dynamisch umgestalten. So ähnlich ist das mit den agilen Methoden. Man hat eine
Vorstellung davon, was man erreichen möchte, aber man ist jederzeit in der Lage quasi seine Ziele
und seine Vorgehensweisen zu ändern. Und damit kommen wir auch schon zum Unterschied zwischen
den plangetriebenen und agilen Methoden. Das liegt eben hauptsächlich in der Flexibilität
und der Reaktionsfähigkeit auf Anforderungen. Plangetrieben ist wie das Spielen von einem
linearen Videospiel, wo man eben genau weiß, ein Quest nach dem anderen muss man erledigen und
danach kommt man irgendwann am Ende an und hat das Spiel gelöst. Agile ist mehr wie so ein
Open-World-Spiel, wo man die Freiheit hat, je nach Situation zu entscheiden. Und im plangetriebenen
Modell starten wir mit einer detaillierten Anforderungsspezifikation und denken dann
uns eine Strategie aus, wo wir quasi Ressourcen sorgfältig planen bis ins letzte Detail wohnt.
Am Ende wird eben dieser Plan umgesetzt. Im agilen Ansatz ist das Anforderungsengineering
integriert und interaktiv. Das heißt, wir gehen immer wieder zurück ins Anforderungsengineering,
wo wir quasi dann gleichzeitig die Anforderungen anpassen und eben auch unseren Plan damit anpassen
können, wie wir unser entsprechendes Produkt oder unser Implementationsziel erreichen können.
Genau und ja, wir haben also keine detaillierte Liste in den agilen Methoden von dem, was unsere
Software genau können muss, sondern wir sind eben etwas flexibel, etwas dynamisch und ja,
das ist eben eine wesentliche Erleichterung, wenn man quasi dynamisch reagieren muss,
wenn man nicht vom Anfang an Stück für Stück einer Anleitung folgen kann und dafür sind eben genau
diese agilen Verfahren sehr, sehr nützlich. Ja, dazu haben wir auch schon eine Art agiles Manifest.
Das ist im Grunde das Regelbuch für die Enthusiasten, das Agilen entwickeln. Das ist ein
bisschen so, als hätte man eben die Spielregeln für ein neues Videospiel in der Hand und man kann
quasi die Regeln noch mitgestalten und wir haben im Wesentlichen vier Schlüsselwerte,
die uns die Grundprinzipien vorgeben und die sollen eben genau uns akile Entwicklungsmethoden erlauben.
Nun, diese vier Werte sind kurzgefasst Individuen und Interaktion über Prozesse und Werkzeuge. Also,
es geht viel weniger darum, dass eben der Mensch hier im Zentrum steht und nicht so sehr der Prozess,
das heißt wir passen uns an, wir nehmen die richtigen Prozesse und die richtigen Werkzeuge,
um unser Ziel zu erreichen. Dann Funktionieren des Software ist wichtiger als umfassende
Dokumentation. Dokumentation ist natürlich wichtig für die Wiederverwendbarkeit des Software,
Presenters
Zugänglich über
Offener Zugang
Dauer
01:27:04 Min
Aufnahmedatum
2023-10-31
Hochgeladen am
2023-10-31 23:46:03
Sprache
de-DE