Onze developer werkwijze: een project bij Elements
Onze developer werkwijze
Als Developer bij Elements, of het nu mobiel of web is, werk je tegelijkertijd aan één of twee verschillende projecten. Zo kun je je focussen op je codebases, maar heb je ook voldoende afwisseling in je werk. Om elk project zo soepel mogelijk te laten verlopen, hebben we voor elk project een Way of Working gedefinieerd binnen ons team. Wie is waarvoor verantwoordelijk? Hoe documenteren en communiceren we? Wat is onze Definition of Done? Het is erg belangrijk om dergelijke zaken vast te leggen, zodat iedereen weet wat er verwacht wordt. Vooral de nieuwe developers in ons team. Lees alles over hoe het is om te werken voor klanten als KPN, AVROTROS en Campercontact.
Aan het begin van elk project is het tijd om het juiste team samen te stellen. Natuurlijk moeten we kijken wie er beschikbaar is, maar belangrijker nog: wie past bij de klant en de verwachte technieken die we zullen gebruiken. Een project bestaat altijd uit een Project Manager/Scrum Master, Product Owner, Security Lead en 1-5 Developers, afhankelijk van de omvang van het project. Soms is het een volledig mobiel project, maar het kan ook een mix van developers zijn wanneer we zowel mobiel als web nodig hebben. Ook is het mogelijk dat je samenwerkt met developers van de klant.
Zodra het team is samengesteld, definiëren we, samen met de klant, welke exacte technieken en tools het team zal gebruiken. Soms heeft de klant al een product dat we moeten upgraden of koppelen, soms hebben ze een volledig nieuw product nodig. Developers worden hier zeker bij betrokken, zodat iedereen weet wat we zullen gebruiken en ook waarom we deze beslissingen hebben genomen. Indien nodig kunnen ze een van onze ervaren Tech Guides raadplegen. Vooral als we samenwerken met Developers (en/of Designers) van het team van de klant, worden de Developers al heel vroeg in het proces betrokken. Zoals je misschien weet, is Elements onderdeel van MakerStreet, dus werken we ook samen met Developers van andere labels binnen onze community.
Wat is onze development flow? Dit kan per project verschillen, maar meestal ziet onze algemene Way of Working er als volgt uit:
Voorafgaand aan deze flow definiëren we altijd de Definition of Done-criteria voor taken in elk project. Deze kunnen tests, kwaliteitscontroles of beveiligingscontroles omvatten.
Meestal is de Scrum Master/Project Manager of Product Owner verantwoordelijk voor de algehele planning en prioriteiten in user stories, zodat onze developers zich kunnen richten op het schrijven van code. Voor alle user stories gebruiken we templates, om ervoor te zorgen dat de juiste informatie aan de ticket wordt toegevoegd en de developer er direct mee aan de slag kan. In de meeste van onze projecten werken we Agile/Scrum, dus je kunt een daily standup, sprints van 1-3 weken en een retrospective verwachten om het project te evalueren. We richten ons niet alleen op het werk dat gedaan wordt, maar nog belangrijker: we richten ons op het team. Hoe gaat het met elke developer, hoe verloopt de samenwerking, is er een gezonde werkdruk, krijgt iedereen de hulp die nodig is? Elke developer moet kunnen groeien in zijn of haar rol; feedback en kennisdeling zijn hierbij van groot belang.
Communicatie is essentieel binnen het team, net zo belangrijk is de communicatie tussen het team en de klant. De projectopzet en deadline worden afgehandeld door sales en de Project Manager. Daarna wordt er samen met het team een gedetailleerd plan opgesteld. De kleine vragen rondom dit plan moeten snel door de developers gecommuniceerd worden. Daarom gebruiken we kanalen zoals Slack om met de klant te communiceren. Er worden beslissingen genomen over wie wat aan wie communiceert en ook over de frequentie. Alles afhankelijk van het team en de klant.
Elke keer dat we een beslissing nemen, documenteren we deze. Op deze manier kunnen de klant, het team en andere developers binnen het bedrijf alle informatie terugvinden. Tijdens het project heb je een referentiepunt, maar deze kennis kan ook worden gebruikt bij volgende projecten. Wat ging goed, kunnen we dit in andere projecten gebruiken? Wat zouden we anders kunnen doen? Niet alleen in de retrospective, maar ook in maandelijkse All Hands meetings delen we deze best practices met de rest van onze collega's.
Zoals je kunt lezen, werken we aan projecten van A tot Z; als developer ben je al vroeg in het proces betrokken en blijf je betrokken totdat het product live is, of zelfs daarna. Je ziet het hele proces en hoe het product door de klant wordt gebruikt. Nadat het project live is, is ons werk meestal nog niet klaar. We moeten het product onderhouden en updaten, en we kunnen er nieuwe features aan toevoegen. Dit alles staat vermeld in de Roadmap van het project en wordt vaak al besloten voordat het product live gaat. Last but not least vieren we de afronding van een project en houden we een laatste feedbackronde. Niet alleen de developers krijgen feedback, ook de projectmanager en tech guide. Op deze manier profiteren we allemaal en kunnen we reflecteren op het geleverde werk en de samenwerking.
We kunnen de hele dag over onze projecten praten, maar we denken dat we je een algemeen beeld hebben gegeven van hoe het is om aan een Elements-project te werken. Wil je meer weten over werken bij Elements? Bekijk onze carrièrepagina of stel je vragen via careers@elements.nl