Wat je moet weten voor je een eerste project leidt als ontwikkelaar

28.07

We hebben het allemaal al meegemaakt: je bent ontwikkelaar, hebt ondertussen een paar jaar ervaring, en plots krijg je de leiding over het opzetten van je eerste project en vraag je je af hoe je dit nieuwe terrein moet navigeren. In de wereld van softwareontwikkeling zijn er twee cruciale aspecten die je in je achterhoofd moet houden als je wil doorgroeien: business beheer en technisch beheer. In dit artikel zullen we die dimensies samen verkennen, en geven we je enkele tips mee om dat eerste project succesvol te coördineren. 

Vereiste rollen in softwareontwikkeling 

Vooraleer we ons verliezen in de details, is het belangrijk dat je weet dat projecten binnen softwareontwikkeling verscheidene rollen en organisatiestructuren met zich meebrengen. In deze blog zullen we focussen op twee aspecten die je als ontwikkelaar minder vaak tegenkomt, maar toch essentieel zijn om bijkomende verantwoordelijkheden te kunnen oppakken: technisch beheer en business beheer. Dat zijn overigens zaken die kunnen overlappen met andere rollen, zoals die van projectmanagers, architecten of DevOps-specialisten. 

Technisch beheer draait om het beter samenwerken met ontwikkelingsteams, vooral die in cloud-native omgevingen. Anderzijds focust business beheer op het afstemmen met stakeholders, op het prioriteren van features, en op het optimaal inzetten van Agile methodologieën om effectief aan de bedrijfsbehoeften te voldoen. Laten we beide aspecten even onder de loep nemen. 

Business beheer: waarom Agile in software? 

Als je je eerste project wilt leiden, is het cruciaal om te begrijpen wat het belang is van Agile methodologieën, en hoe ze je project ten goede kunnen komen. Als ontwikkelaar zie je Agile wellicht vooral als een excuus voor projectmanagers om verschrikkelijk veel meetings in te plannen. Wanneer je echter aan de andere kant komt te staan, zal je snel beseffen dat het eigenlijk een broodnodig antwoord is op de onvermijdelijke veranderingen die optreden tijdens softwareontwikkelingsprojecten. 

Twee populaire benaderingen binnen Agile zijn Kanban en Scrum. Kanban voorziet een overzicht van de backlog en benadrukt prioritering, terwijl Scrum zich eerder richt op de planning en uitvoering van het werk. Het kiezen van de juiste aanpak hangt af van de context en de vereisten van het project zelf. 

Scrum biedt nauwere samenwerking met het team en de belanghebbenden, ondanks de extra vergaderoverhead. Die vergaderingen zijn immers belangrijk om de backlog in behapbare stukken op te delen. Daarnaast kan je zo de voorspelbaarheid, alsook doeltreffendheid en efficiëntie van het ontwikkelingsproces verbeteren. Sprint Planning vereist inzicht in de beschikbaarheid van het team, en maakt dagelijkse stand-ups en voortgangsrapportering mogelijk. Sprint Reviews laten prestaties zien, en Sprint Retrospectives maken reflectie en verbetering mogelijk. Naast al die voordelen kweken Scrum meetings ook duidelijkere communicatie en afstemming tussen de teamleden. 

Hier zijn enkele praktische tips die we graag met je delen, gebaseerd op onze ervaringen als consultants op Agile projecten: 

  • Verduidelijk het niveau van elk werkitem (zoals epics, features, stories, taken) en betrek stakeholders uit het bedrijf op tijd in het proces zodat de vereisten duidelijk zijn. 
  • Plan dagelijkse stand-ups (best ‘s ochtends), om mogelijke hindernissen snel op te sporen en aan te pakken. 
  • Organiseer op het einde van je sprints een demo, en naderhand een retrospective. 
  • Overweeg om midden in een Sprint een Sprint Refinement sessie te organiseren om conflicten met de volgende Sprint planning te voorkomen, en proactief te kunnen handelen. 

Technisch beheer: het belang van beheer 

Technisch beheer is een fundamenteel onderdeel om je eerste softwareontwikkelingsproject succesvol te managen. Het bevordert effectieve samenwerking, en zorgt voor sturing binnen je ontwikkelingsteam. Om deze doelen te bereiken, is het instellen van bestuur in bronbeheer van het grootste belang. Laten we even kijken naar de vier belangrijkste strategieën binnen technisch beheer: branching, versiebeheer, release, en merging.

Branching 

Er bestaan verschillende branchingstrategieën en de ene is al wat effectiever dan de andere. Over het algemeen, raden we het gebruik van de GitHub flow aan, die bestaat uit een stabiele hoofdtak en vervolgens vertakt in features. Die aanpak sluit goed aan bij de Agile principes, en zorgt voor korte feedback loops en snelle iteraties, waardoor het vooral krachtig is in de eerste fases van een project. Zorg dat je altijd rekening houdt met de specifieke noden van de organisatie wanneer je een branchingstrategie kiest en aarzel niet om over te stappen naar een andere strategie zodra je project goed op gang komt. 

Versiebeheer 

De beproefde YYYY.MM.DD.versienummer syntax is zeker valide, maar wij geven de voorkeur aan het Semantische Versiebeheersysteem (SemVer), omdat het helderheid en consistentie voorziet. Het houdt in dat er drie nummers worden toegekend om de impact van wijzigingen aan te duiden: 

  1. MAJOR voor onverenigbare (brekende) wijzigingen 
  2. MINOR voor achterwaarts compatibele toevoegingen 
  3. PATCH voor achterwaarts compatibele bug fixes 

We raden het gebruik van geautomatiseerde tools aan voor je versiebeheerstrategie. Die kunnen, gebaseerd op commit-berichten, alle wijzigingen opvolgen, versienummers aanpassen naargelang, en zelfs geautomatiseerde release notities schrijven die je kan delen met zakelijke stakeholders en ontwikkelaars. 

Release 

De releasestrategie is een kritisch aspect van softwareontwikkeling, dus zorg ervoor dat je er de nodige aandacht aan besteedt. Een populaire aanpak die veel ontwikkelteams hanteren is de DTAP-strategie, wat staat voor Development, Testing, Acceptance, en Production. Die zorgt ervoor dat elke release getest en goedgekeurd is door stakeholders, voordat hij wordt uitgerold in de productieomgeving. Het helpt om het risico op fouten of verstoringen te minimaliseren, en zorgt voor een soepele transitie van ontwikkeling naar eindgebruikers. 

Merging 

Het afdwingen van codekwaliteit door middel van uitgebreide codebeoordelingen en het implementeren van samenvoegbeperkingen is cruciaal voor het handhaven van hoge standaarden bij softwareontwikkeling. Met codebeoordelingen kunnen collega-ontwikkelaars problemen identificeren, de leesbaarheid verbeteren en ervoor zorgen dat coderingsstandaarden worden nageleefd. Door minstens één andere reviewer te vereisen en bijgewerkte code opnieuw te reviewen, kunnen teams de kwaliteit van code verbeteren en potentiële bugs opsporen. 

Als er één tip is die je moet onthouden, is het dat je altijd moet streven naar kleinere pull requests. Houd in gedachten dat kleine verzoeken kleine taken vereisen, die worden bijgeschaafd tijdens een backlog verfijning. Het verkleinen van de pull requests van je project zal het reviewproces stroomlijnen, zinvolle feedback vergemakkelijken en de kans verkleinen dat je je team overstelpt met uitgebreide wijzigingen. 

Conclusie 

Als ontwikkelaar die een eerste project managet, is het omarmen van zowel zakelijk als technisch management onontbeerlijk voor succes. Agile methodologieën bieden de flexibiliteit om je aan te passen aan veranderingen en maken effectieve samenwerking mogelijk. Aan de technische kant dragen bestuur in bronbeheer en goed gedefinieerde strategieën voor branching, versiebeheer, release en merging absoluut bij aan je ontwikkelprocessen. Door onze tips toe te passen, ben je goed voorbereid om je eerste project met vertrouwen aan te pakken.  

Aan je eerste project beginnen, kan overigens als spannend en uitdagend aanvoelen. Bij CloudFuel zijn we gespecialiseerd in trajecten voor applicatiemodernisering en cloudmigratie. Ons team van experts kan je door de fijne kneepjes van projectmanagement en -ontwikkeling leiden en maakt daarbij gebruik van de nieuwste tools en methodologieën. Neem vandaag nog contact met ons op om jouw potentieel volop te leren benutten en succesvolle projecten op te leveren.  

Vergeet vooral niet dat je er niet alleen voor staat op deze reis – CloudFuel is er om je bij elke stap te ondersteunen. Veel plezier alvast! 

Smokescreen