2 minuten leestijd
16 augustus 2022
Als je al eens een softwareontwikkelingsproject hebt gedaan of erbij betrokken geweest bent, dan zal je het met me eens zijn dat de softwareontwikkelaars daarbij van essentieel belang zijn. Het is dan ook zaak om goed met hen door één door te kunnen.
Om het je makkelijker te maken en de kans op een succesvol project te vergroten deel ik hieronder 10 tips voor het werken met softwareontwikkelaars.
Sommige dingen zijn verdomd bijna onmogelijk, maar als het op software ontwikkeling aankomt is bijna alles mogelijk.
Maar die uitspraak komt met een caveat: niets is onmogelijk, het kan alleen meer tijd kosten dan je hebt, meer geld kosten dan je je kunt veroorloven, of meer ontwikkelaars vereisen dan je momenteel in dienst hebt. Naar alle waarschijnlijkheid, is het een combinatie van de drie.
Hetzelfde geldt voor het bereiken van ambitieuze doelstellingen in software, maar het zal niet van de ene dag op de andere gebeuren en je zult misschien meer geld moeten uitgeven dan je dacht.
Het is niet zo dat iets niet kan; sommige dingen zijn gewoon niet praktisch.
Dat is hetzelfde als een schrijver vragen waarom er typefouten bestaan.
Dat is hetzelfde als aan Lionel Messi vragen waarom hij af en toe 100% kansen mist.
Niets en niemand is perfect. Software ontwikkelaars zijn geen uitzondering.
Het zou kunnen dan je een IQ van 147 hebt, maar dan hoop ik dat je je tijd niet verdoet met dit te lezen. Ik hoop dat je ergens bezig bent de wereld te redden.
Naar alle waarschijnlijkheid zijn de software ontwikkelaars waar je mee werkt slimmer dan jij. En dat is niet erg.
Laat het je ego niet beïnvloeden of hoe je je werk doet. Leg je er bij neer. Je mag dan je hele leven bovenaan in de klas hebben gezeten, maar als het op software aankomt, sta je op hun speelveld en zijn zij de experts.
Softwareontwikkelaars zijn geen robots. Ze zitten niet achter hun computer te wachten op jouw commando's.
Hoewel hun werk vaak bestaat uit mensen die hen vragen dingen te doen, betekent dat niet dat ze ervan genieten als mensen bevelen naar hen blaffen.
Naast het feit dat je iedereen met respect moet behandelen, ongeacht wie ze zijn, moet je echt aardig zijn tegen de ontwikkelaars met wie je werkt. Je moet niet alleen respectvol zijn omdat hun vaardigheden ongelooflijk gewild zijn of omdat een goede ontwikkelaar zijn gewicht in goud waard is.
Je zou respectvol moeten zijn omdat wat zij kunnen bereiken echt en geweldig is.
Als je hen respecteert zal het jouw leven gemakkelijker maken, het zal hun leven gemakkelijker maken, en je zou zelfs een paar dingen kunnen leren.
De ontwikkelaars met wie je werkt kennen de ins en outs van het platform dat ze hebben gebouwd en ze weten wanneer iets extreem moeilijk is om te doen. Of dat bepaalt hoe je te werk gaat is ter discussie, maar het is noodzakelijk dat iedereen op dezelfde lijn zit.
Je kunt proberen te vechten voor wat je wilt, en je zou kunnen winnen, maar zelfs de best geïnformeerde niet-technische mensen zien waarschijnlijk slechts 10-15% van het landschap over waarom iets wel of niet moet worden gedaan vanuit een technisch standpunt.
Onveranderlijk zullen zakelijke behoeften en de technische kant van de zaak elkaar kruisen en bepaalde handelwijzen dicteren. Dat is een feit. Maar zorg ervoor dat je flexibel bent en praat met de ontwikkelaars voordat je de wereld belooft, en het niet kunt waarmaken.
Vergeet niet: de ontwikkelaars zijn degenen die deze beloften uiteindelijk tot leven brengen. Zij kunnen maar beter instemmen met wat er ook beloofd wordt.
Ga er niet van uit dat iets gemakkelijk te doen is. Ga er niet van uit dat, omdat een vorig project op een bepaalde manier werkte, het volgende project hetzelfde zal doen.
Communicatie is je vriend.
Ik kan je niet vertellen hoe vaak een gesprek van vijf minuten grote problemen had kunnen voorkomen en ieders leven makkelijker had kunnen maken.
Je moet 100% communiceren van wat het ook is dat je bespreekt. Niet 80% communiceren en ervan uitgaan dat de andere 20% impliciet is of dat de andere 20% geen probleem is. Ik heb me verbaasd over het feit dat iets waarvan ik dacht dat het eenvoudig of impliciet was, niet eenvoudig is en niet impliciet was.
Zoals Cosmo Kramer zei: "Aannemen? Neem nooit iets aan!" To Assume makes an ASS of U and ME!
Om voor de hand liggende redenen is één van de eerste dingen die software ontwikkelaars wordt gevraagd te doen, aan het begin van een nieuw project, is schatten hoe lang het zal duren om het af te ronden.
Maar als de project deliverables en specificaties niet vastliggen, kan het bijna onmogelijk zijn om een accurate schatting te geven.
In gevallen waarin de juiste informatie beschikbaar is, moet je er rekening mee houden dat er altijd complicaties optreden. Schattingen worden niet voor niets schattingen genoemd. Het is een beste schatting van hoe lang dingen zullen duren, op basis van wat nu bekend is.
Maar als de specificaties van het project zes weken later veranderen, kun je er zeker van zijn dat de schatting ook zal veranderen.
Veranderingen aanbrengen in wat de ontwikkelaars aan het bouwen zijn halverwege een project is hetzelfde als een kunstschilder vertellen dat je wilt dat hij een appel schildert en dan als ze halverwege klaar zijn met het schilderen van de appel van gedachten veranderen en vragen of ze in plaats daarvan een BigMac willen schilderen.
Het zijn allebei schilderijen van eten, toch? Wat is het probleem?
Fout. Het is een heel groot probleem.
Er gebeuren dingen. Er zijn miscommunicaties. Mensen veranderen van gedachten. Mensen maken fouten. Maar verwachten dat veranderingen in het project geen invloed zullen hebben op de tijdslijnen is naïef en een geweldige manier om ontwikkelaars kwaad te maken.
Ik hoop dat dit niet als een schok komt voor iedereen, maar hier gaat het:
ontwikkelaars zullen meer geïnteresseerd zijn in het schrijven van code als ze enthousiast zijn over waar ze aan werken.
Voor zover ik heb kunnen nagaan, is code schrijven niet anders dan elke andere job in de zin dat als je gemotiveerd bent, je over het algemeen beter werk zal leveren.
Met het risico in herhaling te vallen; de ontwikkelaars met wie je werkt zijn geen robots. Het is heel wat anders voor hen om hersenloos bezig te zijn dan om aan iets uitdagends en interessants te werken.
De aard van waar ze aan werken en de algemene teammoraal rond een project kunnen een enorm verschil maken. Het zal je verbazen hoe snel dingen gedaan worden als mensen echt enthousiast zijn om ergens aan te werken.
(Een korte opmerking over dit punt: als een project niet spannend is, probeer dan geen lippenstift op een varken te doen. Ga terug naar #3. Software ontwikkelaars doorzien elek onoprechte poging om het team achter iets te krijgen waar niemand echt om geeft)
Wanneer je de perfecte app gebruikt of op een mooi ontworpen website surft, voelt dat echt als magie.
Maar voor elke app of website die als magisch aanvoelt, zijn er duizenden regels code die door een mens zijn geschreven. Het is gemakkelijk om het eindproduct te zien en te denken dat de softwareontwikkelaars magische tovenaars zijn die gewoon met hun vingers knippen en mooie, functionele dingen laten verschijnen. Maar wees reëel.
De eerste paar builds van een app of website zullen ruw zijn. Het zal tijd kosten. Er zullen bugs zijn. Er zullen regressies zijn. En het is allemaal deel van het proces. Het eindproduct mag dan als magisch aanvoelen, maar alles tot dan toe zal dat vrijwel zeker niet zijn.
Tegen de tijd dat het product gelanceerd wordt, is iedereen waarschijnlijk uitgeput en is het misschien een klein wonder dat alle betrokkenen nog in dezelfde kamer kunnen zijn. Maar hoe moeilijk het ook was tijdens het ontwikkelingsproces, vergeet niet om een stapje terug te doen en te waarderen wat er is gebouwd.
Het feit dat een hoop ideeën en schetsen nu iets zijn dat je kunt aanraken en in je zak kunt meedragen, is een klein wonder. Geniet ervan en geniet ervan dat je werkt met geweldige ontwikkelaars die een grote rol hebben gespeeld om dit mogelijk te maken.
BYTE24 is de bestemming voor al jouw benodigdheden op het gebied van app- en webdevelopment.