Böcker om Scrum mm

Jag brukar ta med mig ett par böcker när jag håller workshops eller predikar om ett ämne jag håller nära hjärtat. Eftersom det ofta är svårt att hinna svara alla frågor eller gå på djupet på alla ämnen så brukar det uppskattas att jag lämnar referenser till böcker (eller bloggar) där man kan gräva sig djupare. Efter fredagens “Agile Injection” fick jag frågan om att skicka över listan med böcker jag hade med mig då. Här är den. :)

Följande utmärkta böcker rekomenderas varmt

Agile Project Managemeng with Scrum, Ken Schwaber
9780735619937
Appendix A är Scrum i ett nötskal (~10 sidor). “A book of case studies about Scrum”. Som Knibergs bok, fast mer polerad och mindre detaljrik.

Scrum and XP from the Trenches, Henrik Kniberg
9781430322641
125 sidor med erfarenheter: how we do testing, how we do sprint backlog, how we arrange the team room, how we do daily scrums, … Man bör kunna grunderna (helst prövat på) för att fullt uppskatta boken.

Clean Code, Robert C. Martin
9780132350884
Utmärkt genomgång av hur man renskriver kod, och varför. Ögonöppnare för många.

Working Effectively with Legacy Code, Michael C. Feathers
9780131177055
Utmärkt bok om “refactoring” – hur skall man attackera legacy code (dvs kod som inte täcks av automattest).

Mycket bra är också

The Pragmatic Programmer, Andrew Hunt, David Thomas
9780201616224
Insiktsfullt om kärnan av systemutveckling – hur jobbar en “bra” utvecklare (eller hur blir man).

Följande böcker har inte samma nivå, men är fortfarande bra.

Extreme Programming Explained, Second Ed, Kent Beck, Cynthia Andres
0321278658
Kent Beck försöker förklara Extreme Programming. Lyckas sådär.

Test-Driven Development, Kent Beck
9780321146533
Kent Beck visar upp TDD i praktiken med riktig kod i tre kapitel. En bra praktisk genomgång.

Andra har uppskattat

User Stories Applied, Mike Cohn
Agile Estimating and Planning, Mike Cohn
Agile Software Development with Scrum, Schwaber, Beedle

och lite utanför ämnet

The Mythical Man-Month, Frederick P. Brooks, JR
9780201835953
Insikter kring mjukvaruutvecklingen från 1975, med uppdatering tjugo år senare. Intressant om man tycker utveckling av systemutveckling över tiden är intressant.

Bok: Test-Driven Development

Test-Driven Development By Example

av Kent Beck

ISBN: 9780321146533

Detta är en bok som i tre steg visar hur Kent Beck tycker man skall skriva kod. Boken är lättläst, enkel att förstå och Beck är ganska tydlig i vad  han menar och hur han föreslår att man skall jobba.

Min behållning av boken är den lilla privata lappen med “test att skriva” – något som han alltså förespråkar men som jag själv aldrig använt i större utsträckning. Jag petar istället ner alla test-idéer i kod, typ:

// FIXME: testa null

Om jag skall ge mig på att sammanfatta vad han förespråkar så är det:

  • börja litet
  • använd en lista där du skriver upp testfall som du vet eller kommer på behöver testas
  • låt design växa fram
  • använd refaktoreringssteget till att skriva den riktiga implementation
  • misslyckas man med ett stort test, skriv ett mindre istället
  • få hellre ett test till att gå igenom än att ha vacker kod

Jag rekomenderar boken till någon som har ett hum om vad TDD är men som inte sett hur det kan fungera i praktiken. Kodexemplen är visserligen ganska lätta men det intressanta är att se hur han jobbar med problemlösning, vad TDD-metodiken ger och att det banne mig inte är svårt att börja.