Een idee of probleem wordt niet zomaar een product. Hier gaat een heel proces aan vooraf waar jij als engineer een belangrijke rol in speelt.
1. Doel bepalen
Om een goed eindproduct op te kunnen leveren, zul je samen met de probleemeigenaar/klant bespreken wat er precies opgelost moet worden en hoe de oplossing eruit gaat zien. Hoe groot, hoe zwaar, welke functionaliteit en welke randvoorwaarden er gelden (IP67/energieverbruik/wanneer te leveren/wat te leveren).
Door meteen korte lijnen te leggen met de klant voorkom je verrassingen. Via een agile aanpak (vaak gezond boerenverstand) neem je altijd de kortste afstand tussen twee punten. Je kunt daar beter in het begin veel energie in steken dan aan het eind, want dan ben je altijd te laat.
2. Realisatie proces
Samen met je collega’s heb je duidelijk wat het probleem is, en je kunt gaan uitzoeken hoe het concept product eruit komt te zien. Vaak wil de klant snel geleverd hebben, zoals binnen één maand. Je moet dus een software ontwikkelkit kiezen die makkelijk in gebruik is, snel implementeerbaar is en generieke functies kan ondersteunen. Ook moet je componenten kiezen die op de markt voorradig zijn, in plaats van levertijden van zes maanden. Kies dus voor algemeen beschikbare componenten.
Moet de oplossing Low power zijn, dan moet er een sleep modus toegepast worden. Gaat het over displays dan is een O-led de meest zuinige oplossing. Moeten er iconen op het display, dan bepalen die ook het stroomverbruik, alles hangt met elkaar samen. Zowel hardware als software als vormgeving.
3. Snel inspelen op ontwikkelingen
Als er een markt voor een product is, zoals tijdens de coronatijd, dan moet je snel kunnen leveren. Met het 1.5e meter afstand houden was er namelijk een mogelijkheid een product te maken die gaat piepen bij binnendringen van deze 1.5e meter zone. Daar kun je geen jaar over doen. Dat moet je snel kunnen maken. Dan zijn de inspanningen gedurende een korte tijd best wel heftig om op tijd te kunnen leveren.
4. Prototype maken en testen
Als het dan bijna zover is dat de levertijd eindigt, is het belangrijk dat je het prototype voorziet van een goed stuk documentatie en een stevig testplan. Op deze manier weet je zeker dat de klant tevreden zal zijn over de werking.
In het wekelijkse overleg met de klant is namelijk al interactie met de specificaties geweest en is een duidelijke eindspecificatie gevormd. Soms moet je op het laatste moment iets opnieuw ontwerpen omdat de testcriteria niet gehaald worden. Tja, dat hoort er nou een keer bij.
5. Afleveren van een product
Het leukste deel van bovenstaand proces is het leveren van het product op de juiste tijd met de juiste specificaties. Het vieren van een feestje bij een win/win hebt voor beide partijen. Dat je een blije klant hebt, die zeer tevreden is over alle elementen van het product. Dit genereert dan weer enorm veel energie voor de volgende, onmogelijk lijkende, uitdaging.
“Wat mij erg aanspreekt bij het werken bij Beeliners is dat het (nog) een relatief klein bedrijf is en daarom flexibel. Je bent echt bezig met iets te maken in plaats van het process eromheen. Door de flexibiliteit is het ook mogelijk dingen sneller te veranderen als iets niet blijkt te werken. Nog een leuk aspect hiervan is dat je met verschillende disciplines in aanraking komt en je dus niet op een eilandje met jou kleine stukje bezig kan zijn.”
Rik van Ark – Embedded Software Engineer