Agile softwareontwikkeling gaat niet alleen over ontwikkelaars
Niemand wil software leveren met veel bugs, prestatieproblemen en lage klanttevredenheid. Continue integratie en codebeoordelingen helpen dit te voorkomen ... maar wie heeft daar nou tijd voor? Agile en DevOps-teams maken er tijd voor vrij.
Agile softwareontwikkelaars richten zich op duurzame ontwikkeling in plaats van heldendaden. Duurzaamheid gaat over goede inschattingen, effectieve branchingstrategieën om code te beheren, geautomatiseerd testen om de kwaliteit te beschermen en continue implementatie om snelle feedback van gebruikers te krijgen.
Het toepassen van duurzame ontwikkelingspraktijken vereist een discipline waar de meesten van ons als personen naar streven maar vaak lastig te realiseren vinden. Dat komt omdat niemand geïsoleerd agile of DevOps kan worden. De cultuur van de hele organisatie moet zich daarachter scharen en soms is er een change-agent nodig, zoals een DevOps engineer. Dat betekent dat projectleiders moeten geloven in het idee dat kwaliteit belangrijker is dan scope of planning, wat vaak het moeilijkste deel is van het toepassen van agile.
Maar het is het waard! Ontwikkelaars krijgen de vrijheid en verantwoordelijkheid om software duurzaam te ontwikkelen, terwijl ze toch een goede relatie met het bedrijf onderhouden. En het bedrijf mag een product van hogere kwaliteit op de markt brengen, wat die geweldige relatie met engineering verder versterkt. Bovendien (en dat is het allerbeste beste) worden agile softwareontwikkelaars zelden geconfronteerd met 'dodenmarsen'. Wanneer de ontwikkeling achterloopt op schema omdat het handhaven van hoge kwaliteit meer moeite kost dan verwacht, kan de scope-kant van de ijzeren driehoek buigen om aan die realiteit tegemoet te komen, en wordt niemands weekend onverhoopt gekaapt.
Alle softwareontwikkelaars kennen de 'ijzeren driehoek' van projectmanagement: scope, planning en kwaliteit. De meesten van ons hebben aan projecten gewerkt waarbij de scope inflexibel was, het schema slordig verliep en ontwikkeling overstelpt raakte door toenemende technische schulden. En om de zaak nog erger te maken was soms het eindproduct niet eens waar de markt om vroeg. Dat is een frustrerende en helaas een bekend punt.
Maar geen zorgen: er is goed nieuws.
Met agile softwareontwikkeling wordt scope de dynamische variabele, zodat teams de kwaliteit kunnen waarborgen, een levendige ontwikkelingscultuur kunnen opbouwen en nauw verbonden kunnen blijven met het bedrijf. Bij Atlassian vormt agile de kern van elk ontwikkelingsteam (en ook van veel andere teams!). En terecht.
Het biedt mensen praktijken die een technische basis in hun product bouwen en een cultuur van samenwerking in hun team. Ontwikkelaars in agile teams zijn meer betrokken, schrijven betere code en hebben meer plezier.
Sterke verbindingen betekenen een sterker product
Agile gaat over teamwork, wat geen verrassing is, aangezien de meeste software tegenwoordig door teams wordt gebouwd. Ontwikkelaars bouwen sterke relaties op met productmanagement, ontwerp, QA en operations, omdat het schrijven van duurzame code betekent dat ze verbonden blijven met alle facetten van het project. Atlassian heeft enorme voordelen gezien op het gebied van codekwaliteit en ontwikkelaarstevredenheid door ontwikkelaars in staat te stellen rechtstreeks met andere delen van het bedrijf samen te werken. Betere code, minder 'thrash' (d.w.z. duplicatie van inspanningen en/of tegenstrijdige werkstromen) en effectievere cross-functionaliteit zijn slechts enkele van de voordelen.
Begeleiding is ook belangrijk. Agile teams trainen elkaar om ervoor te zorgen dat de kennis van de codebase over het hele team wordt verspreid. Een manier waarop dit wordt gedaan, is door middel van codebeoordelingen, die niet alleen de kwaliteit beschermen, maar ervoor zorgen dat het hele team bekend is met de code. Ongeacht hoe de kennis zich verspreidt, agile teams eindigen niet met ontwikkelaars van kritieke paden die niet op vakantie kunnen gaan omdat zij de enigen zijn die een bepaald codegebied begrijpen. Omdat niemand die ontwikkelaar wil zijn.
Agile ontwikkelaars kunnen ook eenvoudiger op verschillende plekken in de technologiestack van hun product werken dan hun collega's in watervalteams, omdat agile teams zichzelf organiseren waardoor leden de kans krijgen om nieuwe vaardigheden op te doen. Het is een feit dat ontwikkelaars die volledige functies leveren, van gebruikersinterface tot database, hun code meer eigen worden. Bij Atlassian moedigen we full-stack ontwikkelaars aan, omdat we geloven in het delen van kennis binnen het team en in het hele bedrijf.
Coderen, cultuur en agile softwareontwikkeling geweldig maken
Agile worden heeft alles te maken met het opbouwen van een geweldige ontwikkelingscultuur in je organisatie. Lees verder om meer te weten te komen over effectieve branchingstrategieën, geautomatiseerde testtechnieken, continue integratie en het creëren van effectieve relaties met andere delen van het bedrijf. De volgende artikelen gaan dieper in op de specifieke veranderingen die duizenden ontwikkelaars hebben aangebracht tijdens hun transitie naar agile, en daardoor opbloeiden.
Agile softwareontwikkeling is een reis. En we staan bij elke stap voor je klaar.
Ga gratis aan de slag met het sjabloon voor DevOps-projecplannen
Ontwikkel, implementeer en beheer applicaties met onze open tools-aanpak.