De voor- en nadelen van Big Design Up Front - en wat ik in plaats daarvan doe

Kan een waterval sprinten? Kan een windhond langzamer gaan?

Ik heb 18 jaar mijn eigen onafhankelijke ontwerpbedrijf. Beginnend toen waterval alles was wat we hadden, en vervolgens overging op extreem behendig, en alle variaties daartussenin.

Als freelancer werk ik voor verschillende opdrachtgevers - groot en klein - aan een breed scala aan digitale producten: van eenvoudige brochure-websites tot complexe web- en mobiele apps. Ik gebruik nog steeds een BDUF-watervalproces wanneer het bij het project past. Andere keren vraagt ​​de sfeer om een ​​zeer iteratieve en agile aanpak.

Ik wissel dagelijks vaak tussen deze tegenovergestelde ontwerpmethodes, terwijl ik de focus verschuif van het ene project naar het andere. Het heeft me geholpen om me aan beide aan te passen en de sterke en zwakke punten van elk proces te beseffen. Door beide methodologieën regelmatig te oefenen, ben ik in een unieke positie om te begrijpen wanneer de ene beter werkt dan de andere. En het zette me aan het denken of BDUF nog steeds een plaats heeft in de moderne ontwerp- en ontwikkelingswereld.

Voordat we BDUF vs. Agile bespreken, beginnen we met een paar definities:

Waterval

Een relatief lineaire sequentiële ontwerpbenadering waarbij de voortgang grotendeels in één richting stroomt ("neerwaarts" als een waterval) door de fasen van onderzoek, conceptie, ontwerp, constructie, testen, implementatie en onderhoud.

In- of uitzoomen

In het ontwerp betekent uitzoomen dat u zich concentreert op de volledigheid van een ontwerpsysteem, de doeltreffendheid ervan evalueert en ervoor zorgt dat het consistent en harmonieus samenwerkt.

Inzoomen is het focussen op een kleiner deel van het geheel - een functie, pagina, gebruikersstroom, enz. - hands-on ontwerpwerk dat individuele ontwerpoplossingen creëert.

Iteratie

Een cyclisch proces van prototypen, testen, analyseren en verfijnen van een product of proces. Op basis van de resultaten van feedback of testen van belanghebbenden worden wijzigingen en verfijningen aangebracht.

Integratie

Een handeling van samenvoegen tot een integraal geheel.

Kosten, goedkoop, duur

In deze context verwijst het naar de tijd en moeite die aan ontwerp of ontwikkeling wordt besteed, niet noodzakelijkerwijs een directe relatie met de geldkosten.

Engineering, ontwikkeling, codering

Enigszins door elkaar gebruikt - om de grens te trekken tussen waar het ontwerp stopt en de technische implementatie begint.

Wat is BDUF?

Big Design Up Front is een benadering waarbij een website-, app- of softwareontwerp van tevoren wordt voltooid en geperfectioneerd, voordat met de implementatie wordt begonnen. Het vereist een watervalproces en is afhankelijk van voorspelling . Dit was decennia voor de komst van Agile de gangbare methodiek. Websites en software waren vroeger erg duur om te bouwen, dus het was nodig om zoveel mogelijk knikken weg te werken voordat de dure engineering plaatsvond.

Zie het als het uitzetten van de koers van een schip. Als je de route, het weer, de stromingen en getijden al kent, kun je de reis plannen voordat je het water op gaat. Zodra u de haven verlaat, hoeft u geen tijd te verspillen aan het oriënteren.

Ontwerpers die al langer dan een decennium bestaan ​​- of buiten de "product" -bel van Silicon Valley werken - hebben waarschijnlijk hun vak aangescherpt met BDUF. Het is hun ontwerpcomfortzone.

BDUF-aannames

  • We kunnen van tevoren de doelen, vereisten en reikwijdte van het ontwerp volledig kennen - en het is onwaarschijnlijk dat deze significante veranderingen zullen ondergaan.
  • Ontwerpherzieningen zijn over het algemeen moeilijker en duurder om te maken nadat de code is geschreven. Efficiëntie wordt behaald door zoveel mogelijk uit te zoeken in ontwerp.
  • We kunnen en moeten beoordelen of een ontwerpoplossing goed of effectief is voordat deze volledig functioneel is.
  • Ingenieurs kunnen ontwikkelingsuitdagingen identificeren terwijl ze nog in ontwerp zijn, zodat we alternatieve ontwerpoplossingen kunnen vinden voordat we code gebruiken.
  • Als ingenieurs aan hun lot worden overgelaten, maken ze er een zooitje van. Design moet voorop lopen, anders zullen UX en esthetiek eronder lijden.

BDUF sterke punten

  • Als u precies weet wat u wilt, is dit de meest efficiënte manier om er te komen.
  • Aangezien al het ontwerp in één keer wordt gedaan, is er volop gelegenheid om uit te zoomen, vaak te integreren en holistisch te ontwerpen.
  • De gebruikerservaring is ontworpen en verfijnd door ontwerpers, en die ontwerpdocumentatie bepaalt de functionaliteit die ingenieurs moeten ontwikkelen. Elke rol speelt in op hun sterke punten.
  • Gemakkelijk te kosten en in te plannen, omdat het vanaf het begin een bekende hoeveelheid is.

BDUF-zwakke punten

  • Niet gemakkelijk aanpasbaar aan veranderingen in reikwijdte, of draait in doel. Mogelijk moet u de waterval weer op zwemmen om opnieuw te beginnen als doelen of vereisten veranderen.
  • Het ontwerp is niet zo gemakkelijk te testen en te valideren, omdat geen enkel deel ervan volledig functioneel is tot aan het einde van het lineaire proces.
  • Maakt geen gebruik van nieuwe lessen of betere oplossingen die kunnen ontstaan ​​tijdens latere fasen van het watervalproces.

Agile & Emergent Design

De agile ontwikkelingsmethodologie is ontworpen voor complexe, niet-deterministische, niet-lineaire projecten. Het geeft prioriteit aan adaptief zijn in plaats van voorspellend , waardoor de sprong in het diepe wordt verminderd die nodig is voordat bewijs wordt verkregen.

Agile heeft als doel een project op te splitsen in kleinere brokken. Cross-functionele teams gebruiken vervolgens sprints met korte tijdsbestekken om door versnelde versies van het hele watervalproces te werken - met als doel om in elke sprint iets te ontwerpen, produceren en testen. Hun lessen worden vervolgens geïntegreerd in de evoluerende reikwijdte van het project en helpen de richting van de volgende sprints en iteraties vorm te geven.

Als BDUF een zeer goed gedocumenteerde reis is die van tevoren is gepland, haalt Agile uw schip de haven uit met slechts een vaag idee van waar u heen gaat, en dan verkennen, plannen en aanpassen in het water. Het is een reeks kleine inzetten in plaats van een enkele goed berekende inzet.

Het Manifest voor Agile Software Development is gebaseerd op twaalf principes (via Wikipedia):

  1. Klanttevredenheid door vroege en continue levering van waardevolle software.
  2. Verwelkom veranderende eisen, zelfs in de late ontwikkeling.
  3. Lever regelmatig werkende software (weken in plaats van maanden)
  4. Nauwe, dagelijkse samenwerking tussen zakenmensen en ontwikkelaars
  5. Projecten zijn opgebouwd rond gemotiveerde individuen, die moeten worden vertrouwd
  6. Face-to-face gesprek is de beste vorm van communicatie (co-locatie)
  7. Werkende software is de belangrijkste maatstaf voor vooruitgang
  8. Duurzame ontwikkeling, in staat om een ​​constant tempo aan te houden
  9. Voortdurende aandacht voor technische uitmuntendheid en een goed ontwerp
  10. Eenvoud - de kunst om de hoeveelheid werk die niet wordt gedaan te maximaliseren - is essentieel
  11. De beste architecturen, vereisten en ontwerpen komen voort uit zelforganiserende teams
  12. Het team denkt regelmatig na over hoe het effectiever kan worden en past zich daarop aan

Opkomend ontwerp

Agile-methodologieën vereisen een nieuwe manier van denken die wordt beschreven als emergent design . Opkomend ontwerp heeft tot doel het tegenovergestelde te doen als BDUF - minimaal of geen ontwerp vooraf, zodat we zo snel mogelijk kunnen beginnen met verzenden, testen en valideren.

Opkomende ontwerpaannames

  • We kunnen het probleem of de ideale oplossing niet volledig begrijpen zonder veel testen en leren. De vereisten en het ontwerp moeten worden afgeleid , dus het is beter om zo snel mogelijk te beginnen met het bouwen van de tests.
  • Verandering is goedkoper in code dan tijdens ontwerp. (Of in ieder geval even duur).
  • Ontwerp kan niet worden beoordeeld of gevalideerd totdat het is gebouwd en bruikbaar in de echte wereld.
  • Ontwerpers kunnen technisch onmogelijke of dure oplossingen creëren als hun werk niet vaak wordt geïntegreerd en getest.
  • Te veel ontwerp vooraf (en alle documentatie) is verspilde moeite, omdat vereisten zullen veranderen of nieuwe oplossingen zullen ontstaan ​​voordat dat ontwerp zelfs maar is geïmplementeerd.

Opkomende ontwerpsterke punten

  • Ontwerp evolueert in de loop van de tijd en kan profiteren van nieuwe lessen.
  • Design is een gezamenlijke inspanning en geen solo, teruggetrokken proces. Zoals Manuel Dahm zei: "Dit vereist dat de ontwerper zich verplaatst van de eenzame ivoren toren van creatief genie naar het gedeelde appartement van de teamgeest."
  • Ontwerp en ontwikkeling gebeuren parallel, wat een geweldige samenwerking tussen teams en snelle probleemoplossing mogelijk maakt. Branden kunnen worden geblust bij het eerste teken van rook.
  • Er wordt weinig aan veronderstellingen of intuïtie overgelaten. Ontwerp wordt alleen geïmplementeerd als het bewezen is door data om te slagen. De onzekerheid over de effectiviteit van het ontwerp wordt weggenomen.

Opkomende zwakke punten in het ontwerp

  • Agile kan te outputgericht zijn en moedigt de feature factory aan.
  • Ironisch genoeg maakt de context van sprints een frequentere integratie op macroniveau mogelijk, maar biedt het minder mogelijkheden voor diepgaand, holistisch ontwerpdenken. Te veel smalle focus en niet voldoende brede visie betekent minder kans op integratie op het niveau van ontwerpsystemen. Dit kan leiden tot een middelmatig, inconsistent ontwerp dat niet gepolijst en heel is.
  • Ontwerp is moeilijk te kosten omdat het een bewegend doel is, gedicteerd door feedback van belanghebbenden en sprintcycli. Het volledige ontwerp komt mogelijk pas halverwege (of verder) tot stand tijdens een project.
  • De sprint- en herhaalcyclus eindigt vaak wanneer een 'goed genoeg'-ontwerp naar voren komt. Dan wordt het geleverd zonder veel gelegenheid om design voorbij middelmatigheid te verheffen. Ontwerpers verliezen hun prioriteiten op het gebied van kwaliteitscontrole wanneer beslissingen alleen door gegevens worden gedicteerd.

Net genoeg ontwerp vooraan

"Groot ontwerp vooraan is dom, maar geen ontwerp vooraan doen is zelfs nog dommer." - Dave Thomas

Ik dacht altijd dat agile de vijand was van goed ontwerp, maar toen realiseerde ik me dat het gewoon zo slecht is dat agile geen ruimte laat voor een goed ontwerp. Ik verzette me tegen het omarmen van een agile manier of werken, omdat veel van mijn ervaringen de zwakke punten van opkomend ontwerp naar voren brachten en ze niet goedmaakten met hun sterke punten.

In Is Agile de vijand (van goed ontwerp)? , Zegt John Cutler: "Goede" waterval verslaat elke dag misbruik van Agile.

Ik ben het ermee eens.

Elke productontwikkelingsmethodologie probeert ontwerpvragen te beantwoorden wanneer dit het goedkoopst is . Agile supporters zijn ervan overtuigd dat het tijdens korte sprints in kleine stappen het goedkoopst is. BDUF werkt als het van tevoren het goedkoopst is en als een geheel wordt beschouwd. Maar geen van beiden werkt voor ontwerpers als ze geen goed ontwerpresultaat opleveren.

Ik geloof niet dat BDUF of Agile de juiste balans vinden. Het zit er ergens tussenin. Daarom is mijn favoriete ontwerpmethodologie Just Enough Design Up Front (JEDUF).

JEDUF schiet te hulp

JEDUF erkent dat er een overkoepelend ontwerp nodig is om meer gedetailleerd werk mogelijk te maken. We kunnen niet altijd vanuit de heup schieten met “cowboyontwikkeling”. Ten eerste hebben we een paar doelpalen nodig. We hebben architectuur en design nodig om een ​​basis te leggen voor onze sprints.

  • Vroeg ontwerpwerk kan moeilijk zijn, maar moet altijd zo goed mogelijk zijn, gezien de beschikbare informatie op dat moment. Ja, er zal later nog veel meer ontwerpwerk moeten verschijnen, maar we willen geen enkel ontwerp opnieuw uitvoeren als we het de eerste keer goed kunnen doen.
  • Ontwerp vooraf moet worden beschouwd als de meest fundamentele aspecten van een project of product, dus het geeft informatie over de prioriteiten die moeten worden gebouwd en getest tijdens vroege sprints. Met andere woorden, identificeer de grootste risico's en ontwerp er vervolgens eerst voor. Dit legt de basis voor een ontwerpsysteem, vroegtijdig getest op stress en vaak door ontwikkelde stukken van de hoogste waarde. Sommigen noemen dit noodzakelijke ontwerp vooraf het "primitieve geheel".

Buiten JEDUF

Mijn eigen versie van JEDUF biedt mogelijkheden voor ontwerpdecompressie en integratie in verschillende stadia van het project. Ik noem het Just Enough Design Up Front & Middle .

JEDUF & M combineert kleine sprints - ingezoomde focus - en kansen voor holistische ontwerpintegratie vanuit een breed perspectief. Wanneer een kritische massa aan functionaliteit naar voren is gekomen, kan de sprintcyclus worden gepauzeerd om een ​​dieper ontwerp te overwegen.

Zie het als een nieuwe ontwerpsessie van tevoren, alleen zijn de doelen ervan gaan over samenhang in plaats van exploratie . Zodra het ontwerpsysteem holistisch en onder controle aanvoelt - door de herzieningen van eerdere sprints en lessen te integreren en te harmoniseren - begint de volgende ronde van sprints. Het is aan de ontwerper om te erkennen wanneer de noodzaak van een "midden" ontwerponderbreking vereist is, en laat het project niet te verstrikt raken in de details.

Ik heb ontdekt dat JEDUF & M de ultieme ontwerpmethodologie is. Het brengt het aanpassingsvermogen, de snelle iteraties en de focus op validatie in evenwicht die agile zo krachtig maakt - terwijl het ook rust, integratie en holistisch ontwerpsysteemdenken mogelijk maakt die verloren kunnen gaan tussen sprints en het leveren van functies.

Als u zich, zelfs bij deze ideale balans van methodologieën, ongerust voelt over het aantal onzekerheden, denk er dan op deze manier over na: omarm de onzekerheid . Nu bent u in staat om vorm te geven aan wat die beperkingen worden , in plaats van ze vooraf te laten bepalen en aan u op te leggen. Dit is meer verantwoordelijkheid, maar ook meer flexibiliteit. Als je die rol met zelfvertrouwen uitvoert, lever je een resultaat zonder spijt of compromissen, zelfs als het proces gaandeweg uitdagender is.

Er is nog genoeg ruimte voor BDUF

Je kunt het je niet veroorloven om deze dinosaurus volledig te ontslaan. Big Design Up Front is een zeer valide en efficiënt model bij gebruik op de juiste projecten.

Het voordeel van een up-front ontwerp neemt toe naarmate de complexiteit van het systeem afneemt.

Niet alle ontwerpers werken aan complexe zakelijke apps, met variabele doelstellingen van belanghebbenden en onzekere oplossingen. Niet elk project vereist enorme verkenning, testen en klantvalidatie.

Ik kan me niet voorstellen dat ik een flexibele benadering zou volgen bij het ontwerpen en bouwen van een eenvoudige brochure of portfoliowebsite. Mijn klanten zouden denken dat ik gek ben. In deze gevallen is BDUF nog springlevend.

BDUF en Agile zijn twee uiteinden van een enkel spectrum. Bepaal wat u vóór, tijdens en na het bouwen moet valideren, en pas uw proces vervolgens aan om het juiste ontwerp op het juiste moment te vergemakkelijken. De meeste projecten vallen ergens in het midden van het spectrum, niet in de radicale periferieën.

En laten we niet vergeten dat het watervalproces niet zo rigide en lineair hoeft te zijn als de critici ervan uitspreken. BDUF kan nog steeds "vroeg en vaak leveren", feedback van belanghebbenden verzamelen, snel herhalen en in de loop van de tijd evolueren. Het is gewoon dat deze evolutie volledig plaatsvindt op het gebied van design.

Binnen onze grote waterval kunnen we mini-watervallen maken. Er zijn tal van handige manieren om kleine validaties te bereiken en verder te gaan zonder dat een heel multifunctioneel team het rechtstreeks in de code duwt en zich haast om te verzenden.

BDUF betekent niet dat er geen mogelijkheid is om het ontwerp te leren, aan te passen en te verbeteren door middel van feedback en iteratie. Als dat is wat je denkt dat BDUF is, heb je het misschien al die jaren verkeerd gedaan?

Alsjeblieft ? c ronde als je dit waardevol vond, en? f o llow me f of meer schrijven als dit, zoals ik al 18 jaar freelance design kennis ontvouwen?

Abonneer je om mijn beste artikelen in je inbox te krijgen.

Dit verhaal is ook te vinden op solowork.co