Naam: Thomas Droppert
Studentennummer: 679586
Klas: ITA-OOSE-A-s
Groep: SmallTalk
Procesbegeleider: Mark Giesen
Professional skills docent: Helen Visser en Sjir Schütt
Vak: OOSE project
Datum: 25-11-2022
Inhoudsopgave
Inleiding:
Voor het OOSE-project ben ik ingedeeld in projectgroep Smalltalk. Onze groep heeft als opdracht gekregen van Regterschot Racing, om een API te bouwen, die zorgt voor een interactie tussen de database en de website. Het belangrijkste product voor Regterschot Racing is eigenlijk nog wel de documentatie. Met deze documentatie bouwt de volgende projectgroep verder op onze code. Als dit niet goed is, dan kunnen we stellen dat we het project dus ook niet hebben gehaald. Deze documentatie en de code moeten allemaal in het Engels geschreven worden, voor het geval dat de volgende projectgroep bestaat uit internationale studenten, die alleen Engels spreken
In dit document behandel ik mijn leerproces tijdens het project. Ik moet laten zien welke competenties ik ontwikkeld heb en welke kennis en vaardigheid ik heb toegepast tijdens dit project. Hierbij moeten ook de keuzes worden toegelicht over het proces.
In dit document zijn de volgende dingen te zien: mijn commentaar over belangrijke situaties zijn te zien, mijn leerdoelen komen aan bod, ik licht mijn competenties toe, ik geef een korte beschrijving van de rollen die ik gehad heb dit project, ik evalueerde gehanteerde projectmethode van het PvA en ik beoordeel de kwaliteit van het eindproduct. Aan het eind geef ik nog een conclusie over mijn leerdoelen en mijn competenties.
Het doel van dit verslag is om duidelijk over te brengen hoe het proces in het project verliep, vanaf mijn perspectief en wat ik hiervan leer.
Als doel voor dit project zou ik graag een nuttige bijdrage willen leveren en zou ik graag een product willen opleveren waar Regterschot Racing op vooruit kan bouwen.
Hierbij wil ik ook leren hoe een werkdag er later uit zou zien en te leren om gestructureerd te werken in deze werkdag.
Vorig schooljaar heb ik het I-Project gedaan. Deze ervaring kan ik ook toepassen op het OOSE-project, aangezien beide projecten in scrum uitgeoefend wordt.
Voor elke sprint stel ik een aantal leerdoelen op die ik tijdens dit project wil volgen. Als een leerdoel klaar is, dan stel ik voor mijzelf een nieuw leerdoel op die ik voor de volgende sprint ga volgen.
Een uitdaging voor mij is snel in een discussie schieten. Hierbij kan ik snel het perspectief van een ander vergeten of niet inzien. Dit kan ervoor zorgen dat een ander zich niet gewaardeerd voelt en het gevoel kan krijgen dat ze niks kunnen inbrengen in een groep. Daarom zou ik graag hierop willen letten in dit project. Als andere uitdaging heb ik het te snel beginnen aan taken, zonder goed te plannen/ontwerpen. Dit zorgt er vaak voor dat de taak opnieuw moet of veranderd moet worden. Daarom probeer ik ook ervoor te zorgen dat ik het plannen en ontwerpen goed onder de knie heb.
Deelproducten
In dit hoofdstuk ga ik uitleggen wat mijn kwaliteitsoordeel is over de alle deelproducten. Om een product goed te kunnen noemen, moet het voldoen aan de volgende eisen:
- Het product moet voldoen aan de kwaliteitseisen van het PvA (zie 6.1).
- Het product moet consistent zijn. Dit betekent bijvoorbeeld dat het SRS overeenkomt met de wensen van de opdrachtgever en het SDD overeenkomt met het SRS.
- Het product moet toegevoegde waarde hebben voor de opdrachtgever en school.
Ik zal hierbij aangeven waarom er iets wel, of niet goed is en dit terugkoppelen naar de bovenstaande punten.
Deelproduct PvA
Voordat de eerste sprint begon, heb ik meegewerkt aan het plan van aanpak. Het plan van aanpak moet een visie geven over hoe wij ons project gaan aanpakken. Het moet een document zijn waarop we terug kunnen kijken om te beoordelen of we in de goede richting gaan, of niet. Na mijn idee doet het plan van aanpak dit goed. Om een product te maken zullen we terug moeten kijken naar de kwaliteitseisen die zijn opgesteld in het PvA. We hebben het plan van aanpak gebaseerd op het "Toelichting plan van aanpak", document (Praktijkbureau AIM, 2022).
Voor het plan van aanpak heb ik vooral gewerkt aan hoofdstuk 5, 7 en 8. Hoofdstuk 8 gaat over de organisatie en communicatie in ons project. Hierin heb ik een aantal afspraken opgesteld en duidelijk gemaakt wanneer de gesprek overleggen plaatsvinden.
In hoofdstuk 7 ontwikkelmethode, heb ik uitleg gegeven over de betekenis van de rollen en heb ik een deel van de scrum ceremonies uitgelegd. Hoofdstuk 5 was kort en heb ik aangepast na een review, waardoor het bijna zelf gemaakt was.
Zelf vind ik deze producten informatief en duidelijk. Het verteld de informatie meteen, zonder een lange draad erbij.
Het gehele plan van aanpak ziet er goed uit, omdat het ons een overzicht laat zien van hoe wij dit project moeten aanpakken en dat is precies waar het plan van aanpak voor is.
Deelproduct SRS
Het SRS was voor het tussentijdse inleverpunt niet goed. Dit komt aangezien er nog bijna niks aan gedaan was, behalve de introductie. Deze introductie vond ik zelf wel goed gemaakt, maar het product als geheel was niet goed. Dit was ook te blijken uit de tussentijdse beoordeling. Nadat dit beoordeeld was en verbeterd, vind ik het product er wel goed uitzien. De feedback van de docenten is verwerkt en we hebben het een lopend verhaal gemaakt voor onze opdrachtgever, zodat hij kan begrijpen hoe zijn visie eruit ziet als dit geprogrammeerd gaat worden. In de laatste sprint hebben we het SRS nog laten zien aan onze product begeleider. Hij had gezegd dat het er goed uitzag en dat het overeenkomt met zijn visie, waardoor dit deel van het project dus geslaagd is.
Deelproduct Een stuk code 1
Ik heb de code voor de login functie gemaakt. De code wordt voor meer dan 80% gecoverd en bevat geen code smells (Sonarqube, 2022).
In de eerste 2 sprints heb ik deze code gemaakt zonder eerst diagrammen te maken en het SRS bij te werken, waardoor de code vaak opnieuw moest. In sprint 3 was de code klaar, maar alleen nog niet de testen die hierbij hoorde.
Uiteindelijk heb ik in sprint 4 de code afgemaakt met hierbij de test. Als ik eerder de sequence diagram van login had gemaakt, dan had dit veel tijd gescheeld. Het stuk code kwam uiteindelijk wel overeen met het SRS en SDD en was goedgekeurd door onze opdrachtgever. De login functie bevat nog wel veel logica in de service. Deze logica was wel nodig, maar hoorde niet thuis in de service, maar nog in een aparte klasse. Dit zorgde ervoor dat de code er een beetje slordig uitziet. Wel vind ik het fijn dat deze code return waardes heeft voor de methodes. Dit zorgt voor makkelijker testen en geeft wat duidelijkheid aan wat de methode precies doet. In de rest van ons programma wordt na mijn idee nog te veel void methodes gebruikt.
Deze code duurde lang om te maken, maar voldeed uiteindelijk aan de eisen van het plan van aanpak.
Mijn oordeel is daarom dat dit product voldoet aan de eisen van het PvA, beter gemaakt kan worden in verband met de loginservice.
Deelproduct Onderzoeksverslag
Voor het onderzoeksverslag ga ik kijken naar het data transfer onderzoek. Dit verslag is gemaakt om te weten te komen hoe we live data op de website kunnen zetten. Het onderzoek mist nog een discussie om de validiteit van het onderzoek aan te tonen (Scharwächter, 2022). In de tekst zit nog een niet verwerkte opmerking in van Wijnand. In de conclusie wordt de hoofdvraag beantwoord met behulp van de deelvragen. Elke deelvraag is gerelateerd aan de hoofdvraag en helpt bij het beantwoorden van deze vraag. De tekst maakt nog niet duidelijk uit welke bronnen de informatie gehaald wordt. Zo staat er in de tekst een stukje over NASCAR, waarbij het niet duidelijk is waar deze informatie vandaan kwam. Dit verslag koste naar mijn gevoel ook te veel tijd. Ik heb dit verslag gereviewed en er moest in de eerste paar versies nog veel verbeterd worden. Toen mijn opmerkingen verbeterd waren, had de tweede reviewer een aantal fouten gevonden, waardoor dit proces lang duurde. Het eindoordeel van het verslag is dus dat ik kan zien dat er over het onderwerp is nagedacht, alleen de structuur kan beter.
Deelproduct SDD
Er is veel tijd in het SDD gestopt. Dit kwam omdat onze code vaak uitgebreid of veranderd werd. We zijn laat begonnen met het SDD en begonnen te vaak met eerst coderen en dan het SDD aanpassen. Dit betekende vaak dat de code anders geschreven moest worden, omdat het verkeerd was. Het SDD voldoet wel aan de eisen opgesteld in het PvA en de huidige versie komt overeen met het SRS. Zo worden er bij de sequence diagrams de actors veranderd, gebasseerd op de rechten die de actoren hebben. Zo heeft login user en place graph een crewmember, omdat het plaatsen van een grafiek alleen maar mag gebeuren door een crewmember en niet een viewer. Dit is ook zo uitgelegd in het SRS. Het SDD is Engels, wat een eis is van ons plan van aanpak. Na mijn idee kan de uitleg voor de definities van acroniemen en afkortingen wat uitgebreider, aangezien er een aantal benamingen zijn die nog ingewikkeld kunnen zijn. Zo is bij de afbeelding voor Architectural Overview een CDN en DNS aanwezig. Deze afkortingen worden in de tekst daaronder uitgelegd, maar hadden dus ook bij 1.3 uitleg voor definities, acroniemen en afkortingen kunnen horen. Wel vind ik het fijn dat duplicerende gedeeltes in het class diagram zijn opgesplitst, zodat het class diagram zelf overzichtelijk blijft. Nadat we het SDD hebben laten zien aan Regterschot was de enige feedback die wij ontvangen hadden was dat de spelling beter kon. Dit hadden we daarna verbeterd en voldeed dus aan de wensen van Regterschot.
Kijkend naar de opgestelde criteria kan ik zeggen dat dit product wel naar wensen voldoet.
Deelproduct Unittests
In ons project hebben wij 55 unittests gecreëerd die samen meer dan 80% code coverage vormen. Bij veel unittests gebruiken we assertNotNull om te testen of de functie werkt. Ik had eigenlijk verwacht dat we zouden testen op de data in plaats van de assertNotNull, omdat we dan weten of de logica zelf ook werkt en het niet een ander object teruggeeft. Op een aantal plekken wordt dit wel gedaan, maar ik had wel gehoopt dat dit overal zo getest zou zijn. We hadden uiteindelijk in de groep afgesproken dat we assertNotNull zouden testen, dus daarom is dit op veel plekken zo gedaan. Omdat we veel void methodes hadden, moest er veel getest worden met mockito.verify. De unittest bevatten resultaten voor zowel het goede pad, als het slechte pad. De unittests testen een aantal klassen niet, omdat deze buiten de applicatie zelf liggen. Zo wordt de connectie met de database niet getest, omdat dit niet getest kan worden. Het sluiten van een connectie wordt dus ook niet getest, omdat dat ook te maken heeft met de database.
Deelproduct Testplan & Testrapport
Eindproduct
Projectmethode
Het werken in een groepje op school via scrum werkt goed, als iedereen er is. In een groep kan er makkelijk een vraag worden gesteld en gelijk beantwoord, waardoor je sneller verder kan werken met waar je mee bezig was.
Door daily standups kan je horen wat andere teamgenoten gaan doen op een dag en hoe lang dat nog gaat duren Tijdens het project hebben we ook bijna elke ochtend een daily standup gehouden. De uitzonderingen hierop waren de begin van de sprints, waarbij er nog geen nieuwe taken waren. Door de daily standups kun je eventueel hulp aanbieden als ze te lang bezig zijn met een taak. Dit hoort allemaal bij de scrum-methode.
De bedoeling van scrum is dat je via iteratief werken (zie figuur 1), langzaam op een optimaal product komt. Voordat een sprint start, is het de bedoeling dat er een backlog wordt gemaakt waar alle mogelijke taken in voort komen. Een paar van deze
taken worden vervolgens in de sprint planning uitgekozen en gaan mee de sprintbacklog in. Tijdens deze sprint werkt elk individueel teamlid aan een taak, totdat dit klaar is om gereviewed te worden. Als team hebben wij afgesproken om twee
leden te laten reviewen, voordat een taak naar done gaat. Na de sprint houden wij een sprint review met onze opdrachtgever, om hem te vertellen wat we gedaan hebben en wat hij nog zou willen zien. De eerste keer ging deze review nog
redelijk traag en wisten we nog niet goed wat we wilden vertellen. Hierdoor hebben we de afspraak gemaakt om de review 3 dagen van te voren al uit te werken, zodat Regterschot Racing snel en duidelijk kan zien wat er gedaan is.
Na de review zal er ook nog een retrospective plaatsvinden, waarin de groep elkaar feedback geeft en terugblikt naar de afgelopen sprint. Door IPV's in te vullen, kan er handig feedback naar voren komen op een anonieme en ook professionele
manier. Deze IPV's worden meestal via de GEIN methode ingevuld, zoals we dit hebben geleerd bij de professional skills lessen. Voor de eerste paar sprints hadden we de IPV's met een korte versie ingevuld die alleen wat zeggen over de projectbijdrage, zie bijlage IPV rapport sprint 1. We hadden besloten om een keer de wat langere versie te kiezen, zodat we meer gedetailleerd feedback konden geven. Dit bleek effectief te zijn, aangezien iedereen wist waar de problemen precies lagen. Er werd ook meer feedback gegeven, wat ook nuttig is, zie bijlage IPV rapport sprint 3.
Voor elke sprint hadden we een andere scrummaster gekozen. Deze scrummaster begeleidt het team door het proces heen en houdt overzicht over de taken. Aangezien we vijf sprints hebben, komt dus bijna iedereen aan bod. Alleen Martin was geen scrummaster, omdat hij de chef de mission was, dat betekent dat hij de product begeleider moet blijven informeren over de stand van zaken en anders twee rollen op zich zou moeten nemen..
Na mijn idee hebben we al de scrum regels de laatste paar sprints goed toegepast. De sprintplanning ging steeds beter, omdat we doorhadden hoe we dit goed konden doen. We gaven de taken specifieke namen, zodat het duidelijker was wat de taken inhielden. Het aantal uren per sprint werd ook beter ingeschat, dit is te zien door te kijken naar de burndown chart per sprint, zie bijlage burndown charts. Hoewel de eerste drie sprints nog niet goed verliepen, kwam dit vooral door de slechte toepassing van de sprintplanning. Tijdens sprint 4 bleek dat de broker meer tijd zou kosten dan origineel ingeschat, waardoor we de sprint net niet hadden gehaald. De rest van de taken tijdens sprint 4 waren wel goed ingeschat en daarom vind ik het toch een verbetering.
Figuur 1: Scrum procesverloop (HAN University of Applied Sciences [HAN], z.d.)
Rollen
Rol scrum master
In sprint 1 was ik scrum master, dit betekende dat ik overzicht moest houden op de taken en wat er gebeurd moet worden voor de eerste sprint.
Zelf merkte ik al snel dat ik als scrum master vaak de leiding kreeg over beslissingen buiten wat een scrum master moet doen. Als scrum master heb je namelijk de taak om te begeleiden, maar dat werd al snel leiden. De leiding nemen is niet iets wat ik graag wil doen, dus dit vond ik wel jammer. Hoewel ik dit niet leuk vind om te doen, is het toch belangrijk dat er een iemand is die het team begeleidt. Zelf had ik het gevoel dat ik als scrum master niet goed genoeg was. Bij het begeleiden van mensen, werd mijn advies bijna tot helemaal niet opgevolgd. Dit kwam meestal omdat andere teamleden een andere visie hebben over hoe ze bepaalde acties moeten uitvoeren. Dit leidde vaak tot een discussie, wat niet mijn bedoeling was. In het eerste IPV (zie bijlage IPV rapport sprint 1) is wel gezegd dat ik een goede scrum master was en kreeg ik twee plussen voor het bezig zijn met het maken van afspraken. Dit verbaasde mij wel een beetje, aangezien ik dus zelf vond dat ik niet goed genoeg was als scrum master. Naast het feit dat ik scrum master was, was ik vooral bezig met het reviewen van taken en het verbeteren van werk. Ik heb zelf in de eerste sprint nog niet veel uitgevoerd voor mijn eigen taken. Dit vond ik ook jammer, want zelf wilde ik ook bezig gaan met het schrijven van een verslag, maar iedereen was al bezig met een verslag en ik moest daardoor het SDD en SRS opzetten, waardoor ik alsnog wel nuttig bezig was, maar niet veel deed aan onderzoeken. Na het bekijken van mijn feedback in sprint 2, zag ik dat veel mensen hadden opgemerkt dat ik wat minder aan het woord was en wat minder de leiding nam. Dit gebeurde omdat ik niet meer scrummaster was. Daarom had ik besloten om toch wat meer “de leiding” te pakken. Hiermee bedoel ik niet zo zeer dat ik zei wat iedereen moest doen, maar meer iedereen aan wilde sturen wat ze kunnen doen en wat er nog gedaan moest worden. Ik had het gevoel dat dit nodig was, aangezien er veel tijd in de vorige sprint verloren ging aan afleidingen en het verkeerd handelen van taken.
Rol architect
In het afgelopen project startte ik vaak discussies. Deze discussies zorgden ervoor dat het voor mij helder was of alles nog met elkaar overeen kwam en of het werk efficiënt verricht werd. Tijdens IPV gesprekken is deze rol vaak benoemd als de "architect". Tijdens dit project hield ik het SDD en SRS steeds meer in de gaten. Dit heeft ook te maken met mijn leerdoel van deze periode. De architect heeft als verantwoordelijkheid om een overkoepelende blik te hebben over de gehele architectuur. De rol werkt strategieën uit en benoemd de risico's die hierbij horen (GmbH, z.d.). Een paar skills die bij deze rol hoort is een sterke communicatie hebben en goed kunnen onderhandelen. Dit heb ik in het project vaak gedaan. Hoewel mijn communicatie beter kan, weet ik vaak de risico's te benoemen in iemands werk met onderbouwde argumenten.
Competenties
In dit hoofdstuk leg ik uit welke beslissingen ik heb genomen die hebben gezorgd voor een actieve bijdragen van dit project. Hierbij wordt gekeken naar welke overwegingen ik heb gemaakt en of deze beslissingen juist waren.
Competentie OOSE P-04: Het documenteren en ontwerpen van de software, met behulp van UML-diagrammen.
Voor de create tab functie, heb ik de system sequence diagram opgesteld. Voor login en create tab heb ik de normale sequence diagrams gemaakt (login sequence diagram, create tab diagram). Deze sequence diagrammen dienen als uitleg van de code. In het begin van het SDD heb ik de opzet voor het Design Class diagram gemaakt. In het design class diagram heb ik alle blauwe vakjes, ofwel dependencies, genoteerd en verbonden met de juiste klassen. Ik heb ook het hele SDD meerdere malen gereviewed, dit is allemaal te zien op JIRA. Door deze diagrammen te maken heb ik geleerd om meer gestructureerd te coderen. Ik heb mezelf voorgenomen om bij een aantal stukken code eerst de sequence diagrams te maken, zodat het coderen makkelijker zou verlopen. Hoewel de verandering niet heel significant was, vond ik het wel fijn dat ik in ieder geval een diagram had waarbij ik de richtlijnen voor mijn code kon vinden. Dit laat toch zien dat het wel belangrijk is om de sequence diagrams van tevoren te maken.
Competentie OOSE P-05: De student implementeert een gedistribueerd systeem, evalueert het ontwerp en de realisatie en zorgt voor traceerbaarheid tussen dit en de functionele en niet functionele eisen.
Competentie OOSE P-07: De student bewaakt de kwaliteit van de software door reviews en gestructureerd testen.
Leerdoelen
Voor dit project bedenk ik een aantal leerdoelen waar ik mij aan wil houden. In dit hoofdstuk behandel ik de opgestelde leerdoelen en situatiebeschrijvingen. Als laatst laat ik mijn kernkwadranten zien voor dit project.
Leerdoel 1: Het efficiënter werken aan taken, door meer tijd te besteden aan het ontwerpen.
Dit leerdoel heb ik gekozen, omdat in het vorig I-Project ik te weinig bezig was aan ontwerpen van bijvoorbeeld code.
Hierdoor moest mijn code vaak verbeterd worden, waardoor er te veel tijd verloren ging. Ik zou dit doel graag willen halen, zodat dit minder tijd verspilt voor mij
en de groep.
Dit leerdoel kan ik bereiken door:
- Meer te werken aan het technisch ontwerp, zodat ik van tevoren een duidelijke visie heb op wat ik wil coderen.
- De opdracht beter doorlezen en verdelen in sub-taken, zodat er een overzicht is van de taken.
- Regelmatig anderen mijn code laten reviewen, zodat latere fouten op tijd gezien kunnen worden.
Leerdoel 2: De mening van andere meer toenemen in mijn werk, zodat er een beter product kan ontstaan.
Dit leerdoel heeft te maken met het realisme kernkwadrant. Dit leerdoel heb ik gekozen, aangezien ik vaak dingen alleen op mijn manier doe en niet op iemand anders manier. Dit maakt het werk meestal wel realistisch, maar niet ideaal.
Om dit leerdoel te halen heb ik een aantal stappen bedacht die ik kan doorlopen.
- Regelmatig vragen voor een 2e blik op mijn werk, wanneer ik denk klaar te zijn met mijn taak.
- Zorgen voor een goed overleg als meningen verschillen, hierbij vragen stellen zoals: "Waarom vind je dit?" of "Hoe sta jij hierin?".
- Als er iets is wat we allemaal moeten doen, dan kan ik vragen hoe een ander dit heeft aangepakt en deze aanpak kan ik dan eventueel opnemen in mijn werk, als dit goed beargumenteerd is.
Conclusie leerdoelen
Leerdoel 1: Het efficiënter werken aan taken, door meer tijd te besteden aan het ontwerpen.
Ik heb nog niet veel ontworpen in de eerste sprint, waardoor ik geen tijd heb besteed aan dit leerdoel. Er is ook niet veel code die gemaakt moest worden deze sprint.
De opdrachten van het JIRA bord waren ook nog niet helemaal goed verdeeld, waardoor ik veel werk kwijt was op een sub-taak, dat eigenlijk meerdere taken konden zijn.
Dit leerdoel was in de tweede en derde sprint nog steeds niet gelukt. Ik ben te vroeg begonnen aan het maken van de loginfunctie. Als ik dit wel had gedaan, had dit veel tijd gekost, waardoor ik echt wil opletten dat ik dit goed ga doen. Voor de volgende sprint/code functie, wil ik eerst het SRS maken. Dit ga ik proberen te onthouden door mijn tijd meer te besteden aan het reviewen van het SRS en SDD, zodat ik de prioriteit van deze documenten goed begrijp. Na het SRS ga ik de bijbehorende sequence diagrams maken en laat ik zorgen dat deze zo snel mogelijk gereviewd zijn. Voordat ik ga werken aan de functionaliteit, laat ik mijn sequence diagrams door twee teamleden reviewen, zodat ik zeker weet dat wat ik heb gemaakt, ook echt de bedoeling is van de opdracht.
Leerdoel 2: De mening van andere meer toenemen in mijn werk, zodat er een beter product kan ontstaan.
Ik heb dit leerdoel niet gehaald in de eerste paar sprints sprint. Ik viel nog te vaak in discussies. Het is niet gek dat ik dit toen nog niet heb gehaald, aangezien het de eerste paar sprints waren en vooruitgang in kleine stapjes gaat. In het IPV rapport van sprint 1 is te zien dat ik dit nog niet heb gehaald door te kijken naar de feedback. Voor de laatste paar sprints moet ik dus een scherper beeld hebben op dit leerdoel en moest ik ervoor zorgen dat ik dit doel niet uit het oog verlies.
Helaas kwam er een discussie (zie bijlage discussie login review) nadat mijn groepsleden mij feedback hadden gegeven. Dit wil ik graag verbeteren, door te zorgen dat ik bij frustraties een paar tellen wacht, voordat ik reageer op een antwoord. Ook zal ik proberen mijn frustratie wat meer weg te lachen. Hiermee bedoel ik dat ik mijn frustratie wat minder serieus moet nemen en moet kijken naar wat ik fout doe om deze frustratie te krijgen. Vooral wil ik hiermee zorgen dat ik niet meer boos wordt om deze voorgevallen.
Kernkwadranten
Een kernkwadrant laat in een oogopslag wat iemand zijn: valkuil, uitdaging, allergie en kernkwaliteit is.
Kernkwadrant Bespraaktheid:
Kern kwaliteit | Valkuil | |
---|---|---|
Bespraaktheid | -> | Breedvoerigheid |
/\ | I | |
Allergie | Uitdaging | |
Kortafheid | <- | Bondigheid |
Kernkwadrant Realisme
Kern kwaliteit | Valkuil | |
---|---|---|
Realisme | -> | Materialisme |
/\ | I | |
Allergie | Uitdaging | |
Zweverigheid | <- | Idealisme |
Conclusie
Afgelopen sprints heb ik geleerd om het perspectief van anderen te begrijpen. Ik mag het dan misschien niet eens zijn, maar ik moet anderen toch de kans geven om hun perspectief te leveren en uit te leggen. Ik moet komende sprints vooral werken aan het verdiepen in de beroepstaak. Het testen en bewaken van de software kwaliteit en het ontwerpen van software moet ook meer gebeuren, om zo te voldoen aan de competenties van dit project. Door te werken aan het ontwerpen van software, kan ik mijn leerdoel over het efficiënt werken aan taken ook voltooien.
Factsheet
De factsheet is te vinden op deze pagina.
Bronnenlijst
Documenten die zorgen voor de structuur van het verslag
Titel | Auteur(s) | versie | Verwijzing | Publicatiedatum | Uitgever | Raadpleegdatum | |
---|---|---|---|---|---|---|---|
1. | Alle informatie over het schrijven van je Projectverslag | Team professional skills | 2021-2022 | https://han.onderwijsonline.nl/elearning/lesson/ZyMjPlvD | november 2021 | HAN University of Applied Sciences | 28-11-2022 |
2. | Slagen voor het OOSE project S1 2022-2023 | Michel Koolwaaij | 1.0 | https://han.onderwijsonline.nl/elearning/lesson/Kqe86W3D | 01-11-2022 | HAN University of Applied Sciences | 01-12-2022 |
Documenten die inhoudelijk gebruikt worden
- Praktijkbureau AIM. (2022). Toelichting plan van aanpak. In Onderwijs Online. HAN University of Applied Sciences. Geraadpleegd op 2 november 2022, van https://han.onderwijsonline.nl/elearning/lesson/Kqe86W3D
- HAN University of Applied Sciences [HAN]. (z.d.). Les 5 wk_5_OOSE_Methode en planning_2022-2023_stud [Presentatieslides; Website]. OnderwijsOnline. https://han.onderwijsonline.nl/elearning/lesson/pNWX2Z9y
- Sonarqube. (2022, 5 december). SonarQube. Geraadpleegd op 13 januari 2023, van https://sonarqube.aimsites.nl/dashboard?id=nl.han.oose.smalltalk
- GmbH, L. (z.d.). IT Architects: Types, Roles, and Skill Sets | LeanIX. LeanIX. Geraadpleegd op 13 januari 2023, van https://www.leanix.net/en/wiki/ea/it-architects?utm_term=it+architect
- Scharwächter, V. (2022, 20 december). Discussie schrijven voor je scriptie | Inclusief voorbeeld. Scribbr. https://www.scribbr.nl/scriptie-structuur/discussie-scriptie/
Bijlagen
IPV rapport sprint 1
IPV rapport sprint 2
IPV rapport sprint 3
Burndown charts
Situatiebeschrijvingen
Situatie: Discussie login review
In sprint 2 was er een discussie begonnen over hoe de loginfunctie veranderd moest worden. Dit gebeurde na het reviewen van mijn taak. Wijnand en Bram waren mijn stukje code aan het reviewen en zagen dat er een aantal aanpassingen gedaan konden worden. In dit geval ontving ik dus feedback en gaven Bram en Wijnand hun feedback. Ik had verwacht dat ik mijn code nog wel wat had moeten aanpassen, want ik zal best een paar dingen over het hoofd hebben gezien. Ik kreeg mijn feedback terug en besloot de aanpassingen die zij hadden toegelicht te implementeren, zodat ik klaar zou zijn met het maken van de login. Mijn frustratie over het maken van deze loginfunctie lag hoog, want ik zat al boven de geschatte tijd in en wilde graag bezig zijn met andere competenties. Na het verbeteren had ik aangegeven dat mijn stukje code verbeterd was en weer klaar was om gereviewed te worden. Dit keer verliep het alleen anders. Veel van wat ik net moest veranderen aan mijn code, moest weer op een andere manier gedaan worden dan bij de vorige review was aangegeven. Dit ging vooral over het geven van tokens en het hashen van een wachtwoord. Ik was hier boos om geworden, omdat ik weer tijd had besteed aan een stukje code, om vervolgens te horen dat het weer anders moest. Aangezien ik deze sprint al vaker problemen had gehad met de loginfunctie, besloot ik dat ik wilde stoppen met het maken van deze code, aangezien ik er niet meer onderuit kwam. Dit deed ik alleen op een best wel boze manier en dit had ik anders kunnen aanpakken. Als ik mijn frustratie had uitgelegd en gevraag om een oplossing, dan was dat een betere optie geweest, dan het werk verschuiven naar iemand anders. Ik dacht dat door mijn werk naar iemand anders te verschuiven, er een teamlid zou zijn die er meer van wist en het dus sneller af zou maken. De groep had aangegeven in het IPV dat dit wel anders gehandeld had kunnen worden, waarbij ik het ook mee-eens ben. Ik had niet boos moeten worden en naar oplossingen moeten zoeken.