Mijn aanpak in functioneel ontwerp

Mijn professionele leven speelt zich af in IT. Ik ben niet de programmeur/ ontwikkelaar of de systeemarchitect, maar ik ben de intermediair tussen de gebruikers en de mensen die IT-oplossingen realiseren.

Als ik met mijn klanten praat, moet ik technologie vermijden en me concentreren op wat ze doen en waarom. Daarbij identificeer ik het potentieel van automatisering. Ik isoleer de taken die zo dom zijn dat een computer het beter kan.

De manier waarop ik mijn werk benader, lijkt allemaal speels en intuïtief, maar wat ik doe is gebaseerd op een mix van methoden en normen. Ik ben de laatste om een ander op te leggen hoe het werk gedaan moet worden maar als ik aan het roer sta dan doe ik het zo.  Het is voor mij een beproefde manier om mijn werk te doen. 

Door de jaren heen heb ik klussen gedaan van klein tot groot en van eenvoudig tot complex en wat voor mij duidelijk is, is dat als ik deze aanpak volg, de uitkomst altijd een logisch gevolg is.

Probeer dit eens thuis. Vorm je eigen stijl, maar jat gerust dingen van mij wanneer het bij je past. Je zult ervaren dat werken via een bewezen methodiek altijd leidt tot een goed resultaat.

Observeer en beschrijf het proces

Techneuten vinden het moeilijk om use cases te schrijven.

Een use case beschrijf het proces en de toepassing van taken. Het zal in 99% van de gevallen leiden tot een IT bijdrage maar de use case zelf beschrijft het proces. Binnen dat process wordt wel aangegeven welke hulpmiddelen worden ingezet >

Er gaat wat in, er gebeurt wat en dan komt er wat uit.

Wat er precies gebeurt in die zwarte doos wordt beschreven in gewone mensen taal. De beschrijving bestaat uit een hoofdstroom en die kan worden aangevuld met sub- of alternatieve Vermijd het gebruik van technisch jargon. Het proces kan ook zijn samengesteld uit sub- of alternatieve stromen.

De proces-analyst of ontwerper beschrijft daarnaast:

  • 1 primaire actor; de persoon of operateur die het proces in gang zet.
  • 1 of meer secondaire actors; mensen/ betrokkenen die een belang hebben bij de uitkomst van het proces. Ook de actoren die samen werken aan het proces in combinatie met de primaire actor horen hiertoe.

Het schrijven van use cases is het domein van de proces-analist or functioneel georiënteerde systeemontwerper.  Techneuten zoals systeemarchitecten of ontwikkelaars zijn vaak de slechts denkbare procesanalisten omdat ze vanuit techniek redeneren. 

Een goed team is gebaseerd op een mix van deskundigheden.

Een use case is een overeenkomst tussen een IT dienstverlener (supply) en een afnemer of de proceseigenaar (demand). Als de proceseigenaar niet snapt wat er beschreven is dan is het een waardeloze beschrijving. 

Een proces gevat in één use case.

Soms is dat net genoeg. Als je moeder op zaterdag haar wekelijkse frietjes maakt, hoef je het proces absoluut niet in detail te beschrijven. Mama is slim genoeg om alleen die aardappelen te schillen die de juiste vorm hebben. Ze weet hoe ze die geschilde aardappelen moet snijden, weet intuïtief of  via trucjes of de olie op de juiste temperatuur is. Door de kleur te observeren weet ze wanneer de frietjes gaar en perfect krokant zijn. en ze weet dat ze de resten als schil en zand in de groene container moet weggooien.

Maar wat te doen als je op industrieel niveau friet wil bakken?

Met behulp van industriële machines maakt een maximaal geautomatiseerd en gemechaniseerd proces een 24/7 aanpak mogelijk. Machines hebben geen licht nodig, pauzeren niet om de twee uur en presteren met uiterste concentratie.

Als het dom genoeg is dan kan je een computer het werk laten doen.

Om dat te doen, moet je het proces opdelen in kleinere delen (fijnere granulariteit) en je moet heel specifiek zijn. Een computer heeft niet het gezond verstand dat een moeder heeft. To compute is rekenen. Daarom moet je de taken meetbaar maken. Een computer kan waarden vergelijken.

Aardappels selecteren en wassen

Preconditie

  • Een partij modderige en ongesorteerde patatten wordt in het invoerreservoir gekiept. 

Hoofstroom

  • Aarappels worden afgespoten met water. 
  • Wacht 5 minuten.
  • Verspreid de aardappels over de lopende band. 
  • Schudden to ze in lengterichting liggen.
  • Afspuiten met water terwijl ze worden gekeerd om de lengteas.
  • Doe de druktest waarmee je rotte, zompige patatten kunt vinden.
  • Verwijder de zompige aardappels door ze weg te blazen naar de afvoerband.
  • Meet de aardappels via een lasersysteem.
  • Isoleer te kleine aardappelen.
  • De geslecteerde aardappels worden via een schuurmechanisme geschild. 

Sub-stromen of alternatieve stromen

  • Zompige aardappelen worden weggeblazen door een luchtdrukpistool en vallen op de transportband voor rotte patatten. 
  • Kleine aardappelen worden weggeblazen door een luchtpistool en vallen op de transportband voor kleine aardappelen
  • Het was-proces wordt stilgelegd vanwege te veel schone aardappelen in het snijreservoir

Postconditie

  • De juiste aardappels zijn geselecteerd en geschild en vervolgens gelost in het reservoir van de snijmachine.
  • Zompige aardappels zijn gedumpt in de container met rotte patatten.
  • Te kleine maar stevige aardappels zijn afgevoerd naar de afdeling aardappelpuree. 
  • Een hoop aardappelschillen.

Aardappels snijden

De output van een vorige stap is de input voor een volgende stap. Vandaar het woord procesketen.

Andere voorbeelden:

  • Van zand tot klant.
  • Van zaadje tot karbonaatje.

Preconditie

  • De juiste aardappels zijn geselecteerd en geschild en vervolgens gelost in het reservoir van de snijmachine.

Hoofdstroom

  • Aardappelen worden in lengterichting geplaatst
  • Aardappelen worden in lengterichting door de messen geduwd
  • Rauw frietjes worden geschud om van elkaar gescheiden te worden

Sub-stromen of alternatieve stromen

  • Het snijproces wordt teruggebracht tot 50%
  • Het snijproces wordt stilgelegd
  • Wanneer de belasting van het invoerreservoir voor snijden de 200 kilo overschrijdt, wordt het was-proces gestopt

Postconditie

  • Aardappelen zijn tot frietjes gesneden en toegevoegd aan het frituurreservoir

Frietjes bakken

Preconditie

  • Aardappelen zijn tot frietjes gesneden en toegevoegd aan het frituurreservoir

Hoofdstroom

  • Aardappelen worden geportioneerd.
  • Aardappelen worden 2 minuten gebakken in olie van 160 graden Celcius.
  • Aardappelen worden gezeefd en geschud om los te komen.
  • Aardappelen worden verspreid over het koelrek.

Sub-stromen of alternatieve stromen

  • Aardappelen worden op het koelrek bewaard tot de er vraag is.
  • Wanneer de vraagpartij 5 kilo overschrijdt, houdt u de eerste frituurfase vast.
  • Wanneer het friteusereservoir meer dan 25 kilo bevat, wordt het snijden teruggebracht tot 50% snelheid.
  • Wanneer het friteusereservoir meer dan 40 kilo is, wordt het snijproces stilgelegd

Postconditie

  • Friet is gebakken en toegevoegd aan het inpak/ serveer reservoir

Gebakken frietjes inpakken en verkopen

Preconditie

  • Friet is gebakken en toegevoegd aan het inpak/ serveer reservoir

Hoofdstroom

  • Frieten worden gebakken, licht gezouten en verpakt.
  • Frieten zijn gebakken, licht gezouten, verpakt met toegevoegde ketchup.
  • Frieten zijn gebakken, licht gezouten, verpakt met toegevoegde mayonaise.
  • Frieten zijn gebakken, licht gezouten, verpakt met toegevoegde azijn

Sub-stromen of alternatieve stromen

  • Er wordt voor frietjes betaald.
  • Frieten worden verpakt voor “meenemen”.
  • Er wordt besloten om ze weg te geven aan de buurtkinderen.
  • Friet die te lang heeft gelegen en muf is geworden en de knapperigheid verliest, wordt weggegooid als varkensvoer.

Postconditie

  • Frieten zijn betaald en overhandigd aan de koper om ter plaatse te worden gegeten.
  • Frieten zijn betaald en aan de koper overhandigd in een zak om mee te nemen.
  • Frieten zijn gratis weggegeven en aan het kind overhandigd om ter plaatse te worden gegeten.

Richt je tegelijk op de hulpmiddelen en bronnen

Wat gebeurt er vervolgens met deze use-cases?

De business analist maakt een overzicht van de functionele componenten. Bij het beschrijven van de functionele aspecten is dit tevens het uitgangspunt om de infrastructurele aspecten met de architect (welk platform) of het applicatieaspect met de lead developer te bespreken.

Voor de architect en de hoofdontwikkelaar zijn deze functionele ‘dingen’ de interface naar technisch ontwerp en documentatie.

Het is teamwork en vereist een verscheidenheid aan disciplines.

De use case van frietjes bakkenbeschreven op mama-niveau

Een use case- of toepassing diagram

In een use case diagram wordt vaak geen onderscheid gemaakt tussen de weergave van een menselijke actor en een gereedschap, hulpmiddel, een machine of een bron. Sommige puristen vinden dat je een computersysteem ook als een man moet tekenen. Ik heb daar moeite mee omdat ik op zoek ben naar die dingen die zo dom zijn dat je ze kunt uitbesteden aan een computer.

De mens komt dan beter tot zijn recht door zijn/haar vermogen tot nuancering, ethiek, fantasie en gezond verstand

Een use case model op industrieel frietbakniveau

De use-cases of procesbeschrijvingen worden weergegeven als ellipsen. De grenzen van het proces worden weergegeven met een rechthoek.

Het model is ook hiërarchisch. Elke use case kan worden geopend door erop te klikken en vervolgens wordt het volgende niveau van de use case weergegeven.

Er is geen limiet in verfijning of granulariteit.

De stokfiguurtjes vertegenwoordigen menselijke gebruikers

Het vierkante pictogram met de twee balken vertegenwoordigen de niet-menselijke actoren in het proces.