Deze tekst is het gevolg van een samenvatting van de originele tekst door GPT.
Titel: Spelen met tussenschotten, lagen en stromen – Volledige herschrijving
een andere samenvatting staat hier
INLEIDING
Softwarecomplexen zijn moeilijk te besturen. Code veroudert, kennis verdwijnt, documentatie ontbreekt. Externe software zoals Windows versterkt afhankelijkheid. In deze tekst wordt teruggeblikt op vijftig jaar automatisering en de pogingen tot besturing ervan.
1. PROGRAMMEREN (1969–1980)
In deze periode lag de nadruk op programmeertalen als ALGOL en Assembler. Ontwikkeling was technisch en traag. Ontwerp of beheer speelde geen rol. Programmeurs werkten rechtstreeks op geheugenadressen. Elke fout betekende herstarten. De eerste automatiseringsfase draaide om individuele realisatie, niet om overdraagbaarheid of structuur.
2. TAAL EN AUTOMATISERING
Mensentaal is ambigu; computertaal vereist eenduidigheid. Pogingen om gebruikers computertaal op te leggen faalden. Resultaat: groeiende complexiteit van software. Nieuwe talen gaven abstractie, maar leverden vertraging en onbegrip op. Elke laag introduceerde vertaalverlies. Ontwikkelaars kozen tussen controle en gebruiksgemak.
3. SOFTWARE IS NIET EXACT
Computers rekenen met benaderingen. Elke berekening introduceert afrondfouten. Complexe wiskundige modellen zijn daarom onbetrouwbaar. Toch wordt software als exact gezien. Gebruikers vertrouwen blind op cijfers en grafieken. Foutmarges blijven meestal verborgen.
4. LEREN EN VERANDEREN
Leren verloopt volgens twee modellen: gradueel (Gagné) en sprongsgewijs (Piaget). Verandering vereist aanpassing van mentale structuren, met emotionele neveneffecten. Dit verklaart weerstand bij implementaties. Accommodatie tast zelfs het immuunsysteem aan. Leren raakt niet alleen denken, maar ook lichamelijk evenwicht.
5. ECHTE PROBLEMEN
Veel automatiseringsproblemen zijn onoplosbaar. Optimalisaties botsen met realiteit. Elke kleine wijziging in parameters veroorzaakt disproportionele systeemveranderingen. De illusie van maakbaarheid leidt tot geloofssystemen binnen ontwerpteams. Oplossingen zijn gebaseerd op overtuiging, niet op bewijs.
6. APL EN COMPLEXITEIT
APL maakte directe expressie van wiskundige logica mogelijk. De kracht ging ten koste van leesbaarheid. Programma’s werden compacter, maar onbegrijpelijk. Zonder documentatie was overdracht onmogelijk. Creativiteit werd beloond, onderhoud genegeerd. Druk op snelheid en innovatie ging ten koste van kwaliteit.
7. MIS, COBOL EN SPECIFICATIES
In managementinformatiesystemen werden wiskundige modellen (APL) en administratie (COBOL) samengebracht. Nieuwe technologieën zoals IMS vroegen veel geheugen. Specificaties werden juridisch afweermechanisme. Samenwerking werd vervangen door papier. De gebruiker werd buiten spel gezet.
8. PLANNING EN BELEID
In de jaren 80 verschoof de focus naar beleidsvorming. Plannen veronderstellen voorspelbaarheid. In werkelijkheid is de omgeving turbulent. Voorspellen maakt plaats voor bijsturen. Theorieën als “planning by learning” ontstaan. Managers moeten richting geven, geen controle. Rampen legitimeren vaak grote veranderprojecten.
9. PREVENTIE EN OVERCONTROLE
De watervalaanpak bracht fases en standaarden. Preventie werd doel op zich. Kwaliteitscontrole, ISO-certificering en rollenproliferatie verdrongen inhoudelijk vakmanschap. Complexiteit nam toe; effectiviteit daalde. Zelfreflectie verdween uit beeld. Ontwikkelaars zochten naar manieren om regels te omzeilen.
10. PROJECTSTRUCTUREN
Automatisering werd ingericht als productieproces. Bouwers werden omringd door beheerders. Projectdoelen (tijd, geld, functionaliteit) leidden tot shortcuts in testen en documentatie. Tools en methodes namen de overhand. Het systeem werd ondoorgrondelijk. Niemand had overzicht over het geheel.
11. GROEIEN EN VERSNIPPEREN
De opkomst van de PC decentraliseerde automatisering. Iedereen kon zelf software maken. Pakketten verdrongen maatwerk. Interfaces ontbraken. Concurrentie versnelde ontwikkelcycli. Kwaliteit daalde. Gebruikers accepteerden crashes als normaal. Beheersing werd onmogelijk.
12. DE MENS EN COGNITIEVE BEPERKINGEN
Mensen zoeken orde in chaos. Ze construeren verklaringen, ook als die niet kloppen. Analisten mappen interpretaties, geen realiteit. Gebruikers liegen onbewust over processen. Zelfsturing vereist bewustzijn van eigen denkfouten. Complexiteit wordt vaak genegeerd tot het te laat is.
13. EVOLUTIE ALS MODEL
Evolutie vereist variatie en selectie. Structuren passen zich aan of verdwijnen. Softwareontwikkeling volgt dit patroon. Top-downstructuren falen omdat lagen intern conflicteren. Iteratief werken en beperkte scope leveren betere resultaten. Zelforganiserende teams presteren beter dan hiërarchische eenheden.
14. SAMENVATTING
- Softwareontwikkeling is fundamenteel complex en onvoorspelbaar.
- Klassieke planning en beleid voldoen niet.
- Iteratie, feedback en aanpasbaarheid zijn cruciaal.
- Mensen hebben cognitieve en emotionele grenzen.
- Technische controle faalt zonder begrip van sociale dynamiek.
- Evolutie biedt een robuust model voor ontwerp en organisatie.
Slotzin:
Deze tekst biedt geen methode, maar inzicht. Wie software wil besturen, moet leren loslaten en anders kijken: door tussenschotten, langs lagen, en met oog voor stromen.
