Burggravenlaan 264-001
9000 Gent
België
Regelmatig krijgen we bij 3sign de vraag of we een bestaand Drupal project kunnen overnemen om de website te onderhouden en verder te optimaliseren. Hoewel elk project uniek is, zien we hierbij toch een aantal zaken vaak terugkeren.
Veranderen van leverancier doe je niet zomaar. Wanneer ons gevraagd wordt om een project over te nemen loopt er zo goed als steeds iets mis met de website. Doorgaans zijn dit problemen waardoor de website niet naar behoren werkt of performantieproblemen, waarbij een website wel correct werkt maar te traag is of zelfs regelmatig vastloopt. Uiteraard verwacht de klant hiervoor snel een oplossing en een zo nauwkeurig mogelijke prijsinschatting.
Dit is evenwel niet zo evident dan op het eerste zicht misschien lijkt. Je zou het kunnen vergelijken met het opknappen van een huis waar al enkele jaren aan werd gewerkt door verschillende eigenaars. Zonder een duidelijk en betrouwbaar bouwplan begin je best niet zomaar een gaatje te boren in een muur als je het risico wil vermijden om bijvoorbeeld een elektriciteitskabel of gas- of waterleiding te raken.
In deze blogpost leggen we vanuit onze ruime ervaring met het overnemen van een bestaand Drupal-project onze aanpak stap voor stap uit.
Audit van het project
Om een goed overzicht te krijgen van het bestaand project (en om ongelukken zoals hierboven te vermijden) starten we met een audit van het project. Het spreekt voor zich dat we hiervoor eerst toegang moeten krijgen als administrator.
Het volledige project meteen gedetailleerd in kaart brengen is echter vrijwel onmogelijk. Daarom starten we tijdens de audit met het nakijken van een aantal cruciale aandachtspunten, die ons een inzicht geven in de opbouw en mogelijke “red flags” kunnen detecteren.
Bij de audit kijken we onder meer naar volgende zaken:
- Werden de coderingsstandaarden voor Drupal correct gerespecteerd?
- Hoe ziet het beheer voor de gebruikers eruit?
- Aangezien de functionaliteit van een website in Drupal wordt uitgewerkt door modules te combineren die elk een bepaalde functionaliteit hebben, gaan we na welke modules er momenteel in gebruik zijn.
- Uiteraard bestaat er niet voor elk probleem een kant-en-klare oplossing. Om die reden worden er soms op maat gemaakte modules geschreven, die vaak gebaseerd zijn op reeds bestaande modules. Indien jouw website gebruikt maakt van dergelijke “custom modules” gaan we na of de code van deze “custom modules correct opgebouwd werd.
- Is er documentatie aanwezig? Zowel documentatie in de code, als algemene documentatie over het project zijn immers erg belangrijk.
Een audit kan vrij tijdrovend zijn en wordt dus niet kosteloos uitgevoerd. Wij maken een offerte voor het uitvoeren van een audit en maken doorgaans van de gelegenheid meteen ook gebruik om zoveel als mogelijk documentatie op te stellen, waarmee we dan later sneller aan de slag kunnen.
Overzetten van het project naar onze ontwikkelomgeving
Bovenstaande audit kan uitgevoerd worden voor of na wij het bestaande project hebben overgezet naar onze ontwikkelomgeving. Doorgaans kan de audit echter veel gedetailleerder uitgevoerd worden als het project reeds is overgeplaatst naar onze omgeving, maar in sommige situaties is dat uiteraard niet de wens van de klant.
Zodra er met de klant werd overeengekomen om het project verder door 3sign te laten opvolgen, gaan we als eerste stap het project opzetten op ons ontwikkelplatform en het project verder in kaart brengen.
Deze zaken voeren we uit bij het verplaatsen van het project:
- We verplaatsen het project naar onze ontwikkelomgeving.
- Het project wordt opgenomen in onze ontwikkelingsflow met een gescheiden “staging-omgeving” voor het testen van aanpassingen en nieuwe features.
- Uitvoeren van een code review en controle van de “Drupal coding standards” (in zoverre dit nog niet eerder gebeurd zou zijn). Mogelijke problemen worden opgelijst in tickets in “Codebase”, het door 3sign gebruikte ticketsysteem.
- Controle van een eventuele achterstand in Drupal-updates. Een eventuele achterstand wordt eveneens opgenomen in ons ticketsysteem.
De kennis die we opdoen bij het overzetten van het project en de audit wordt gebundeld in het hierboven genoemde projectmanagement -en ticketsysteem van Codebase. Vervolgens gaan we hier samen met klant grondig door en doen we een voorstel om een aantal zaken aan te pakken volgens de “Agile Development”-methodologie.
Verdere uitwerking van het project via “Agile Development”
Na het overzetten van het project naar onze ontwikkelomgeving schakelen we over naar de zogenaamde “Agile Development”-methodologie.
Hieronder vatten we kort samen wat je mag verstaan onder Agile Development:
- Alle functionaliteiten uit de originele scope worden ingedeeld in tickets.
- Per ticket worden er zogenaamde “sprint points” toegekend. Deze geven aan hoeveel werk het ongeveer in beslag neemt om een ticket af te ronden.
- De klant krijgt de mogelijkheid om zelf nieuwe tickets aan te maken.
- 3sign zorgt voor een beoordeling van het aantal “sprint points” voor de nieuwe tickets.
- De ontwikkeling wordt verder afgewerkt in “sprints”.
- Per “sprint” worden er een maximaal aantal “sprint points” opgenomen en afgewerkt.
- Pas na de afwerking van één sprint, kan een nieuwe sprint opgestart worden.
Voor de afwerking van een sprint gaan we als volgt te werk:
Voor de afwerking van een sprint gaan we als volgt te werk:
- Planning: er wordt een overleg ingepland met 3sign en de klant. Tijdens deze meeting wordt de inhoud van de aankomende sprint vastgelegd. De klant kan hierbij zelf kiezen welke tickets worden opgenomen in de sprint. Dit kunnen tickets uit de originele scope zijn of nieuwe tickets.
- Ontwikkeling: we voorzien een periode (doorgaans met een doorlooptijd van 1 à 2 weken) voor de ontwikkeling van de nieuwe features volgens de toegekende tickets in de sprint.
- Testen: na de ontwikkeling volgt er een testfase. Deze kan uitgevoerd worden door de klant zelf, door 3sign of een combinatie van beide.
- Kleine opmerkingen worden direct verwerkt.
- Voor grote aanpassingen wordt er een nieuw ticket aangemaakt, dat in een latere sprint kan worden opgenomen.
- Release: Na afloop van een sprint kunnen de nieuwe features worden toegevoegd aan de “live-omgeving” van de website. Dit is echter niet noodzakelijk vereist na elke sprint en kan bepaald worden in samenspraak met de klant.
Wanneer alle tickets in een sprint zijn afgewerkt, starten we opnieuw met de planning van de nieuwe sprint volgens dezelfde werkwijze als hierboven omschreven.
Voordelen van de “Agile”-methodologie
De "Agile Development”-methodiek heeft doorgaans grote voordelen voor de klant:
- Als klant kan je tijdens het project de prioriteiten bepalen en bijsturen waar nodig.
- Je hebt een goed zicht op wanneer je een bepaalde functionaliteit kan verwachten.
- Je wordt nauw betrokken bij de uitwerking van het project.
- Je kan functionaliteit goed testen, omdat alle aanpassingen steeds duidelijk omlijnd zijn.
- Het project blijft overzichtelijk. Het is vaak een groot risico om heel veel zaken in één keer te willen aanpakken. Wanneer je te veel zaken tegelijk wil aanpakken, neemt de kans namelijk toe dat het totaalproject meer tijd in beslag neemt dan oorspronkelijk voorzien én de bezoeker van de website en/of de klant zelf intussen geen direct voordeel ondervindt van het geleverde werk.
Prijsinschatting van een projectovername
Dat een precieze inschatting van de totale kostprijs van een overname van een project moeilijk te bepalen valt, is onderhand wellicht duidelijk. Dit werk wordt daarom steeds in regie uitgevoerd door ons. Dat wil zeggen dat wij de reële prestaties aanrekenen aan ons uurtarief, die we maandelijks factureren.
Natuurlijk wil niemand zomaar een blanco cheque tekenen, dus geven we na een audit ook steeds een offerte met een eerste indicatie van het te presteren werk en de bijbehorende kosten.
Bovenop onze inschatting zorgt de agile aanpak er tijdens de uitwerking voor dat je steeds een overzicht hebt van te verwachten prestaties en de bijhorende kosten.
Hoe pakken we onze prijsbepaling dan concreet aan?
- We maken een zo correct mogelijke inschatting op basis van hele en halve dagen. Ook een kleine aanpassing die mogelijk slechts een half uurtje werk is, zal bijgevolg het label opgeplakt krijgen ‘wellicht een halve dag of minder’.
- Samen met de klant gaan we doorheen deze lijst en stellen we prioriteiten op. “Quick-wins” plaatsen we bovenaan, aanpassingen met een groter risico onderaan.
- We bepalen een maximumbudget om mee aan de slag te gaan (bijvoorbeeld 1 week fulltime werk).
- Binnen dit budget gaan we zo veel mogelijk items op de lijst uitvoeren. Stoten we bij een bepaalde aanpassing op een onverwacht probleem, dan overleggen we met de klant: gaan we verder met dit “issue” of laten we dit (tijdelijk) vallen en gaan we verder naar het volgende issue.
Naarmate het project vordert, krijgen we uiteraard een steeds beter zicht op het geheel en kan de totale kostprijs beter ingeschat worden. Het voordeel van te werken met de “Agile Development”-methodologie daarenboven is dat de klant doorheen het project én in onderling overleg altijd goed op de hoogte wordt gehouden van de geplande ontwikkelingen én de hiermee gepaard gaande kosten.
Op naar een betere website
Het oplossen van bestaande problemen is natuurlijk de eerste prioriteit, maar al vanaf de eerste fase gaat onze blik verder dan dat. Het uiteindelijke doel is om er gewoon een betere website van de te maken.
Niet zelden kunnen we de gebruiksvriendelijkheid van de site een flinke upgrade geven. Dit zowel voor de bezoeker als de gebruiker.
Op basis van onze kennis, ervaring én de data die we verzamelen doen we op geregelde basis voorstellen om het project een niveau hoger te tillen. Dat kan gaan van kleine aanpassingen zoals bijvoorbeeld het duidelijker plaatsen van een aantal buttons tot de volledige optimalisatie van een winkelmandje bij een webshop.
Jouw project overdragen aan 3sign?
3sign is een zeer ervaren ontwikkelaar van Drupal-projecten. Onder meer dankzij onze ervaring en kennis vertrouwen steeds meer website-eigenaars hun bestaande projecten toe aan 3sign.
Dit zijn alvast enkele projecten waarvan wij het beheer en de verdere uitwerking op ons hebben genomen:
- Ziekenhuis AZ Groeninge
- Apache: onafhankelijk nieuwsmedium
- Bataljong: Sterk beleid voor jonge inwoners
- BTMVlaanderen: kennisnetwerk bedrijventerreinmanagement
- Webshop Duvoplus
Een nieuwe partner zoeken voor jouw project is uiteraard geen evidente keuze. Deze blogpost geeft je alvast een zo transparant mogelijke blik op onze aanpak. Overweeg je om jouw Drupal-project over te dragen, maar zit je toch nog met vragen? Zoals ons motto luidt “always on your site” staat 3sign steeds paraat om al jouw vragen te beantwoorden!
Tot slot, zo moet het dus niet