Tentaproblem 6 (lv7) grupp M

a) Artikeln ”An Industrial Survey of Requirements Dependencies in Software Product Release Planning” av Carlshamres m.fl. beskriver aktiviteten releaseplanering. Svårigheten med att inför nästa release planera vilka krav som ska implementeras beror till stor del på prioritet bland kraven. Prioritering är starkt sammankopplad med inbördes beroende emellan de olika kraven. Beskriv denna koppling med exempel och förklara varför den är essentiell i releaseplanering. (6 poäng)

 

b) Vid kartläggning av inbördes beroenden mellan krav har man på ett logiskt sätt delat in dem i olika typer. 4 av de typerna som nämns i artikeln kan sorteras 2 och 2 i två grupper som avser kundstyrd respektive marknadsstyrd produktutveckling. Ange de fyra typerna av inbördes kravberoende och vilken grupp de tillhör. (4 poäng)

 

Lösning:

a) När man från en redan befintlig produkt ska utveckla en ny version utgår man bl.a. från den redan existerande kravspecifikationen. Vilka krav ska man ha kvar? Varför ska vi ha kvar dem? Med andra ord, vilka krav ska prioriteras?

 

Istället för att titta på varje krav för sig kan man undersöka inbördes beroende mellan kraven. Då kan man exempelvis se vilka krav man verkligen inte kan ta bort. ”krav 2,3,5 och 6 beror av krav 1”. Man kan också exempelvis se vilka krav man kan ta bort utan konsekvenser. ”krav 1 är oberoende av alla andra krav och påverkar i sin tur inga andra krav”. Beroende på vilken målgrupp slutprodukten har kan man också genomföra cost-benefit- analyser med hjälp av de inbördes beroenden. ”krav 1 genererar x mycket extra försäljning men det kostar y många ggr mer att utveckla krav 2 om krav 1 måste implementeras”. Är det värt det?

 

Metoden definierar också tydligt i vilken ordning kraven måste implementeras.

 

b) Marknadsstyrd utveckling:

R1 ICOST R2 – R1 påverkar implementeringskostnaden för R2, positivt eller negativt. 

 

R1 CVALUE R2 – R1 påverkar kundvärdet för R2, positivt eller negativt.

 

Kundstyrd utveckling:

R1 AND R2 – R1 behöver R2 för att fungera och vice versa.

 

R1 REQUIRES R2 – R1 behöver R2 för att fungera.

 

Bedömningsmall:

Typnamnen och dess förklaringar behöver inte vara exakt som i artikeln men innebörden skall otvetydigt vara korrekt.