Bouw Specificaties Schrijven

Een idee kan niet zomaar worden omgezet in code. Daarvoor moet eerst e.a. op papier worden gezet. Dit is niet alleen belangrijk voor de overdracht van de ideeën naar de technische partij die het moet gaan bouwen, maar ook voor de opdrachtgever zelf. Want als ideeën worden toevertrouwd aan papier wordt er uitgebreider over nagedacht. Dat scheelt re-design, wijzigingen en overhead en dus geld.

Het aan het papier toevertrouwen wordt specificeren genoemd en vindt op twee niveaus plaats. Als eerste het Functioneel Ontwerp en indien nodig in een Technisch Ontwerp.
Een bijkomend belang van deze documentatie is dat erna verwezen kan worden in de contracten. Hierdoor krijgen de documenten juridische draagkracht en kunnen ze gebruikt worden in de discussie indien de bouwpartij in gebreken blijft.

Functioneel Ontwerp (FO)

Een functioneel ontwerp is een document waarin beschreven staat wat de te bouwen website, app of systeem functioneel moet bieden. Het document moet zo zijn geschreven dat de klant het goed kan begrijpen, maar moet ook toegevoegde waarde bieden voor de technische partij die de oplossing moeten gaan bouwen.
Een functioneel ontwerp bevat de volgde onderdelen:

  • Doel van de oplossing
  • Wie zijn de stakeholders
  • De te behalen doelenstellingen (indicaties van meetbare zaken)
  • Beschrijving van de benodigde functionaliteiten
  • Een navigatie flow
  • Overige schema’s (flows) indien van toepassing om functionaliteit te verduidelijken
  • Wireframes van de belangrijkste pagina’s
  • Koppelingen met andere applicaties
  • Technologie die gebruikt moet worden indien van toepassing

Afhankelijk van wat voor een soort oplossing nodig is worden ook specifieke zaken vermeld. Voor een website zijn dat bijvoorbeeld:

  • Eisen met betrekking tot de browsercompatibiliteit en resolutie
  • Eisen met betrekking tot de zoekfunctionaliteit
  • Eisen met betrekking tot SEO
  • Eisen aan de beveiliging
  • Eisen aan het gebruikersbeheer
  • Integratie van tools (Analytics/Adwords/et cetera)
  • Op te voeren of te importeren content

Bij het maken van een FO is het van belang dat met alle stakeholders gesproken is (of de business analist indien die betrokken is bij het project) om het functioneel ontwerp zo dicht mogelijk bij de wensen en eisen te laten aansluiten.

Technisch Ontwerp (TO)

Het technisch ontwerp gaat een stap verder dan het functioneel ontwerp, het is een uitbreiding op het functioneel ontwerp. Voor een relatieve platte website is een technisch ontwerp meestal niet nodig omdat die op basis van bestaande CMS technologie gemaakt kan worden. Als de oplossing database ontwikkeling nodig heeft is dat een goede indicatie dat een technisch ontwerp gemaakt moet worden.

Zoals de naam al zegt is dit ontwerp technisch van aard en daarvoor vaak moeilijk te begrijpen door de klant. Toch is het een belangrijk document omdat een technische visie wordt bedacht op hoger niveau van waaruit de oplossing dan ontwikkeld wordt. Het zet de architectuur neer waar alles straks aan opgehangen wordt. Zeg maar het fundament van het huis.
Het technisch ontwerp is ook belangrijk als leidraad in de toekomst als andere ontwikkelaars de oplossing overnemen voor onderhoud en doorontwikkeling.
In het technisch ontwerp bevat de volgende onderdelen:

  • De technische infrastructuur
  • De te gebruiken programmeertalen
  • Wireframes van alle schermen
  • De structuur van de databases tot het detail van de velden
  • De te gebruiken communicatie protocollen
  • De detail beschrijvingen van de interfaces (API’s)
  • De beveiligingen die moeten worden geïncorporeerd
  • Beschrijvingen van de koppelingen met externe applicaties
  • Keuze ontwikkelmethode
  • Fasering van de te ontwikkelen onderdelen

Ondersteuning

Ik kan u helpen bij het schrijven van het functioneel- en technisch ontwerp. Of indien u het door de bouwpartij laat doen kan ik het beoordelen en verbeteringen aandragen. Ik raad u dit ten sterkste aan omdat het bouwpartij meestal in hun voordeel schrijft en niet dat van u.

Het functioneel- en technisch ontwerp zijn wat niet alleen tijdens de initiële ontwikkeling van groot belang. Ik ben groot voorstander om alle wijzigingen aan de oplossing door te voeren via het functioneel- en technisch ontwerp. Hierdoor zijn alle betrokkenen constant op de hoogte van alle aanpassingen en kunnen hun taken daarop aanpassen.