Om phpro.be nog beter te maken, gebruiken wij functionele en analytische cookies.
Wil je meer weten over de cookies? Klik dan op de knop "Voorkeuren".
Nieuws
Projectaanpak fase 5: Het bouwen van de webshop
Development
Best of both: Mix van waterval en SCRUM
In deze fase stellen we voor om tijdens de ontwikkeling te werken volgens een mix tussen de klassieke waterval methode en Agile/SCRUM. Zo werken we om de twee weken naar een nieuwe release toe: het zogenaamde potentially shippable product, ook wel “Minimum Viable Product” (MVP) genoemd.
Dit betekent dat we elke twee weken functionaliteiten kunnen opleveren die potentieel klaar zijn om naar productie te gaan. Deze werkwijze zorgt ervoor dat het mogelijk is om sneller in te spelen op verandering in Agile omgevingen.
In de tussentijd leveren we demo’s van de applicatie af zodat je altijd een beeld hebt van de vooruitgang van het project. De testfase wordt op deze manier niet naar het einde van het project opgeschoven en zo vermijden we onnodige tijdsdruk bij de klant. Tijdens die periode voeren we immers meerdere taken uit zoals:
- Content input
- Content migratie
- Testing
- Bijsturing
- ...
Deze tweewekelijkse releases, ‘Sprints’ genoemd, vind je steeds terug in de gedetailleerde projectplanning en ziet er schematisch als volgt uit:
Alle functionaliteiten, beschreven in het analyse document, vormen de basis voor de product backlog. Die schrijven we uit in user stories. Bij elke sprint voeren we een selectie uit de backlog uit. Bij elke aanvang van een nieuwe sprint maken we zo’n selectie. Op het einde van de sprint leveren we de nieuwe functionaliteit op zodat we steeds richting de MVP/nieuwe release werken.
Development traject
Starten doen we met de globale analyse: daarin ligt de basis om het platform te ontwikkelen. Verschillende delen van het proces kunnen gelijktijdig lopen om de efficiëntie te verhogen. Zo is er voldoende ruimte om ideeën en deelresultaten te herhalen.
Grafisch stellen we de daaropvolgende stappen binnen het development traject als volgt voor:
We vertrekken van het materiaal uit de voorgaande fase:
- Wireframes
- Uitgewerkte design- en styleguide
- Input uit het analyse document
- Het gekozen thema
In de development fase werkt elke ontwikkelaar met een volledig lokale (op eigen werkstation) set-up. Hierdoor werken ontwikkelaars op een efficiënte manier onafhankelijk van elkaar op éénzelfde project. PHPro werkt met portable ontwikkelingsomgevingen zodat de developer zelf geen tijd hoeft te spenderen om nog één op te zetten of af te stellen. Op die manier betrekken we mensen makkelijk bij het project. Daarvoor gebruiken we Docker.
PHPro werkte een eigen systeem uit bovenop Vagrant die in samenwerking met AWS zorgt voor een zeer snelle opstart en inwerking van developers in het team. Een central development server is enkel opgezet en toegankelijk voor PHPro zelf. Die dient om de permanente versie, opgeleverd door verschillende ontwikkelaars, te kunnen gebruiken en uittesten.
Onze ontwikkelaars doen grondige testing van elk van de ontwikkelde componenten op hun eigen omgeving en op de development server. De versie op de testomgeving staat ter beschikking van de projectmanager en de testers. De klant heeft een acceptatie server voor functionele testen en acceptatietesten.
Versiebeheer
Versiebeheer, het vormt een integraal deel van onze werking: de initiële development set-up vormt ook de bron voor het versiebeheersysteem. PHPro gebruikt hiervoor het populaire bitbucket systeem.
Eerst worden wijzigingen die ontwikkelaars doen op hun lokale systeem ingecheckt in het versiebeheersysteem (bv. upgrade naar nieuwe versie, toevoegen/upgraden module, aanpassingen code, alle elementen betreffende grafische lay-out). Daarop kunnen andere ontwikkelaars deze wijzigingen dan weer importeren en voortwerken op een permanente/geconsolideerde versie.
GrumPHP kijkt de code na op coding standaarden voordat de ontwikkelaars hun code toevoegen tot het versiebeheersysteem. Voldoet de code de standaarden niet? Dan moet de ontwikkelaar eerst correcties doorvoeren alvorens zijn/haar code toe te voegen.
De set-up van de test- en acceptatie versie (later ook productie versie) gebeurt ook vanuit de code zoals opgeslagen in het versiebeheersysteem. Bitbucket laat ook tagging toe: aanduiden van een bepaalde versie als een snapshot, met een gestructureerd major. minor. versie nummer of een niet-technische benaming. Op die manier heeft PHPro een duidelijke historiek van intermediaire versies van de software.
Anonimisatie script
Tijdens ontwikkeling en testen is het nuttig en nodig om regelmatig een ‘kopie’ van de productiedata te nemen om daar op te ontwikkelen en te testen. Wij voorzien geautomatiseerde ‘database dump’ scripts die een kopie nemen van de productiedata en de GDPR-gevoelige informatie anonimiseren. Er komt nu geen persoonlijke informatie op de test, acceptatie en lokale ontwikkelomgevingen terecht.
Testen, testen en nog eens testen!
In een pakket bundelen we de ontwikkelingen in elke fase die technisch en functioneel getest worden samen. Die worden vervolgens ingezet op de testomgeving om samen met de web analist en beschikbare vertegenwoordigers van de klant te evalueren. Technische testen omvatten unit- en integratietesten. In Bitbucket wordt alleen een werkende code ingecheckt.
Voor de klant voorziet PHPro momenteel geen automatische testen. Heb je een uitgebreider project? Dan gebruiken we geautomatiseerde Selenium testen. Voor verschillende web- en mobile browsers maken we gebruik van BrowserStack Automate in combinatie met Jenkins. Geautomatiseerde testen voeren we uit op de DEV-server van het project. De analist, projectmanager en/of een toegewijd testprofiel testen de ontwikkeling. Na de uitrol evalueren we elke versie samen met de klant.
Tijdens en na de testfase krijg de klant toegang tot het project management- en bug tracking systeem JIRA. Na de livegang vervalt die toegang. Indien de klant gebruik wenst te maken van deze tool, rekenen we een jaarlijkse kost van €150,00 ex. BTW aan. Die kost vervalt wanneer de klant gebruikmaakt van het support contract. In het support contract zitten licenties van JIRA inbegrepen in de kostprijs.
JIRA registreert onder andere bugs/problemen/vragen. Klanten raadplegen zo op een eenvoudige manier de status van een issue en communiceren via JIRA.
Projectmanagement
Opvolging en transparantie
JIRA wordt ook gebruikt voor de opvolging van de ontwikkeling. Meer informatie: https://nl.atlassian.com/software/jira.
De klant krijgt een account van JIRA, zo is PHPro transparant ten opzichte van de voortgang van development. Op elk moment kan de klant de actuele toestand van elke functionaliteit (issue) opvolgen:
- Workflow
- Omschrijving
- Release
- …
Zowel de klant als PHPro kunnen comments toevoegen aan de issues. Dat betekent: weg met veelvoudig e-mailverkeer. De gebruiker raadpleegt nu steeds de recentste communicatie.
Voorbeeld van een JIRA workflow:
Release management
Binnen PHPro werken we binnen elk project met een professioneel release management. Een “Version” in JIRA komt overeen met een deploy. Dit betekent dat we voor élke deploy een “Version” in Jira terugvinden. Het is de taak van de project manager en technical lead om dit te bewaken.
Elke deploy van de master code naar een productie omgeving moet ook beschikbaar zijn in JIRA als een “version”.
Voorbeeld van versions in JIRA:
Voor de nummering maken we gebruik van Semantic versioning. Dit geeft een duidelijk beeld van wanneer iets naar productie is gegaan en helpt bij het identificeren van problemen die op productie opgemerkt worden.
Documentatie en opvolging
Voor opvolging van documentatie, krijgt de klant toegang tot de projectpagina binnen Confluence (zie: https://nl.atlassian.com/software/confluence).
Met deze tool heb je elk moment toegang tot de laatste versie van documenten en informatie. Ideaal om voortgang en kennis te delen. Standaard wordt onderstaande structuur met volgende (sub-) categorieën opgezet
Web analytics
Tijdens de development fase stellen we ook jouw web analytics af zodat je data altijd correct en volledig is. Wat mag je verwachten?
- Een ordelijk en overzichtelijk Google Tag Manager account: We zetten je Google Tag Manager account op en creëren een ordelijke structuur in je tags en containers. Dit geeft steeds een duidelijk overzicht over de gemeten data.
- Een correct en gebruiksklaar Google Analytics Account: We stellen je Google Analytics account af (of andere web data tools) zodat jouw data goed doorkomt en nauwkeurig is. Eerst stellen we de juiste filters, kanaalgroeperingen en doelen in en bekijken we daarna of je sales en omzetcijfers correct gerapporteerd worden.
- (Eventueel) een klaarhelder Google Looker Studio performance dashboard: Indien gewenst kan PHPro ook flexibele performance rapporten opstellen in Google Looker Studio. Deze rapporten zijn makkelijk aanpasbaar en centraliseren data van verschillende bronnen in 1 dashboard. Ideaal wanneer je regelmatig nood hebt aan uitgebreide performance rapporten.
Door het opzetten van analytics al tijdens development op te nemen, hoef je achteraf geen veranderingen door te voeren om de juiste data te krijgen.
Oplevering
Wanneer alle functionaliteiten, die nodig zijn voor livegang, gebouwd en getest zijn kan de webshop opgeleverd worden. Eindelijk kan je de vruchten plukken van al het harde werk! Maar het is dan nog niet volledig gedaan. Ook de eerste weken na livegang staat het team van PHPro klaar om eventuele bugs aan te pakken of andere, minder belangrijke, functionaliteiten op te leveren.
Je kan na oplevering volop aan de slag met de webshop en starten aan jouw nieuwe online avontuur!