Responsive Design med Kent Beck
- fre 19 mar, 2010 kl 16:42
- 2 kommentarer
- Java, Konferenser, Programmering
Det händer mer den här SDC2010-veckan än bara de två konferensdagarna tisdag-onsdag. Flera Open Events har också gått av stapeln. Många företag inser att det är väldigt praktiskt att passa på att arrangera kurser och workshops i samband med konferensen.
En som passade på att hålla en workshop igår, torsdag, var den inte helt okände utvecklings-Gurun Kent Beck. Jag, Iptor-kollegorna Tomas och Emily, och sex andra intresserade passade på att gå på denna workshop. Jag har med stort intresse läst Kents böcker, blogginlägg och annat i ca tio års tid, så det var väldigt kul att få tillfälle att träffa honom och få lära av honom. I början kändes det faktiskt smått surrealistiskt att sitta och diskutera kod med ”självaste Kent Beck”, men den känslan gick som tur var över ganska fort…
Temat för dagen var samma som på mingel-kvällen på Gothia Towers, nämligen ”Responsive Design”. Vad Kent menar med detta egenpåhittade begrepp är lite flummigt, men han menar att det är ett slags mellanting mellan ”Predictive Design” (Big Design Up Front) och ”Reactive Design” (I will only make a design decision if my only other option is death).
Så här i efterhand känns titeln för denna workshop inte så illustrativ för innehållet. Den borde kanske istället ha varit något i stil med ”Designing software incrementally in small and safe steps”, för det var det vi pratade mest om. Och inte mig emot., eftersom ”small steps” är något jag själv är intresserad av och ofta försöker hitta strategier för.
Kent hade gjort en egen undersökning om vad som skilde hans sätt att koda (som erfaren utvecklare) mot det/de sätt som juniora utvecklare jobbar. Han kom fram till att en märkbar skillnad är att han i allmänhet inför ändringar i mycket mindre steg än sina yngre kollegor. Dessa tar ofta för stora munsbitar och får alltför ofta bita i det sura äpplet. Oj, här duggar metaforerna tätt! (Och där kom en vädermetafor också)
Vi gick i detalj igenom Kents fyra bästa strategier för att utveckla i små steg:
- Leap – Du vet var du skall och du känner dig säker på hur du skall göra. Ta steget direkt.
- Parallell – Du vill ersätta en implementation med en annan. Låt båda leva parallellt och gå gradvis över till den nya innan du tar bort den gamla.
- Stepping Stone – Du är inte helt säker på hur du skall lösa problemet, men du tror dig veta en viktig komponent i den slutliga lösningen. Skapa den komponenten först. Då blir nästa steg lättare.
- Simplification – Du ser inte lösningen direkt. Förenkla problemet och lös detta problem end-to-end. Lägg sedan successivt tillbaka den komplexitet du tagit bort. (Ex. Schackspel: börja med 4×4 rutor och bara en sorts pjäs)
Alla de fyra strategierna har sina speciella fördelar och nackdelar och dessa diskuterades och knådades noga i gruppen. Kent kom med några exempel och vi kursdeltagare fick bidra med våra egna.
Kursdeltagarna bildade en väldigt bra diskussionsgrupp. Alla hade mycket att bidra med och lade in mycket energi i diskussionerna. När jag summerar dagen är det just de givande diskussionerna med gruppen och Kent som blev en stor del av behållningen. Det, och att jag fick några böcker signerade av ”självaste Kent Beck”…
Ja det var onekligen en bra och minnesvärd dag.
Låter som att ni hade skojs! Vi borde snacka mer om sånt här på våra JDojo’s tycker jag.. väldigt intressant!