Planning voor elke sprint.

Het team houdt een planning bij om zowel onszelf als de opdrachtgever op de hoogte te houden over wanneer of wat verwacht kan worden en uiteraard of we op planning lopen. Hiervoor maken we gebruik van een aantal scrum-artefacten. Via deze post ga ik de artefacten kort toelichten en de planning daarvan weergeven.

Sprint Planning.
Het werk dat uitgevoerd moet worden tijdens een Sprint wordt gepland tijdens de Sprint Planning.Het maken van dit plan is een gezamenlijke inspanning van het gehele Scrum Team.

De Sprint Planning vindt aan het begin van elke sprint op de woensdag om 11:00 plaats.

Dagelijkse Scrum.
De Dagelijkse Scrum is een 15-minuten-timeboxed gebeurtenis voor het Ontwikkelteam.

De Dagelijkse Scrum vindt elke dinsdag, woensdag en donderdag  plaats van 11:45 – 12:00

Sprint review.
Een Sprint Review wordt gehouden aan het einde van de Sprint om het Increment te inspecteren en indien nodig de Product Backlog aan te passen. Increment is het product dat het Scrum team aan het einde van een sprint oplevert. Het product moet aan de afgesproken Definition of Done voldoen.

De sprint reviews vindt aan het eind van elke sprint op de woensdag plaats om 14:30 

Retrospective.
De Sprint Retrospective is een kans voor het Scrum Team om zichzelf te inspecteren en een plan te maken om zichzelf gedurende de komende Sprint te verbeteren.

De Retrospective vindt aan het eind van elke sprint op de donderdag plaats om 14:30 

Uitslagen Donderdag 18 oktober

Duo competitie

WedstrijdenTeam RoodTeam BlauwUitslag
Wedstrijd 1Ken &  JoeyMarvin & Jeffrey8 – 3
Wedstrijd 2 Ken &  MarvinJoey & Jeffrey2 – 8
Wedstrijd 3Ken &  JeffreyJoey & Marvin8 – 6

Solo competitie

WedstrijdenSpeler RoodSpeler BlauwUitslag
Wedstrijd 1JoeyKen5 – 8
Wedstrijd 2JoeyJeffrey8 – 7
Wedstrijd 3JoeyJeffrey7 – 8

Uitslag Woensdag 17 oktober

Duo competitie

WedstrijdenTeam RoodTeam BlauwUitslag
Wedstrijd 1Ken &  JoeyMarvin & Jeffrey6 – 8
Wedstrijd 2 Ken &  MarvinJoey & Jeffrey4 – 8
Wedstrijd 3Ken &  JeffreyJoey & Marvin8 – 2

Solo competitie

WedstrijdenSpeler RoodSpeler BlauwUitslag
Wedstrijd 1JoeyJeffrey4 – 8

Definition of Done

Een Definition of Done is een checklist aan eisen die gesteld worden voordat een user story als “done” kan worden gemarkeerd. Het development team en de Product Owner gebruiken de DoD, omdat het een scrum-artifact is.

Checklist:

  • Alle geschreven UNIT-tests moeten slagen
  • Mits er extra eisen zijn voor het uitvoeren van de code moet hier een stapsgewijze gids voor zijn op de Wiki in Gitlab
  • Bibliotheken moeten voorzien zijn van documentatie met voorbeelden op de Wiki in Gitlab
  • Naamgeving van variabelen moet duidelijk zijn
  • Structuur moet overzichtelijk zijn
  • Er moet een goedkeuring zijn van een ander teamlid binnen het developmentteam (Joey en Jeffrey)
  • De aparte branch in Gitlab moet gemerged zijn met de “master”-branch
  • De Product Owner moet het resultaat accepteren tijdens de sprint demo

Sprint verlengen

Het team heeft afgelopen maandag 15 oktober een consultmoment gehad met Edwin Hennipman en Wouter Leenards (begeleiders vanuit Windesheim). Daar hebben we het over de voortgang van het project gehad, de belemmeringen waar we tegen aan lopen en hoe we daarmee om gaan.

Ook hebben we het over de sprint reviews gehad, deze eindigen bij ons altijd op donderdag, maar de vrije dag van onze Product Owner is altijd op de donderdag. In overleg met de begeleiders zijn we tot de oplossing gekomen om de sprint waarin we nu zitten te verlengen tot woensdag en dit dan aan te houden.

GitLab

Wij hebben ervoor gekozen om GitLab te gebruiken als hulpmiddel voor Scrum en het project in het algemeen. Wij hebben voor GitLab gekozen, omdat dit een handig all-in-one pakket is waarin user stories gekoppeld kunnen worden aan issues binnen de repositores.

In gitLab hebben wij een project aangemaakt genaamd Cinnovate, dit project is onderverdeeld in onze 3 repositories:

  • GUI (nuxt project)
  • Sensor (C++ project)
  • Socket Server (C# project)

In gitLab is het mogelijk om een Product Backlog aan te maken met user stories. Deze user stories zijn inzichtelijk per repository, maar kunnen ook als geheel bekeken worden in het Cinnovate project. Bij het toewijzen van een user story kan er automatisch een nieuwe branch worden aangemaakt. Na het voltooien van een user story kan de branch, na controle en goedkeuring van de code, gemerged worden met de hoofdbranch.

Scrum

Wij hebben ervoor gekozen om scrum te gebruiken als projectmethodiek. Wij hebben hiervoor gekozen omdat wij deze methodiek op school hebben geleerd en gedurende het tweede schooljaar al gebruik hebben gemaakt van Scrum tijdens het comakership. Daarnaast wordt binnen Cinnovate ook gebruik gemaakt van Scrum.

De voordelen van scrum ten opzichte van een methode zoals Prince2 is dat je in korte sprints werkt. Hierdoor heb je regelmatig oplevermomenten waardoor de product owner altijd op de hoogte is van de voortgang. Dankzij de vele contactmomenten met de product owner is het makkelijker om een product op te leveren waar de product owner achter staat. Aan het eind van elke sprint zullen wij een retrospective houden waarin wij binnen het team zullen bespreken hoe de sprint is verlopen. Wij zullen hierin bespreken waarom user stories niet behaald zijn, zodat deze problemen in volgende sprints verbeterd/voorkomen kunnen worden.

Hierbij zal onze opdrachtgever, Sander Kolkman de rol van Product Owner innemen, Ken Cheung zal de Scrum Master zijn en zal de rest van het team de rol van Development Team op zich nemen.


C++

Om gegevens uit de sensor te halen heeft Xethru een Module Connector beschikbaar gesteld. Helaas is hiervoor alleen een binaire C++ library voor beschikbaar. Deze C++ library kan alleen worden gebruikt in combinatie met de GNU C++ Compiler. Dat betekent dat we geen gebruik kunnen maken van Microsoft Visual C++ of Visual Studio. In plaats daarvan moeten we gebruik maken van MinGW, een ontwikkelomgeving voor de GNU Compiler Collection voor Windows.

We hebben besloten JetBrains CLion te gebruiken als onze IDE, onder andere omdat deze MinGW ondersteunt en we al gebruik maken van de andere IDE’s van JetBrains voor onze backend (Rider) en frontend (WebStorm).



Sensor Development Kit vs Respiration Sensor

Bij de aanvang van de comaker hadden we de Xethru Sensor Development Kit tot onze beschikking. Wij zijn ermee begonnen door deze kit aan te sluiten en de bijbehorende Xethru Explorer software op onze laptops te installeren. Daaruit bleek dat deze sensor kit alleen ruwe (radar)gegevens naar de laptop stuurt.

Wij hebben op het internet, via zoekmachines en de Xethru website, gezocht over hoe we zelf een ademhalingsritme kunnen detecteren. We hebben toen ontdekt dat deze sensor kit bedoelt is om zelf een sensor te ontwikkelen aan de hand van de teruggestuurde radio impulsen, door zelf eigen algoritmes te programmeren op de sensor zelf. Hiervoor is grondige kennis van natuurkunde en digitale signaalverwerking voor nodig. Voor ons doel zouden we ook nog kennis moeten hebben over hoe we uit deze ruwe gegevens een ademhalingsritme kunnen halen.

Xethru blijkt ook een kant-en-klare variant te hebben, de Respiration Sensor. Deze kan zonder zelfontwikkelde algoritmes een ademhalingsritme detecteren.

We hebben eerst nog geprobeerd de firmware voor de 
Xethru Respiration Sensor op de Sensor Development Kit te programmeren. Dit blijkt niet mogelijk te zijn, onder andere omdat de firmware controleert of er een bepaalde sleutel aanwezig is op de sensor, die de Respiration (en de Presence) Sensor vanuit de fabriek meekrijgen.

Dit hebben we aangekaart bij onze product owner, Sander. We hebben hierna de Respiration Sensor besteld bij Xethru.

2 weken later was de Respiration Sensor binnen. Toen we deze aan onze laptops hadden verbonden konden we met het programma Xethru Explorer wel al een ademhalingsritme detecteren.

We gaan dus gebruik maken van deze Respiration Sensor voor de rest van het project.

Uitslagen Dinsdag 16 oktober

Duo competitie

WedstrijdenTeam RoodTeam BlauwUitslag
Wedstrijd 1Ken &  JoeyMarvin & Jeffrey4 – 8
Wedstrijd 2 Ken &  MarvinJoey & Jeffrey2 – 8
Wedstrijd 3Ken &  JeffreyJoey & Marvin8 – 6

Solo competitie

WedstrijdenSpeler RoodSpeler BlauwUitslag
Wedstrijd 1MarvinKen6 – 8
Wedstrijd 2MarvinJeffrey2 – 8
Wedstrijd 3KenJeffrey0 – 8
Wedstrijd 4KenJeffrey0 – 8
Wedstrijd 5KenJoey4 – 8
Wedstrijd 6KenJoey1 – 8