Göm menyn

TDDE71 Programmering och datastrukturer

Projekt git diskussionsunderlag


Git diskussionsunderlag

Varje grupp har fått en sammanställning av hur var och ens bidrag i ert git-repository ser ut. Detta är ett diskussionsunderlag.

Det vi kan se via git är dels om var och en bidrar kontinuerligt och dels om det finns stora avvikelser inom gruppen - och i så fall undersöka vad de beror på. Avsikten är att fånga upp avvikelser i så god tid att det vid behov fortfarande går att göra något åt dem genom ändrat arbetssätt.

Gruppinterna diskussionsfrågor

  • Stämmer sammanställningen med er upplevelse av hur mycket var och en arbetat i proportion till de andra?
    Åtgärd: Meddela gemensamt som grupp er assistent vad som skulle kännas mer rätt.
  • Är det någon som i sammanställningen ser ut att bidragit väldigt lite?
    Åtgärd: Om det är fel, påpeka till er handledare varför det är fel. Om det är korrekt, ändra arbetssätt/arbetsfördelning så denna persons bidrag synliggörs.
  • Är det någon som i sammanställningen ser ut att bidragit väldigt mycket?
    Åtgärd: Om det är fel, påpeka till er handledare varför det är fel. Om det är korrekt, ändra arbetssätt/arbetsfördelning för en jämnare arbetsbelastning.
  • Finns det rena felaktigheter i sammanställningen (t.ex. fel/saknat liuid)?
    Åtgärd: Se över var och ens git-config, är user och email korrekt satta? Påpeka övriga fel till er handledare.

Om arbetsbelastningen inom gruppen är ojämn så betraktar vi det som ett grupp-problem där lika ansvar ligger på varje medlem i gruppen. Att någon överpresterar (arbetar dyr övertid) är lika ohållbart som att någon annan underpresterar. Gruppen tillsammans behöver fundera på strategier att hantera sådana problem. Att säga "jobba mer" eller "jobba mindre" till någon är i detta sammanhang inte en strategi jag personligen tror på, det löser nämligen inte den underliggande orsaken till över- eller underprestation, utan ger snarare dåligt samvete. Att reda ut det underliggande orsaken och sedan agera för att undanröja den är både svårare och mer framgångsrikt. Mycket handlar om kommunikation och hjälpa varandra kommunicera utan prestige om vad som fungerar och vad som inte fungerar för var och en.

Om ni misstänker att gruppen har problem med ojämn arbetsbelastning: meddela omgående er handledare, diskutera sedan internt och gemensamt en strategi, kommunicera strategin till er handledare, prova strategin några dagar, utvärdera, kommunicera resultatet till er handledare. Om problemet kvarstår lyfts problemet till er handledare eller kursledningen. OBS Ni får så klart när som helst be att er handledare tar över problemet.

Diskussion med assistent (halvtidsmöte)

Stämmer sammanställningen med er upplevelse av hur mycket var och en arbetat i proportion till de andra? Vilka avvikelser finns och behöver ni ändra på något i ert arbetssätt?

Ideal

I ett idealt projekt så lämnar var och en bidrag löpande genom hela projektet. Det syns då genom commits från varje arbetspass, och med flera arbetspass i veckan. I uppstartsveckorna är det inte så mycket kodande och det blir kanske inte så många commits. I slutveckorna är det mycket kodande och det blir desto fler commits. Det arbete som committas bidrar med faktisk funktionalitet i slutprodukten, eller med framtida arbetsbesparing (aka refactoring).

Avvikelser, orättvisor och fel

Git är byggt för att spåra ändringar - vem gjorde vad, och när? Git är inte byggt för att mäta hur mycket arbete var och en gjort. En person som gjort 10 commits om totalt 5000 rader kod kan ha 4500 rader kodupprepning varpå den person som gör 1 commit om -4500 rader kod teoretiskt gjort en bättre insats för projektets framtid. En person som ändrar på en rad i en fil och sparar, omedveten om att editorn är inställd på annat indenteringsdjup än originalkoden, kommer göra en commit som har ändrat alla rader i filen och därmed ser ut att var omfattande. En person kan importera ett kodexempel på 100 rader medan en annan skriver 100 rader själv - men de ser ut att ha gjort lika mycket. Utan att titta på innehållet i en commit är det alltså vanskligt att avgöra hur mycket arbete som ligger bakom!

Det vi kan se via git är dels om var och en bidrar kontinuerligt och dels om det finns stora avvikelser inom gruppen - och i så fall undersöka vad de beror på. Avsikten är att fånga upp avvikelser i så god tid att det vid behov fortfarande går att göra något åt dem genom ändrat arbetssätt.


Sidansvarig: Eric Ekström
Senast uppdaterad: 2025-11-24