Varför ska man arbeta testdrivet – varför ska man använda TDD och BDD?

Varför man ska arbeta testdrivet?.. Jo Därför!.

Okej, jag kan väl komma på några motiverande punkter om du behöver hjälp att övertala någon annan. 😉

Pengarna – Ju tidigare ett felaktigt eller missat krav upptäcks desto billigare blir det att åtgärda.

Ofta när jag arbetar testdrivet hittar jag luckor i testerna (kraven) som då kan bollas tillbaks till beställaren.
Utan dessa tester passerar många av luckorna i kraven, för det finns nästan alltid luckor i kraven, till manuell testning (utförd av en utvecklare eller testare) och ibland även vidare till beställarens acceptanstester och i värsta fall ända ut till produktion.
Missade och feltolkade krav är defekter och orsakar en onödig kostnad som kan bli galet hög i form av försenade leveranser, förlorade marknadsandelar, bristande förtroende till varumärken och inblandade parter o.s.v..

Kontraktet och bonuseffekterna.

Genom att arbeta behovs- och testdrivet får vi skriftliga krav direkt i koden på hur systemet ska fungera. Dessa krav bör godkännas av beställaren innan man går vidare till utveckling och blir då ett kontrakt som visar svart på vitt vad utvecklingsteamet behöver göra för att jobbet ska kunna godkännas.  Fortsätt läsa Varför ska man arbeta testdrivet – varför ska man använda TDD och BDD?

Vad är bra kod?

Det finns många saker som inverkar på om koden är bra och svaret är så klart olika beroende på vem man pratar med och i vilken kontext, men några grundläggande drag hos bra kod enligt mig är följande.

Bra kod gör det den ska, är enkel att läsa, följa och förstå.

Gör det den ska (och ingenting annat)

Det absolut viktigaste är att koden faktiskt utför det arbete den ska så att resultatet vi får när vi använder systemet blir det förväntade.

Är enkel att läsa, följa och förstå.

Att koden är lätt att sätta sig in i och förstå, både för nya och erfarna utvecklare, är oerhört viktigt för systemets förvaltningskostnader, d.v.s. underhåll och fortsatt utveckling av systemet.

Just förvaltningskostnaden av ett system som ska leva flera år är ofta en stor del av den totala ägandekostnaden* för systemets livscykel. Och förutom att förvaltningen underlättas och blir billigare när koden är bra blir det mycket roligare att arbeta i systemet och därmed också lättare att rekrytera nya utvecklare till förvaltning och vidareutveckling :)

* TCO – Total cost of ownership, LCC – Life cycle cost

</BraKod>

Om bra kod

<BraKod>

Min blogg ska fokusera på ”bra kod” och skrivs på svenska eftersom jag vill att svenska barn och ungdomar redan från mellanstadieålder ska kunna läsa om programmering och systemutveckling på sitt eget språk.

Själv är jag någorlunda vuxen och har lång erfarenhet av teknisk engelska men gillar ändå det svenska språket bättre eftersom det är lättare att ta till sig information när man inte behöver översätta språket samtidigt som man försöker förstå vad det nu är man läser eller lyssnar på.

Välkommen!
//Jimi

</BraKod>