Wat designers van programmeurs kunnen leren

‘Lean manufacturing’ is ondertussen een ingeburgerd begrip geworden in productieomgevingen. Via een ommetje in softwareontwikkeling, komen elementen ervan terug in de ontwikkeling van nieuwe producten.

Lean Manufacturing is een verzameling van een aantal technieken die de ‘waste’ in het productieproces elimineren, om uiteindelijk een product met minder kosten en sneller tot bij de eindklant te brengen. De productie kan sneller reageren op veranderingen in de markt. Ze is dus ‘wendbaarder’ of ‘meer agile‘.
Deze technieken waren de inspiratiebron voor een nieuw proces om software te ontwikkelen. Vroeger werden telkens hele modules geprogrammeerd en opgeleverd. Tegen de tijd dat deze opgeleverd werden, waren de verwachtingen dikwijls veranderd, of was het opgeleverde toch niet helemaal wat de klant bedoeld heeft.
Agile Programming en SCRUM zijn het resultaat van het verdelen van de specificaties in kleinere stukjes . Evenals bij Lean Manufacturing wordt de tijd tussen het geleverde werk en de klant zo kort mogelijk gehouden om zo snel mogelijk feedback te krijgen. Op basis van deze feedback krijgen de openstaande ‘user stories’ voor de volgende sprint een nieuwe prioriteit.
Visuele ondersteuning in de vorm van een ‘burndown chart’ geeft aan hoeveel werk geleverd is, en hoeveel nog geleverd moet worden om op die manier de ‘takt’-tijd van de sprint te bewaken.
Dagelijkse – korte – meetings nemen de functie van Andon-lichten over: ze geven aan of er een lid in het ontwikkelteam problemen heeft, en laat toe aan zijn collega’s om bij te springen indien nodig.
Op regelmatige basis is er een voorstelling aan de klant van het geleverde werk. Dit is typisch om de twee à drie weken. Door na ieder van deze sprints het proces van de ontwikkeling zelf te overlopen, gaat ook dit op termijn efficiënter verlopen.

De cirkel kan nu rondgemaakt worden door deze concepten terug over te nemen in de wereld van de productontwikkeling. Hiermee bedoel ik niet het feit dat software een immer belangrijker deel gaat uitmaken van het product, maar echt de eigenlijke ontwikkeling.
Prototypes gemaakt door 3D printing of andere technieken zorgen dat de klant een realistisch beeld krijgt van de stand van zaken. Evenals in softwareontwikkeling zal een tijdige terugkoppeling veel verloren tijd vermijden. Verschillende vragen kunnen opgelost worden: Passen de verschillende onderdelen goed in elkaar? Ligt het resultaat goed in de hand? Zijn alle oorspronkelijk gevraagde features nog altijd even relevant? … in een aantal gevallen zal ook een CAD software de oplossing bieden, maar een écht product zal voor de klant sprekender zijn.
Het ontwikkelen van software blijft altijd flexibeler dan de realisatie van een nieuw product, maar door nieuwe technologieën voor ‘rapid prototyping’ moet ook het ontwikkelproces herbekeken worden om hier optimaal gebruik van te maken.