Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
18 Cards in this Set
- Front
- Back
Welche Probleme gibt es bei der professionellen Softwareentwicklung(4) undwie kann man es lösen?
|
-Entwicklung wird komplizierter -Wartung wird schwieriger -Schätzungen werden unübersichtlich -Überblick geht verloren / Es muss nach einem passenden Vorgehensmodell entwickelt werden |
|
Allgemeine Vorgehensmodelle SW-Modelle.Ein Modell aussuchen.Vorteile Nachteile (auf Nachteile konzentrieren)
|
Wasserfallmodell: pros: -klare Struktur -einfach zu verstehen -klarer Projektzustand -klare Anforderungen cons: -Test am ende -"keine" Kommunikation zwischen Teams -zwischenstände nicht möglich (Phase muss zuerst beendet werden.) -unflexibel bei Änderungen -keine Rückkopplung auf frühere Phase. Wasserfallmodell reicht für die heutigen Anforderungen nicht aus.ist gut wenn sich Anforderungen nicht ändern, bei heutigen Projekten ändern sie sichrelativ schnell. |
|
Warum scheitern Projekte?
|
-Anforderungen sind schwer abzuschätzen-Anforderungen ändern sich laufend-Anforderungen ändern sich spät im Projekt-Distanz zu Auftraggeber während der Entwicklung |
|
Was ist "agil"?
|
•“agilis” (latein.) oder “agile” (engl.) - steht für “flink, gewandt” •Flexibler und schlanker Entwicklungsprozess •Fokus: - zu erreichende Ziele - technische + soziale Probleme |
|
Was bedeutet agil im Kontext Softwareentwicklung? |
-Flexibel, dynamisch -Anforderungen überpüft -iterativ -kürzere Zyklen -kommunikativ -Kunde wird eingebunden -Wenig Bürokratie |
|
Ziele agiler Softwareentwicklung?
|
- Höhere Flexibilität als bei klassischen Modellen- Fokusierung auf die zu erreichenden Ziele - Angehen von technische und sozialen Problemen - nicht schwergewichtig und bürokratisch vorgehen - Fail fast - fail cheap - fail early |
|
Vorteile agiler Softwareentwicklung?
|
-flexibel-geringer bürkokratischer Aufwand-wenige und flexible regeln -nur soviel doku wie möglich -verspricht besseres Kosten- /Nutzenverhältnis-man kann dem Kunden früh was zeigen. |
|
Manifesto for Agile Software Development
|
Deutsch(Übersetzung): Menschen und Interaktionen stehen über Prozessen und Werkzeugen -Funktionierende SW steht über umfassende Dokumentation -Zusammenarbeit mit den Kunden steht über der Vertragshandlung -Reaktion auf Veränderung steht über dem befolgen eines Plans. //~ Dh. obwohl wir die Werte auf der rechten Seite wichtig finden, schätzen wirdie Werte auf der Linken höher ein. Englisch: -Individuals and interactions processes and tools-Working software comprehensive documentation -Customer collaboration contract negotiation -Responding to change following a plan |
|
Die zwölf Prinzipien hinter dem agilen Manifest:? |
#1 Kunden zufriedenstellen / Kundenwertschätzung #2 Anforderungsänderungen jederzweit willkommen -> Wettbewerbsvorteil #3 Kontinuirliche iterative Lieferung von Software. #4 tägliches Teamwork von Fachexperten und Entwickler #5 Managmentaufgabe: angenehmes Arbeitsumgebung schaffen #6 Kommunikation -> Gespräch von Angesicht zu Angesicht #7 Funktionierende SW = wichtigstes Fortschrittsmaß #8 gleichmäßiges Tempo auf unbegrenze Zeit #9 Konzentration auf technisches Exzellenz & gutes Design -> Agilität #10 KISS /Keep it simple Short / Keep it short and Simple #11 selbstorganisierte Teams -> bestes Ergebnis #12 Teamkommunikation ist alles |
|
Ein Leitsatz für die agile Arbeit, z.B.:
|
-Frühe und häufige Softwareauslieferung -Mehrfachnutzung vorhandener Ressourcen -zweckmäßig -kundenorientiert -KISS-Prinzip (keep it simple stupid) -Collective Code Ownership -Lernen Lernen Lernen ... |
|
Agile Methoden -Best Practices
|
-Fixe Entwicklungszeitrahmen (in Scrum sind es die Sprints) -Timeboxing ( Meetings in einem Zeitrahmen, darf ums verrecken nicht überschritten werden) -Pair Programming immer 2(abwechselndes programmieren /4-Augenprinzip) -Story Cards ( Anforderungen nicht in Pflichten/Lastenheft sondern auf Story Cards) -TDD TestDrivenDevelopment (erst Testen dann entgegen entwickeln) -Reviews (Code) ( Code wird durch andere Person nochmal gesichtet) -Refactoring ( vorhandener Code wird umstrukturiert, angepasst) -Iterative Entwicklung ( Wiederholung einzelner Arbeitsschritte zur Lösung eines Problems) |
|
Werte hinter agiler Softwareentwicklung?
|
-Kommunikation -Einfachheit -Rückkopplung -Mut -Respekt |
|
Welche Vorteile hat der Kunde durch die Verwendung von agilen Methoden?
|
-Flexibilität -Spart Zeit und Nerven -Wettbewerbsvorteil |
|
Welche Vorteile haben die Software-Entwickler durch die Verwendung von agilen Methoden?
|
-Qualitätsarbeit -Direkte Kommunikation mitden Anwendern-Mehr Spaß bei der Arbeit |
|
Was ist Scrum?
|
Scrum = agiles Projektmanagement Rahmenwerk -Scrum = Methode zum Management komplexer Systeme (Inspect & Adapt) -Scrum ist eine Methode zur Einführung agiler Projektmanagementmethoden in Unternehmen (Enterprise Scrum) -Selbst-organisierende Teams -Produkt schreitet in Serien von monatlichen “Sprints” fort -Anforderungen sind als Listeneinträge im “Produkt-Backlog”festgehalten -Keine spezifischen Entwicklungsvorgehen vorgeschrieben -Benutzt generative Regeln um ein agiles Umfeld für dieAuslieferung von Produkten zu schaffen -Einer der „agilen Prozesse“ |
|
Product Owner (PO)
|
-ist verantwortlich für den Erfolg der gesamtenEntwicklungsvorhaben eines Produktes oder einerProduktlinie. -bringt die Produktvision ins Team. -beschreibt die Anforderungen und verwaltet dasProduct Backlog. -erstellt den Releaseplan und die Releaseberichte. -managed die Stakeholder und arbeitet eng mit demTeam während der gesamten Projektlaufzeitzusammen. -Definiert Produkt-Features -Bestimmt Auslieferungsdatum und Inhalt -Ist verantwortlich für den Gewinn des Projekts(ROI) -Priorisiert Features abhängig vom Marktwert -Passt Features und Prioritäten nach Bedarf fürjede Iteration an -Akzeptiert oder weist Arbeitsergebnisse zurück |
|
Scrum-Master(SM)
|
-Verantwortlich für die Einhaltung von Scrum-Werten und -Techniken -Entfernt Hindernisse -Stellt sicher, dass das Team vollständig funktional undproduktiv ist -Unterstützt die enge Zusammenarbeit zwischen allenRollen und Funktionen -Schützt das Team vor äußeren Störungen -hilft, Scrum richtig anzuwenden. -Repräsentiert das Management gegenüber dem Projekt -unterstützt das Team und stellt die direkte Arbeitzwischen ProductOwner und Team sicher -beseitigt Impediments und hilft dem Team, seineProduktivität kontinuierlich zu steigern. -ist der Trainer und Moderator des Teams. Er hatimmer einen Trainingsplan für sein Team - dasImpediment Backlog. -hält die "inspect and adapt" Zyklen von Scrum unterKontrolle. -beschützt das Team und arbeitet zusammen mitdem Product Owner an der Maximierung derRendite. |
|
Eigenschaften eines Scrum-Teams
|
-Typischerweise fünf bis zehn Leute -funktionsübergreifend -QA, Programmierer, UI-Designer, etc. -Teams organisieren sich selbst -Mitgliedschaft kann sich nur zwischen Sprintsverändern -besteht aus unterschiedlichen Spezialisten,damit alle notwendigen Kenntnisse zurRealisierung des Produktes vorhanden sind. -muss die Vision und die Sprint Ziele desProduct Owners verstehen, um funktionsfähigeProduktinkremente zu liefern -ist bevollmächtigt und autonom -organisiert seine Arbeit selbst -interdisziplinär besetzt |