Estimering af software projekt

Tags:    kodedesign


Håber ikke mit spørgsmål er for bredt. Men jeg står og skal til at lave et skole projekt hvor vi skal lave et stykke software. Jeg benytter Agile UP som udviklingsmetode og vil gerne have noget estimering henover for at kunne vurdere hvor meget tid der skal bruges til at programmere de forskellige usecases og dele af programmet.

Hvad er jeres erfaringer mht. estimering af softwareprojekter? Hvilke områder plejer i at estimerer?
Og hvilke typer af data mener i er de vigtigste at estimere sig frem til?



9 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 7 karma
Sorter efter stemmer Sorter efter dato
Vi bruger 3 punkts estimering og beregnet sandsynlighed for det samlede estimat. :-)



Nu har jeg ikke så meget erfaring med lige præcis Agile UP. Men har arbejdet lidt med SCRUM, eXtreme programming, og Lean/kanban.

Jeg plejer normalt, (alene eller med mit hold, alt efter situationen) at finde ud af hvad tids estimeringen af den nemmeste feature/usecase er og bruge den som målestok for alle andre features.

Det vigtigste er at huske på at der ikke er nogle standard tid for hvor langtid bestemte ting vil tage at udvikle, som Martin siger kommer det meget an på personerne i gruppen, derfor er det vigtigt at alle bliver enige om tidsestimering af features. Og som også tidligere nævnt, er det en god idé at afsætte ekstra tid på estimeringerne.



Indlæg senest redigeret d. 07.04.2014 01:15 af Bruger #13363
Hvis det er til et skoleprojekt (og der derfor vil blive lagt vægt på teorien såvel som det praktiske), kan du kigge på COCOMO og COCOMO II modellerne. Det er begge modeller som modtager en række parametre og giver et beregnet resultat (det du efterspørger), og man kan derfor med rette rejse tvivl om hvor præcise de er. Dog bliver de faktisk anvendt til temmelig store software-projekter, så de har skam deres anvendelse. COCOMO resulterer i hvor lang tid det vil tage, og COCOMO II resulterer i LOC.

Til mere praktisk anvendelse (og bare generelt) vil jeg dog også anbefale at kigge lidt på principperne fra SCRUM, især estimering af User Stories. Det giver dog ikke et præcist estimat på hvor lang tid et projekt vil tage, og hvis det er det du er ude efter, så må du have fat i en model som f.eks. COCOMO/COCOMO II.



Du kan få lidt inspiration her: http://www.continuo.dk/data/media/Successiv_kalkulationsprincip.pdf

Du kan snuppe beregningerne fra ovenstående og lave jeres eget Excel-ark.
Det giver sikkert gode point i et skoleprojekt :-)



Definer de features der skal laves i projektet. Hvis en feature er stor, og du/i mener at den kan deles op i mindre opgaver, så gør endelig dette.

Når du har alle de features der skal laves i programmet, så sætter du dig ned med dit team, og finder ud af hvor mange timer i forventer at hver opgave tager. Det er forskelligt fra hvert team, da nogle udviklere er dygtigere, og har mere erfaring end andre. Husk at lægge eventuel research af ny teknologi eller research på hvordan opgaverne skal løses med i tidsestimeringen af den enkelte opgave.

Som tommelfingerregel vil jeg sige at jeres estimering må afvige med +- 2 timer fra jeres estimering, men det kan være svært, specielt hvis man ikke er så erfaren i hvad man kan og ikke kan.



Mange tak for dit svar Martin

Er der nogle bestemte metriker og formularer der er bedre end andre til at beregne antal timer for en (eller flere) features med?
Noget du kan anbefale?
Synes det er lidt svært at finde ud af hvordan det konkret skal gribes an.
Har bl.a. læst om estimering vha. function points og LOC. Er dette noget der bør indgå i enhver estimering ved softwareudvikling eller er der andre måde at estimere på der er bedre/lige så gode?



Indlæg senest redigeret d. 06.04.2014 17:56 af Bruger #15621
Mange tak for dit svar Martin

Er der nogle bestemte metriker og formularer der er bedre end andre til at beregne antal timer for en (eller flere) features med?
Noget du kan anbefale?
Synes det er lidt svært at finde ud af hvordan det konkret skal gribes an.
Har bl.a. læst om estimering vha. function points og LOC. Er dette noget der bør indgå i enhver estimering ved softwareudvikling eller er der andre måde at estimere på der er bedre/lige så gode?


Måske nogle andre har mere forstand på dette. :)



Vi bruger 3 punkts estimering og beregnet sandsynlighed for det samlede estimat. :-)


Kan du evt. uddybe det lidt Jonas? :) hvilke 2 punkter?



Det kan helt sikkert bruges til inspiration.

Jeg siger mange tak for hjælpen :)



t