GitHub

Kwaliteit en samenwerking

Bij Connect Holland werken we aan diverse softwareprojecten. Omdat verschillende scrumteams tegelijkertijd bezig zijn met complexe materie moeten we zorgen dat dit makkelijk verloopt terwijl tegelijkertijd de kwaliteit hoog blijft. De uitdaging is om de juiste gereedschappen te vinden om al deze mensen op een goede manier met elkaar te kunnen laten samenwerken.

Ons ontwikkelproces

Een belangrijke onderdeel van ons proces is GitHub, een omgeving waarin groepen van mensen samenwerken aan software. Wat GitHub zo’n aantrekkelijke keuze maakt? Ten eerste omdat het gebruik maakt van git. Dit versiebeheersysteem is decentraal, wat betekent dat iedere developer overal beschikking heeft over de volledige code van een project, inclusief de hele geschiedenis met elke wijziging die ooit is gemaakt. Op GitHub staat het hoofd-repository van elk project.

Ons ontwikkelproces werkt zo:

  • Het project wordt gestart. Dit kan een gloednieuw project zijn, of een doorontwikkeling op een bestaand project.

  • Iedere ontwikkelaar binnen het projectteam maakt een kopie van het hoofd-repository in hun eigen ontwikkelomgeving, waarin zij de nieuwe functionaliteiten gaan schrijven.

  • Als een ontwikkelaar een stuk functionaliteit af heeft, maakt hij of zij een ‘Pull Request’ en wijst die aan iemand anders toe. Deze reviewer controleert de nieuw geschreven code en schrijft opmerkingen in een review.

  • Ondertussen worden de automatische taken uitgevoerd, zoals het draaien van Unit Tests en code checks.

  • Als het nodig is maakt de ontwikkelaar aanpassingen.

  • Nadat de wijzigingen zijn goedgekeurd, worden ze toegevoegd aan de ‘master’.

  • Op basis van deze master wordt er een nieuwe release gemaakt, en op de acceptatie- of productieomgeving gezet.

Dit proces verzekert dat er meerdere personen naar de code kijken, de kans klein dat er fouten gemaakt worden is minimaal.

Opensource- en interne projecten

Met GitHub kun je naast interne projecten ook openbare projecten maken. Hierdoor is het eenvoudig om zelf opensourceprojecten te starten of om bij te dragen aan bestaande. De openbare projecten van Connect Holland zijn te vinden op https://github.com/ConnectHolland. Een mooi voorbeeld van een opensourceproject dat gesteund wordt door Connect Holland is Accompli (https://github.com/accompli); een tool voor Automated Deployment die we gebruiken om wijzigingen in de code op een makkelijke manier uit te rollen naar onze acceptatie- en productieservers. De publieke projecten in GitHub zijn - de naam zegt het al - openbaar, dus iedereen kan makkelijk een verbetering voorstellen. Voor interne projecten is het ook eenvoudig om de juiste autorisatie toe te kennen (in teams), zodat alle ontwikkelaars bij Connect Holland de juiste code kunnen zien en aanpassen.

En meer!

Want dat waren nog niet eens alle voordelen. Je kunt GitHub ook integreren met andere tools, zoals bijvoorbeeld Jira, waarmee je de softwareontwikkeling in het volledige werkproces opneemt. Two-factor authentication zorgt voor veiligheid. GitHub is de de-facto standaard voor open source, waardoor nieuwe collega’s meestal al bekend zijn met hoe het werkt. En ten slotte: je bespaart veel tijd en moeite omdat je zelf niet meer de hosting en back-ups voor de code hoeft te regelen.