Sammanfattning
Agile Software Development (försvenskat: "agil systemutveckling") är ett synsätt gemensamt för en grupp så kallade lättrörliga systemutvecklingsmetoder, till exempel Scrum, DSDM och XP. Grundtanken med detta är att det i en föränderlig värld krävs utvecklingsmetoder som hanterar förändring som en del av verkligheten.
Agile är alltså inte en systemutvecklingsmetodik i sig utan snarare en uppsättning värderingar, attityder och principer. Inom agile finns ett antal olika utvecklingsmetodiker som anses vara lättrörliga.
Denna tvådagarskurs går igenom de tankesätt, metoder och verktyg som innefattas i begreppet Agile Software Development / agil systemutveckling. Kursen ger dig de verktyg och kunskaper du behöver för att kunna införa agila tankar och metoder i den egna organisationen, till exempel i kombination med en befintlig implementation av RUP.
Kursinnehåll
Systemutveckling igår, idag och imorgon
- Hur bra är vi på att skapa ny programvara?
- Hur gör majoriteten idag?
- Vilka är problemen med dagens tillvägagångssätt?
- Hur kan man få andra infallsvinklar och hur ser dessa ut?
- Uppkomsten av agila (lättrörliga) metoder
- Är agila och iterativa systemutvecklingsmetoder samma sak?
- Agila metoder kontra traditionella metoder
Agila metoder
- Gemensamma principer och synsätt som styrt uppkomsten
- Exempel på agila metoder:
- Crystal
- Scrum
- Extreme Programming (XP)
- Dynamic Systems Development Method (DSDM)
- Hur väljer man en metod?
Exempel på metod 1: Scrum
- Centrala principer och tillvägagångssätt
- Vad kännetecknar Scrum i relation till andra agila metoder?
- Roller i Scrum:
- Teamet
- Produktägaren
- Scrum-mastern
- Product back log
- Iterationer - Sprinter
- Sprint backlog
- Uppföljning och kontroll
- Den lärande processen
Exempel på metod 2: Extreme Programming
- Centrala principer och tillvägagångssätt
- Kravhantering
- Planering av releaser
- Planering av iterationer
- Små regelbundna releaser
- Parprogrammering
- Testdriven utveckling
- Refactoring
- Kontinuerlig integration
- Gemensamt ägande av programkod
- Roller
- XP och Scrum
Verktyg man har nytta av vid agil systemutveckling
- Ramverkt för enhetstester - JUnit, NUnit
- Kontinuerlig integration
- Att hela tiden ha en körbar applikation
Hur tar man steget till att bli agile?
- Vad krävs av organisationen?
- Projekt- och teamstorlek
- Kommunikation och information
- Kunden
- Projektuppföljning
- Att välja från floran av Agila metoder
- Vad händer efter leverans?
Sammanfattning och avslutning