Release day @jodiBooks

2018 September 55 min read
Joep van de Laarschot

Wat is een release en wat doen we dan precies?

Het doel van jodiBooks is om de financiële administratie voor zelfstandigen zo simpel mogelijk te maken. Maar wel op zo een manier dat zij het zelf kunnen doen. Hiervoor maken wij software, in de vorm van een website.

Onderhoudsmelding op de homepage

Wij zijn nog volop bezig met het ontwikkelen, bouwen en verbeteren van deze website. Hij is dus nog lang niet af. Je kunt dan twee dingen doen:

  1. Door blijven bouwen totdat het af is.
  2. Iets online zetten dat al bruikbaar is en later updaten.

Doorgaan totdat het af is

In een ideale wereld zou dit de mooiste manier zijn. De klant heeft meteen een compleet en goedwerkend product. En wij hebben geen stress meer met bugs en updates. Er zijn echter 3 redenen waarom dit niet werkt (de wereld is niet ideaal):

  1. Software nooit af. Je kunt oneindig door blijven sleutelen, waardoor je klanten dus nooit iets gaan krijgen.
  2. Je kun je nooit alle bugs (fouten) voorspellen. Dus zodra je je product vrijgeeft, gaan er toch onverwachte dingen stuk.
  3. Je krijgt geen feedback. Hoe weet je of je klanten inderdaad blij zijn met wat je aan het maken bent?

Zo snel mogelijk iets online zetten

Daarom hebben wij ervoor gekozen om zo snel mogelijk onze producten (XS, S, M) online te gaan zetten. De eerste keer dat je dit doet, geef je de software vrij. Je 'released' de software, ofwel je 'doet een release'.

Het grote nadeel is dat je, zeker in het begin, vaak updates moet doen. Bij zo'n update wordt de code van de software gewijzigd en is dus een nieuwe release nodig. Oftewel, iedere keer als wij de website platgooien, doen we een release; een update van de code.

Tijdens zo'n update kunnen onze klanten geen gebruik maken van jodiBooks. Dat is zeker niet ideaal, maar wij vinden het belangrijk dat bugs zo snel mogelijk worden opgelost en dat klanten snel nieuwe features kunnen gebruiken. Zo weten we meteen of we iets maken waar ze iets aan hebben.

Releaseschema

Om de overlast voor onze klanten zo klein mogelijk te houden, doen we een release op een rustig tijdstip: zaterdagavond tussen 10 en 12. Normale mensen zijn dan leuke dingen doen, wij sluiten ons op in een klein kamertje om te werken...

We doen zo'n update niet iedere week. We hebben besloten om het iedere twee weken te doen. Zo hebben we genoeg tijd om nieuwe dingen toe te voegen, maar zijn we niet te veel tijd bezig met het updaten zelf.

Het releaseschema hebben we met onze bestaande klanten gedeeld via e-mail, maar is ook terug te vinden op onze website en Facebookpagina.

Releasevoer

Plan

Om een release zo soepel mogelijk te laten verlopen, en ervoor te zorgen dat we op tijd naar bed kunnen, hebben we een releaseplan geschreven. Het plan bestaat uit 3 delen:

  1. Op vrijdag wordt alle code afgerond en ingecheckt. Alle automatische test worden, … automatisch, gedraaid.
  2. De zaterdagochtend en -middag zijn helemaal vrijgemaakt om te testen en dingen te repareren die hierbij naar boven komen. Ook wordt overdag alles voor de release klaargezet.
  3. 's Avonds wordt de release gedaan. We zetten de chips en cola klaar en de website gaat even dicht.

De eerste twee punten worden vrijwel helemaal door Diana gedaan. Ik word er alleen bijgehaald als er een fout wordt ontdekt die niet zo makkelijk is op te lossen. Niet dat ik hem kan oplossen, maar we bespreken dan samen wat we gaan doen. Een quick-fix? Uitstellen tot de volgende release? De release afblazen?

Ook klik ik de website door, op zoek naar fouten die Diana niet meer ziet. Het maakt echt uit of je de hele dag in je eigen code zit en die gaat testen. Of dat je zoals ik, of welke gebruiker dan ook, de website "gewoon" wilt gebruiken. We hebben zo al enkele fouten eruit gevist voor de release.

Teamwork

Punt 3 doen we samen. Door het samen te doen, kan Diana zich focussen op het echte werk en hou ik bij of we netjes het stappenplan volgen. Diana is namelijk een ontzettende sloddervos, die allerlei dingen tegelijk gaat lopen doen en er dan een zootje van maakt. 
Ook ben ik er ook meteen bij om weer mee te denken over de quick-fix, uitstel of afblazen als er dan toch nog een fout ontdekt wordt.

Door het samen te doen, leven we er ook samen naartoe. We hebben dan twee dagen lang hetzelfde doel: een succesvolle release. Een met weinig problemen voor ons en minimale overlast voor onze klanten. We beginnen altijd met zijn tweeën, maar krijgen al snel afleiding, ik bedoel hulp.

Het jodiBooks team tijdens een release