Een van de grootste voordelen van het werken bij een agency dat gespecialiseerd is in digitale productontwikkeling zoals DEPT®, is dat met in aanraking komt met een breed scala van projecten die anders misschien meerdere jaren van jobhoppen vergen.
We hebben gewerkt aan honderden developmentprojecten in verschillende bedrijfsdomeinen, geschreven in allerlei technologiestacks, met verscheidene teamsamenstellingen en uiteenlopende soorten belanghebbenden.
We hebben het geluk dat we na projecten kunnen pauzeren en reflecteren over wat goed ging, wat we zouden veranderen en hoe we toekomstige projecten beter kunnen beïnvloeden.
Deze introspectie leidt er vaak toe dat we ons afvragen: Wat maakt een productdevelopmentproject succesvol?
Geavanceerde technologieën, getalenteerde teams en duidelijke doelstellingen spelen allemaal een belangrijke rol. Wij geloven echter dat de geheime saus vaak eerder in soft skills zit dan in technische vaardigheid en management.
Om meer te weten te komen over succesvolle projecten, hebben we verschillende engineers bij DEPT® gevraagd naar hun visie op wat een productproject succesvol maakt.
Jon Principe, managing director bij DEPT®/Digital Products
De tactiek die ik als de grootste succesindicator heb ervaren, is dat je het oké vindt om te zeggen: “Ik weet het niet.”
Je kunt niet alles weten en doen alsof dat wel zo is, leidt vaak tot tijdverspilling, slechte verwachtingen en frustratie bij klanten en teamleden. Door “Ik weet het niet” te koppelen aan het vermogen om goede vragen te stellen, win je vertrouwen van alle betrokkenen bij een project en zet je de toon voor samenwerking.
Doen alsof je alwetend bent zet de teamrelaties alleen maar onder druk, bevordert wantrouwen en kan een omgeving creëren waarin één persoon zich opwerpt als de enige beslisser die alles weet. Succesvolle projecten leiden ertoe dat iedereen in het team zich op zijn gemak voelt en vertrouwen heeft in zijn communicatie, zowel intern als met stakeholders. Zelfverzekerd zijn dat je geen onfeilbare bron van wijsheid hoeft te zijn, laat anderen zien dat het oké is om de tijd te nemen om zaken te onderzoeken en een andere mening te vormen dan je eerste ingeving.
Jake Rainis, software-architect
Elk project is te uniek en genuanceerd om een rigide structuur toe te passen om succes te garanderen. Een succesvol project is eigenlijk gewoon een team van mensen die samen succesvol zijn.
Wanneer ik op wat voor manier dan ook betrokken ben bij een project – of het nu is als individuele medewerker of als architect – heb ik gemerkt dat de volgende zaken ongelooflijk nuttig zijn in elke situatie waarin ik ze heb toegepast:
- Probeer de communicatiestijlen van alle betrokken partijen te begrijpen en pas je aan die stijlen aan op een manier waarop je het beste kunt samenwerken. De juiste toon aanslaan is een geweldige manier om harmonie te creëren in een team van unieke persoonlijkheden.
- Als er een gat is, vul het dan op, zelfs als het buiten je verantwoordelijkheid valt… zolang het maar duurzaam is. Als dat niet zo is, voer dan een gesprek met het team en stem een goede aanpak af om het probleem op te lossen. Als alle andere oplossingen tekortschieten en het probleem groot genoeg is, laat het issue spreekwoordelijk op de grond vallen en raap ze met het hele team op. Soms moeten dingen eerst erger worden voordat ze beter worden.
- Probeer niet alles in je eentje te doen. Technologie is het equivalent van zandkastelen. We bouwen iets en dat verweert uiteindelijk. We hebben allemaal een mening en soms hebben we gelijk. Probeer je team objectief uit te leggen wat je bedoelt en waarom. Maar tenzij het cruciaal is dat jouw mening wordt opgevolgd, levert het geven van een kans aan andere mensen meestal meer succes op dan dingen altijd op jouw manier te doen.
Joaquin Gatti, managing director DEPT® Argentinië
Een succesvol project is het resultaat van een team dat hard werkt om dingen voor elkaar te krijgen met één gezamenlijk doel. Ik denk ook niet dat er een magisch recept is om een project succesvol te maken. Het is gewoon betrokken zijn bij de doelen die vanaf het begin zijn gesteld of de doelen die zijn ontstaan toen de eerste niet werkten. Het dilemma is, hoe zorgen we ervoor dat dit gebeurt?
Een paar dingen kunnen het leven van de accountmanager, productmanager, klant of team gemakkelijker maken. Dit zijn de belangrijkste:
- Goede, frequente en eerlijke communicatie met alle teamleden.
- Duidelijke verwachtingen stellen over wat moet worden geleverd en wanneer. Dit is de sleutel tot het vermijden van ongemakkelijkheid wanneer de verwachtingen verschillen van de levering.
- Plaats ego of techniek niet boven de bedrijfsdoelen. Ja, iedereen wil de nieuwste snufjes gebruiken, maar dat is niet altijd het beste voor het project. Je kunt dingen altijd achteraf nog beter maken.
- Stakeholders moeten actief deelnemen. Ze kunnen het team gemotiveerd houden door te delen hoe het werk het bedrijf beïnvloedt, waardoor uiteindelijk iedereen op één lijn blijft met het einddoel.
Jorge Castellanos, partner bij DEPT®/Digital Products
Afstemming is cruciaal. Als het hele team op dezelfde golflengte zit, in dezelfde fase, valt alles op zijn plaats. Om dat te bereiken is een bereidwillig en capabel team nodig dat iets (bijvoorbeeld een doel) heeft om zich op af te stemmen.
Vervolgens is het een kwestie van het juiste communicatieniveau vinden om op één lijn te blijven voor een bepaald project. Dit zal per project verschillen, maar als een snelle eerste aanzet kan een design- of architectuur sprint van een week wonderen verrichten.
Joey Eggers, managing director bij DEPT® APAC
Wat maakt een project succesvol? Naar mijn mening komt het neer op drie kernelementen:
- Communicatie – Communicatie is het allerbelangrijkste element van elk succesvol project. Bijna elk probleem is terug te voeren op een communicatieprobleem. Communicatie draait om eerlijkheid, transparantie en zorgen dat iedereen de context heeft. Het gaat niet alleen om verbale communicatie, maar ook om het effectieve gebruik van onze tools, processen en wekelijkse projectafspraken. Uiteindelijk zorgen deze elementen ervoor dat iedereen in het eigen team en het team van de klant dezelfde ‘source of truth’, visie en einddoel heeft.
- Vertrouwen – Duidelijke en open communicatie schept vertrouwen.Vertrouwen moedigt teamleden en klanten aan om problemen aan te kaarten, suggesties te doen of fouten toe te geven zonder bang te hoeven zijn voor een negatief oordeel. Dit leidt tot meer open communicatie en samenwerking en betere projectresultaten.
- Doel – Er gebeurt iets magisch als je team werkt aan een project waar ze gepassioneerd over zijn. Persoonlijke waarden en de projectdoelen zullen op één lijn liggen en teamleden inspireren om zich te verenigen. Deze afstemming motiveert iedereen instinctief om verder te kijken dan hun neus lang is, wat leidt tot output van hogere kwaliteit en het overtreffen van verwachtingen.
Tim Davison, principle software engineer
Wat een developmentproject kan maken of breken is hoe duidelijk het doel van de software is. Het kan verleidelijk zijn om overhaast te bouwen, vooral met deadlines en bedrijfsprioriteiten die als een zwaard van Damocles boven het team hangen, maar de tijd nemen om het einddoel van het developmentproject duidelijk te definiëren, kan van onschatbare waarde zijn om belanghebbenden op één lijn te krijgen en onaangename verrassingen in de toekomst te voorkomen.
Hoewel sommige engineers het leuk vinden om op jacht te gaan in een verkennend project, zullen de meesten gedreven zijn om code op productieniveau te bouwen, wat de verkeerde aanpak kan zijn in een ‘fail fast’-situatie. Zelfs projecten die gebruik maken van een agile strategie kunnen mislukken als de backlog vol zit met pieken die belangrijke tickets blokkeren, met een onbekende uitkomst die het bedrijf mogelijk laat zitten met trage of geen vooruitgang in het oplossen van hun oorspronkelijke pijnpunt.
Door te focussen op het einddoel kan het team bijkomende functies en beslispunten in de planning opnemen als plan, in plaats van als bijzaak.
Jonah Jolley, director of engineering
De aard van consulting voor custom software is dat er geen standaardoplossing bestaat. De technische reikwijdte, de complexiteit en de grootte van het team kunnen allemaal bijdragen aan enorm verschillende ervaringen.
Ze hebben echter allemaal een aantal gemeenschappelijke kenmerken waar we een aantal verwachtingen rond proberen op te stellen.
- Transparante communicatie en afstemming. Tenzij we vooraf werk hebben gedaan in een architectuursprint, kan de eindstreep in de loop van een project nogal verschuiven. Het is belangrijk om ervoor te zorgen dat we voortdurend communiceren met externe en interne teams om op één lijn te zitten wat betreft de zakelijke vereisten en de definitie van projectsucces.
- Twee reeksen deadlines hebben. Een deel van de samenwerking met een extern team is dat zij vaak te maken hebben met hun eigen beperkte middelen en druk. We willen de beste partners zijn die we kunnen zijn. Een onderdeel daarvan is het stellen van duidelijke verwachtingen, ons inzetten om op tijd op te leveren en vertrouwen opbouwen door te presteren. Wanneer we afhankelijk zijn van een extern team. Als we een interne deadline stellen, hebben onze teams de afhankelijkheid nodig om te kunnen leveren en communiceren we een externe deadline die we van hen nodig hebben. Dit zorgt ervoor dat we een buffer hebben voor te late opleveringen en vermindert moeilijke gesprekken over oplevering.
- Teamleden die niet bang zijn om vroeg te escaleren. Problemen kunnen snel worden opgelost als we er vroeg van op de hoogte zijn. Maar teams moeten zich op hun gemak voelen bij het aankaarten van problemen en een interne drempel hebben van wat binnen het team moet worden afgehandeld en wat moet worden geëscaleerd. Een gesprek pas laat in het project voeren, voelt voor niemand goed.
Nat Ring, director of engineering
Een van de beste manieren om ervoor te zorgen dat een developmentproject succesvol verloopt, is duidelijke communicatie en flexibiliteit rondom het teamproces. Het maakt niet uit of het team een strikte Agile-methodologie volgt of dat het een meer relaxte Kanban-stijl aanhoudt.
Ontdekken wat wel of niet werkt aan het teamproces en openstaan voor het veranderen van delen van dat proces kan een enorme invloed hebben op productiviteit, verwachtingen en het teamgeluk.
Houd een open communicatielijn tussen het team, zodat iedereen het eens is met voorgestelde proceswijzigingen. Zodra een verandering is doorgevoerd, controleer dan na een week of twee hoe het uitpakt. Het hebben van dagelijkse stand-ups in Slack in plaats van een vergadering kan efficiënter zijn. Meer goedkeuringen die nodig zijn voordat een PR wordt samengevoegd, kan meer stress veroorzaken dan het waard is.
Net zoals projecteisen vaak veranderen, moeten we ook flexibel blijven in onze communicatieprocessen en -stijlen. Luister naar je team en ontdek wat het meest effectief voor hen is, in plaats van vast te houden aan een voorgeschreven set richtlijnen vanaf het begin.
Phil Gonzalez, director of engineering
Soms dienen grote budgetten en grote doelen zich aan bij topmanagers die een positieve impact willen maken. Maar zelfs de beste teams lopen vast als de projectregels niet glashelder zijn. Die enorme projecten? Die hebben gedetailleerde blauwdrukken nodig.
Nu geeft de Agile-aanpak je ruimte om te bouwen, zelfs als je niet 100% zeker bent van alles. Maar na verloop van tijd kunnen “misschien”-ideeën hardnekkige problemen worden.
Stel je bijvoorbeeld een leidinggevende voor die denkt dat hun datateam een specifiek bestand voor een app zal bijwerken. Ze verwachten dat het op een bepaalde manier werkt. Maar als het datateam besluit dingen te veranderen, heeft de app aanpassingen nodig. Als dit te vaak gebeurt, levert dat problemen op.
Aan de andere kant zijn succesvolle apps goed doordacht, getest en in de loop van de tijd bijgesteld. Ze beginnen met kleine, haalbare doelen en groeien van daaruit. Als een intern team niet aan een eis kan voldoen: geen probleem, we hebben een plan. We kunnen onze doelen aanpassen en onze to-dolijst herschikken. We houden onze deadlines in de gaten, begrijpen welke functies we toevoegen en praten veel.
In plaats van gehaast naar een grote “lancering” toe te werken, geven we de voorkeur aan een soepele overgang van een basisversie naar een verfijnd product. Oh, en we beslissen wat de volgende stappen zijn op basis van harde feiten, zoals gebruikersfeedback en data.
Teams die op het hoogste niveau werken, zijn net zo goed gericht op interpersoonlijke soft skills en kwalitatieve interactie als op technische vaardigheden.
Als je het geluk hebt gehad om succesvolle projecten mee te maken, zul je niet verrast zijn om te zien dat onze meest ervaren engineers zich richten op communicatie, doelstellingen en vertrouwen.
Teams die op het hoogste niveau werken, zijn net zo goed gericht op interpersoonlijke soft skills en kwalitatieve interactie als op technische vaardigheden. Flexibiliteit in processen en aanpassingsvermogen zijn even essentieel. Duidelijke verwachtingen, betrokkenheid van belanghebbenden en begrip van het grotere plaatje kunnen een aanzienlijke invloed hebben op de uitkomst van een project.
Wanneer je je kunt richten op je werk met een proces met weinig wrijving, kun je gemakkelijker in een flow komen waarin je een geweldig product kunt bouwen en begrijpen waar het product naartoe kan gaan.
Sterke technische vaardigheden zijn essentieel voor het leveren van producten. Maar als je gewend bent om met technisch bekwame teamleden te werken, kun je verder kijken dan een sterke JavaScript-engineer met een vleugje AWS-ervaring en engineers vinden die in staat zijn om soft skills te bevorderen ten gunste van een heel team.
Dat komt ten goede aan het project, belanghebbenden en klanten. Deze projectleiders zijn niet het type: komen opdagen, schrijven code en uitloggen. Ze begeleiden andere leden van het team. Ze faciliteren communicatie zowel intern als met niet-technische stakeholders. Ze kunnen de meest effectieve processen opzetten voor de rest van het team, de klant en henzelf, zodat iedereen zijn beste werk kan doen. Dit helpt de kloof te overbruggen tussen het ontwikkelingsteam, klanten, belanghebbenden en klanten, wat uiteindelijk leidt tot een beter product dan eenvoudige technische vaardigheden ooit zouden kunnen bereiken.