SWEN2
swen2
swen2
Set of flashcards Details
Flashcards | 100 |
---|---|
Students | 24 |
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 21.05.2019 / 09.06.2021 |
Weblink |
https://card2brain.ch/cards/20190521_swen2?max=40&offset=40
|
Embed |
<iframe src="https://card2brain.ch/box/20190521_swen2/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
XP: On-site customer
Idealerweise ist der Kunde vor Ort und ist Teil des Teams
XP: Coding standards
Coding standards sollten festgelegt werden und idealerweise auch automatisiert.
* (bessere Erklärung finden) XP: Slack
Raum für Überraschungen lassen und technical Dept durch Praktiken wie Refactoring reduzieren.
XP: Spike
Ein Task dessen Ziel es ist Informatienn zu sammeln oder eine Frage zu beantworten. Ein nicht gut definierte User Story ist zum Beispiel ein Spike welcher zuerst erforscht werden muss.
XP: Incremental Design
Nicht alles im voraus planen sondern das Produkt schrittweise bauen.
XP: Self-organized Teams
Teams organisieren sich selbst und sollen von äusseren Einflüssen geschützt werden
*XP: Clean Code: Sie kennen die wichtigsten Konzepte des Buchs (Clean Code - A Handbook of Agile Software Craftsmanship by Robert C.Martin) und wie sie die Codebase positiv beeinflussen.
a
SCRUM: Rollen
Product owner
Definiert die Features, entscheidet über das Release Datum, prioritisiert Features und akzeptiert Resultate bzw. weist sie zurück.
Scrum Master
Schützt das Team gegen äussere Einflüsse, entfernt Hindernisse und ist verwantwortlich für die Durchsetzung der Scrumwerte und Praktiken
Team
5-9 Cross-Funktionale Personen welche sich selbst organisieren.
SCRUM: Sie können Scrum erklären
Agiler Prozess mit Fokus auf Business Value
Selbstorganisierte, durchmischte Teams, iterativ, häufige releases
Produkt wird während eines Sprints designt, codiert und getestet
Parallel anstatt linear
SCRUM: Zeremonien
Sprint planning
Zu Beginn jedes Sprints findet das Sprint planning statt.
Product Owner präsentiert dem Team aus dem Backlog die Items mit der höchsten Priorität. Das Team alleine entscheidet dann, welche von diesen Items im nächsten Sprints fertiggestellt werden können.
Das Team plannt im Details die Tasks und bricht die User Stories in kleinere Tasks herunter
Sprint review
Team präsentiert die Resultate des Sprints live (keine Folien). Möglichst viele Personen nehmen daran Teil
Sprint retrospective
Periodische Prüfung was läuft und was nicht.
Alle nehmen daran teil.
Tägliches Standup Meeting
15 Minuten. Jeder antwortet auf die drei Fragen:
Was hast du gestern gemacht?
Was willst du heute tun?
Ist alles auf guten Weg? (gibt es Probleme)
Keine Problemlösungen während des Stand up meetings
SCRUM: Artefakte
- Product backlog
- Alle Anforderungen des Projektes. Idealerweise prioitisiert
- Sprint backlog
- Tasks aus dem Product backlog welche innerhalb des Sprints erfüllt werden sollen.
- Burndown Charts
- Sagt aus wie gut ein Sprint vorwärts kommt.
- Scrum master muss auf den Chart reagieren und Tasks entfernen oder neue hinzufügen
SCRUM: Values
Mut
Mut an schwierigen Problemen zu arbeiten
Fokus
Fokus auf die Ziele des Sprints
Commitment
Persönlicher Einsatz um die Ziele zu erreichen
Respekt
Gegenseitiger Respekt
Offenheit
Das Scrum team und der Product Owner sind offen miteinander.
CROFM
SCRUM: Sprint
Iterationen eines Projekts. Typische Dauer ist 2-4 Wochen. Idealerweise sollte die Dauer konstant sein. Innerhalb dieser Zeit werden Features komplett designt, entwickelt und getestet.
SCRUM: Sprint goal
Kurzes Statement zur Zielformulierung eines Sprints.
SCRUM: Chicken and pigs
Pigs sind commited, Chicken sind involved.
- Pigs:
- Direkt am Projekt beteiligt
- Product Owner / Scrummaster / Team / Stakeholder
- Chickens:
- Aussenstehende
- Haben nichts zu sagen ausser bei den Sprint reviews
SCRUM: Task Board
Gibt übersicht über Tasks eines Sprints: Not checked out / Started / Done. Ausserdem eine Abteilung für unplanned items und für den Burndown chart
SCRUM: Definition of done
Definition wann ein Task komplett abgeschlossen ist.
SCRUM: Increment
Die Summe aller abgeschlossenen Items.
an Increment is the sum of all the Product Backlog items completed during a Sprint and the value of the increments of all previous Sprints.
Sie haben den SCRUM Guide gelesen
Sie müssen es verstehen!
https://www.scrumguides.org/download.html
PLANNING: User Stories
Im agilen Kontext sind user stories kurze Texte welche ein Feature kommunizieren. Die Form ist folgende:
Als ein [ROLLE] möchte ich [ZIEL] damit ich [NUTZEN]
PLANNING: User Roles
Verschiedene Rollen die Users eines Programms haben.
z.B: Admin, Moderator, User bei einem Forum
PLANNING: Epics
Grosse User Stories.
PLANNING: Theme
Eine zusammenhängende Menge von User Stories.
PLANNING: Story Points
- Relative statt absolute Messung der Komplexität einer User Story.
- Häufig verwendete Skala ist die Fibonacci Skala.
- Sprint wird anhand der Story Points festgelegt. (z.B. 25 Punkte für ein Sprint)
- Nicht zu granular schätzen
PLANNING: Velocity
- Fortschrittsmessung eines Teams
- Wird berechnet durch die Summer der während einer iteration umgesetzten Story Points
PLANNING: Planning Poker
- Product Owner erklärt User Story und jedes Teammitglied schätzt Aufwand verdeckt
- Differenzen werden diskutiert und finaler Wert festgelegt
PLANNING: Conditions of Satisfaction
Die Conditions of Satisfaction steuern die Release- sowie die Iterationsplanung. Sie sind definiert aus einer Kombination des Zeitplanes, des Scopes und der Ressourcen, die eingesetzt werden können.
Date-Driven Project: Das Release-Datum ist wichtig, die Features sind verhandelbar.
Feature-Driven Project: Das Vorhandensein aller Features ist wichtiger als das genaue Release-Datum.
*PLANNING: Level of planning
Zwiebelschalen prinzip. Als agiles Team agieren wir in den innersten 3 Levels: Day, Iteration und Release. àussere Ebenen sind Portfolio, Product und Strategy
PLANNING: Priorisierung von User Stories
Der Product Owner kann am Anfang eines Sprints user stories Priorisieren.
PLANNING: Techniques for Estimating
Aufwandschätzung. z.B: Durch die Fibonacci Skala. Am besten relativ und nicht absolut schätzen.
PLANNING: Relative Schätzung
Da sich eine genaue Stundenschätzung als sehr unzuverlässig herausgestellt hat sollte relativ geschätz werden.
PLANNING: INVEST
User stories sollten nach dem INVEST Schema geschrieben werden.
- Independent
- Negotiable
- Valuable
- Estimable
- Small
- Testable
PLANNING: Planning for Value
Welch9e Funktionen sollen entwickelt werden?
Faktoren für die Priotisierung:
- Finanzielle Wert einer Funktion
- Kosten für die Entwicklung und Unterhalt
- Umfang und die Signifikanz des Know-How-Gewinns durch die Entwicklung
- Das Reduzieren der Risiken als Konsequenz der Umsetzung einer Funktion
PLANNING: Kano-Model of Customer Satisfaction
https://www.youtube.com/watch?v=qCqJmNolO-k
System zum Erringen der Kundenzufriedenheit. Beschreibt den Zusammenhang zwischen dem Erreichen von Features und deren Auswirkung auf den Kunden.
z.B. Wunsch Features / Muss Features / Begeisterungsmerkamel / Unerhebliche Merkmale / Rückweisungs Merkmale
ARCHITEKTUR: Software Architekt
Ein Software Architekt bnaut Systeme welche verständlich, langlebig, wartbar, funktional, performant und sicher sind.
ARCHITEKTUR: Qualität und Systemeigenschaften
Die Qualität einer Software Architektur hat einen Einfluss auf die allgemeine Systemeigenschaften eines mit dieser Architektur umgesetzten Systems.
Systemeigenschaften lassen sich in zwei Gruppen Aufteilen:
- Eigenschaften die zur Laufzeit eines Systems gemessen werden können
- Performance
- Sicherheit
- Verfügbarkeit
- Usability
- Stabilität
- Eigenschaften die nur indirekt gemessen werden können
- Skalierbarkeit
- Integrierbarkeit
- Portabilität
- Wartbarkeit
- Testbarkeit
- Wiederverwendbarkeit
ARCHITEKTUR: Schwierigkeiten des Software Desigsn
- Komplexität
- Software gehört zum komplexesten was von Menschen entwickelt wird
- Software kann nicht ohne Verlust von Features vereinfacht werden
- Konformität
- Schnittstelle eines Systems zu anderen Systemen variieren stark
- Changeability
- Software muss ständig verändert werden
- Unsichtbarkeit
- Software lässt sich nicht einfach visualisieren
ARCHITEKTUR: Moduleigenschaften
- Modularität
- Komponeten eines Systems lassen sich leiecht austauschen
- Portabilität
- Software sollen in verschiedenen Umgebungen lauffähig sein
- Changeability
- Ein System soll leicht veränderbar sein
- Conceptual Integrity
- Diejenigen Teiel eines Systems, die ähnliche Funktionen beinhalten, sollten auch ähnlich gestalt werden.
- intellectual Control
- Softwaredesign sollte von den Zuständig komplett verstanden werden
- Buildability
- Ein Software Design muss ein Zielsystem so spezifizieren, dass es von einem gegebenen Team in einer gegeben Zeit realisiert werden kann
- Kopplung und Kohäsion
- Design for change
ARCHITEKTUR: Software Architektur
Die organisierte Struktur eines Systems oder einer Komponente. z.B. MEAN Stack, oder Spring Framework etc