Wednesday, 17 December 2008

Tillbaka på ruta 3

Det var väldigt länge sen jag skrev något på bloggen. Orsaken till det är att jag har börjat om IGEN! Återigen så säger jag emot mig själv, men det har mycket med att göra att jag inte var riktigt framme i tänket, men nu känner jag att jag är det. Den största orsaken till att jag började om är att jag vill att gränssnittet för windows applikationen ska byggas helt och hållet med WPF. Vidare vill jag driva hela utvecklingsprojektet med TDD. TDD i sig är inget nytt för mig, men jag har inte anammat det i detta projekt, och detta projekt är ytterst lämpat för utföras med TDD, speciellt som utvecklingsarbetet pågår stötvis då det är ett hobbyprojekt, vilket i sin tur innebär att det kan ta lång tid mellan utvecklingsperioderna. Då är det skönt att befintlig kodbas utvecklad med många unit tester och även integrationstester. Vidare har jag uppgraderat databasen till Sql Server 2008 och även installerat Cruise Control.Net på min utvecklingsserver så att automatiska byggen körs varje gång jag checkar in något till source safe. Nu har jag också bestämt mig för vilka delar som ska byggas i projektet, och vad de olika delarna ska göra och också hittat andra användningsområden för systemet. Denna applikation för golfare kommer att bli så häftig! Ovetenskapliga undersökningar som jag har gjort visar att det finns en stor längtan till att få använda ett sådant här system. Systemet kommer att bestå av en windows applikation, några webbplatser, en mobil version samt ett tjänstelager som utvecklas med WCF. Det blir ingen SOA lösning, klienterna kommer att vara tight kopplade till tjänstelagret då dom kommer att dela på entiteter och annat smått och gott. Ett av dom stora problemen jag stöter på när jag utvecklar denna lösning är att det kan gå lång tid mellan gångerna jag sätter mig ned för att utveckla, jag har trots allt ett liv utanför Visual Studio. Det innebär att när jag väl sätter mig ned för att skapa något är uppstartsträckan lång innan jag blir produktiv. Det är lätt hänt att jag endast refaktorerar befintlig kod, eller putsar lite här och där i kodbasen. För att lösa detta har jag skapat en backlog där jag fyller i kraven på systemet enligt "Som [roll] vill jag [aktivitet] för att [skapa värder]". Denna formulering är vanlig när krav skrivs, speciellt i Scrum världen. Den gör också att det är lättare att bryta ner kraven i mindre beståndsdelar, vilket är viktigt för mig eftersom jag inte har så mycket tid till förfogande. När jag påbörjar en userstory vill jag kunna slutföra den inom den tidsperiod jag har på mig, innan det blir en paus på flera dagar i detta projekt. Ett exempel jag använder är "As a user I want to register at the website so that I can activate the application". I detta system betyder det att när användaren ska köra windows applikationen för första gången måte användaren aktivera den med sin e-postadress och sitt lösenord. Alltså, räckte det med att jag skapade en registreringssida på webbplatsen där användaren registrerade sig med just e-post och lösenord, jag behövde inte bry mig om övrig information som användaren kan ange, just nu. Då blev denna userstory hanterbar, och jag kunde slutföra den under en helg.

Labels:

kick it on DotNetKicks.com