Examen Projectmanagement
Wat Moet Je Kennen
Deel 1: Versiebeheer, Git en GitHub
- Je kan het belang van versiebeheer uitleggen.
- Je kent de verschillende toestanden waarin een bestand in Git zich kan bevinden en de transities ertussen (lifecycle).
- Je weet wat de volgende termen betekenen en waar ze voor dienen:
diff,.gitignore, clonen, remote,push,pull. - Je kan de verschillende soorten uitput van het
git statuscommando interpreteren. (enkel de voorbeelden uit de les!) - Je kent het verschil tussen gecentraliseerd en gedistribueerd versiebeheer.
- Exacte syntax van
gitcommandos moet je niet vanbuiten kennen! - Je kent het verschil tussen Git en GitHub.
- Je begrijpt hoe commits met elkaar verbonden zijn en zo een commit tree vormen. Je kan een commit tree interpreteren.
- Je weet wat de volgende termen betekenen en waar ze voor dienen: branch, commit, fast-forward merge, merge conflict.
- Je kent het verschil tussen een fast-forward merge en een true/3-way merge.
- Je weet hoe je een merge conflict kan oplossen.
- Je weet wat de volgende termen betekenen en waar ze voor dienen: feature branch, pull request.
- Rebase moet je niet kennen.
- Je kan met een GitHub repo werken. Clonen, pullen, pushen, een PR openen, enz. Dit moet je niet vanbuiten kennen.
Deel 2: Scrum en Agile
- Je kan uitleggen wat Agile en Scrum zijn en waarom deze ontstaan zijn.
- Het Agile Manifesto en de Scrum principes moet je niet vanbuiten kennen.
- Je kent de verschillende Scrum rollen en kan deze (beknopt) uitleggen: Product Owner, Scrum Master, Development Team.
- Je kent de verschillende Scrum activiteiten en kan deze (beknopt) uitleggen: Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective.
- Je weet wat de Product Backlog en Spring Backlog zijn.
- Je begrijpt ook volgende termen: User Story, Backlog Grooming, Definition of Done, Planning Poker, Velocity
- Je kan een eenvoudig Project maken in GitHub en daarin Issues aanmaken die Product Backlog Items voorstellen. Dit moet je niet vanbuiten kennen.
Deel 3: CI/CD en TDD
- Je weet waar TDD voor staat en kan het basisconcept van TDD uitleggen.
- Je kan uitleggen wat refactoren is.
- Je kan de voor- en nadelen van TDD herkennen en van elk minstens 1 opnoemen.
- Je weet waar CI voor staat en kan het basisconcept van CI uitleggen.
- Je weet waar CD voor staat en kan het basisconcept van CD uitleggen.
- Je kan een CI pipeline opzetten met GitHub Actions. Dit moet je niet vanbuiten kennen.
Overzicht Examen
Het examen bestaat uit 2 delen:
Deel 1: Theorie
Het eerste deel is theoretisch en “gesloten boek” (op papier). Je krijgt een reeks multiple-choice vragen en een paar open vragen. Als je klaar bent en dit deel hebt afgegeven mag je direct aan deel 2 beginnen.
Voorbeeld
- De product owner bepaalt de volgorde van de features die gebouwd worden. Hij/zij deelt zijn beslissing daaromtrent mede tijdens de sprint meetings zodat het team de planning correct kan doen.
- Waar
- Niet waar
- De TDD ontwikkelingscyclus wordt beschreven als
- Refactor-Red-Green
- Red-Green-Refactor
- Test-Refactor-Fix
Welke informatie kan je afleiden uit de volgende git status? Wat gebeurt er als je nu git pull uitvoert? Kan je een merge conflict krijgen?
$ git status
On branch main
Your branch is behind 'origin/main' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working tree cleanDeel 2: Praktijk
Deel twee is toegepast en “open boek”. Je krijgt een reeks opdrachten die je met je laptop uitvoert. Je mag dus alles gebruiken - de cursus, Google, AI, …
Voorbeeld
- Maak een lokale clone van een gegeven GitHub repository.
- Voer een aantal opgegeven aanpassingen uit.
- Commit de veranderingen op een nieuwe feature branch en push deze naar GitHub.
- Open een Pull Request.
- Maak een nieuw Project in GitHub en maak Issues aan voor 3 User Stories voor een opgegeven nieuwe feature