Metod för programutveckling för mindre företag?

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Metod för programutveckling för mindre företag?

Inlägg av speakman »

På företaget jag jobbar är vi två mjukvaruutvecklare och 2,5 till som agerar säljare och support. Alltså ett för sin verksamhet väldigt litet företag.

Vi håller på att titta runt efter en lämplig metodik att göra mjukvaruutveckling på. Har kikat lite på Extreme Programming (tillsammans med Scrum för projektstyrningen), men nästan alla såna här metoder kräver minst 15-20 personer för att fungera fullt ut.

Finns det någon metodik som är lättare att applicera hos mindre företag, där utvecklarna även blir som projektledare? De andra har i princip ingen insikt i programmering, så det är svårt att flytta över något sånt ansvar dit.

Tips? Idéer?
pern
Inlägg: 700
Blev medlem: 14 juli 2004, 08:47:36
Ort: Landskrona

Inlägg av pern »

Som du skriver så beror det ju lite på vad man vill styra upp. Kodningen eller projekthanteringen eller både och.

Jag har själv använt både XP och Scrum samt ett par till.

För små team är jag själv väldigt förtjust i "Crystal Clear" samt att ta lite från XP.


Denna boken kan klart rekommenderas:
Användarvisningsbild
zeus
Inlägg: 7058
Blev medlem: 17 juni 2003, 22:13:44
Ort: Sthlm.

Inlägg av zeus »

Rekommenderar boken "Projektboken"(Anders Marttala, Åke Karlsson) och "Arbetsgruppens psykologi", den senare mer för den som är projektledaren.

Jag har den första som studentlitteratur, om du vill köpa billigt eller få någon sida kopierad.

Projektboken går igenom bra vilka roller man bör ha osv, mycket roligare att läsa än den andra.
pern
Inlägg: 700
Blev medlem: 14 juli 2004, 08:47:36
Ort: Landskrona

Inlägg av pern »

När det gäller "Agile" metodik så är faktiskt inte det viktigaste att följa en metod slaviskt. Min erfarenhet är att det är bäst att läsa in sig på 2-3 stycken, sedan plocka det bästa från varje och hitta en form som passar just ert företag. Det är ju liksom det som är hela grundtanken med "Agile".

Men helt klart, kör "Agile" ;-)

XP/SCRUM/Crystal Clear - Där finns vad du behöver.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Tack. Agile är väl det vi är inne på. Men vi har inte resurser för en projektledare, utan det måste liksom skötas sekundärt på något vis.

Ska kolla upp Crystal Clear och se vad det är. Tack för tipsen!
Användarvisningsbild
AndLi
Inlägg: 18120
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

En bra och rolig introduktion finns att finna i Henrik Knibergs "Scrum and XP from the Trenches" http://www.crisp.se/henrik.kniberg/Scru ... enches.pdf

Jag har sett/använt scrum under de senaste 1.5 åren, jag tycker inte det behövs +15 pers för att det ska funka...

Mjukvaruavdelningen använder det mycket och de är väll ca 5 utvecklare och 2 testare. Där en utvecklare också är projektledare/chef
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Fast på 2 pers totalt..?
pern
Inlägg: 700
Blev medlem: 14 juli 2004, 08:47:36
Ort: Landskrona

Inlägg av pern »

Att XP och SCRUM kräver 15-20 personer för att funka är inte sannt. Men när du börjar komma under 6-8 pers så börjar det bli lite knepigt att följa slaviskt och du måste vara lite flexibel.

Du kommer dock inte kunna hitta någon perfekt Agile Metodik med bara 2 roller i. Det är helt klart svårare att styra upp väldigt små team effektivt än lite större där man enklare kan se roller hos folk.


Här är lite av mina erfarenheter med att jobba med Agile i små team:


- Personer måste ha och kunna hantera flera roller i projektet samtidigt.

- En projektansvarig för projektet bör utses. Även om ni bara är 2 pers så måste någon ha beslutanderätt när ni inte är överens. Dessutom måste någon hålla koll på helheten i projektet och se till så att rätt saker levereras vid rätt tid. Samt förklara för chefen varför det inte gör det ibland ;-) Funkar det inte med den personen, byt till nästa iteration/projekt.

- Använd INTE par-programmering. Visst koden blir kanske snabbare bättre, men med så få resurser är det borkastad tid/pengar. Men använd Side-By-Side programming. Dvs placera programmerarna nära varandra för en effektiv kommunikation, helst så de kan se varandras bildskärmar. Men att de gör olika saker och bara hjälper varandra när det behövs.

- Använd INTE Code refactoring som ett tvång. Tanken är god att skriva minsta möjliga fungerande kod först och sedan succesivt förbättra den. Men det tar resurser. Försök skriva rätt från början, är det buggar, hantera dessa sepparat.

- Använd INTE "Kollektivt kod-ägande". Detta fungerar bäst på lite längre projekt med fler resurser. Programmerare är också av naturen intresserad av olika områden, en del gillar "Core" saker andra db/gui etc. Utnyttja detta och låt dem "glänsa" lite. Se dock att ni inte blir 100% beroende av enstaka personer gällande kod. Men motverka detta mer genom dokumentering/kodstandarder mm.

- Använd TDD.

- Använd tidsbestämda iterationer. Flytta aldrig på ett stoppdatum, skippa funktionalitet till nästa iteration om ni inte hinner med. En perfekt iterationstid tycker jag är 3 veckor. Det är tillräckligt långt för att hinna göra något och tillräckligt kort för att hinna få ut saker/få feedback etc.

- Arbeta aktivt med er "Backlog". Den som är projektansvarig bör spendera lite tid med den helst varje dag, minst varannan.

- Låt alla vara med på backlog/iterations planeringsmötena. Dina säljare och support behövs de med. Låt dem agera uppdragsivare och bevaka projektet ur affärsmässig aspekt.

- Glöm inte göra utvärdering efter varje iteration/projekt.


Så visst går det att styra upp små team, det är dock svårare och kräver mer erfarenhet och framför allt diciplin från alla. Räkna inte med att första projektet blir perfekt.

Ett tips är att hyra in någon duktig Agile konsult på en dag eller 2 som kan agera "ScrumMaster" (Eller vad ni vill kalla det) och gå igenom allt samt kick-starta projektet. Det är väl investerade pengar.
Skriv svar