Forrest Technology heeft een sterke positie opgebouwd in het leveren van hoogwaardige software en IT diensten. Zo is Forrest voor de reiswereld marktleider op het gebied van search, content en distributie.
We bieden een totaalpakket van business en technology strategieën (consultancy) in combinatie met online distributie, search, marketing, communicatie en informatie technologie. Technologie van Forrest in actie zien? Vergelijk vakanties op Olezo.nl.
“You can find our footprint in new and uncharted territories.”
Maart 2009, Michiel Tielemans
Wat mij de laaste tijd erg bezig houdt zijn een aantal foutjes die in een van onze websites zijn geslopen. Een fout in een product is niet ongebruikelijk, sterker nog aan elk product dat u in huis heeft of elke website die u bezoekt zit ergens wel een fout.
Michiel Tielemans is Portal Manager van Familieband.nl
Actuele weergegevens op uw website
Vanuit één bron al uw sales kanalen op maat bedienen
Laat uw bezoekers makkelijk zoeken, filteren en verfijnen
Bij Forrest zijn we altijd op zoek naar mensen die onze ambities delen.
Experts aan het woord
Inleiding
Wat mij de laaste tijd erg bezig houdt zijn een aantal foutjes die in een van onze websites zijn geslopen. Een fout in een product is niet ongebruikelijk, sterker nog aan elk product dat u in huis heeft of elke website die u bezoekt zit ergens wel een fout. Of het nu gaat om een programmeerfout, een fabriekagefout of een probleem met compatibilty van samenwerkende systemen, het resultaat is vrijwel altijd: frustratie. Frustratie bij de gebruiker, maar dikwijls ook bij de producent. Terwijl ik me boog over een, in een vriendelijker woord uitgedrukte ‘bug’ begon ik na te denken over de aard van fouten in software. Waarom komt u vaak “stomme” fouten tegen en waarom lijkt het eenvoudig zulke fouten op te lossen of te voorkomen?
Een computer weet niets
Met de komst van Web 2.0 (Integratie van sociale netwerken/applicaties in traditionele informatieve websites) zijn websites veel uitgebreider geworden in hun functies; meer en meer ziet u zeer complexe functionaliteiten die op een natuurlijk aanvoelende manier gebruikt kunnen worden. Software en websites worden steeds “slimmer”, en kunnen lijkt het haast met de gebruiker meedenken. Google geeft automatisch een suggestie voor het juiste zoekwoord als jij een typfout maakt. Hyves lijkt in jouw vriendenkring te kunnen kijken wanneer u een suggestie krijgt van iemand die nog niet bij uw Hyves-vrienden staat maar waarschijnlijk wel een vriend van u is. En Familieband.nl weet wie u nog in uw stamboom kunt zetten, voordat u uw familie hebt uitgebreid. De schijn is dat de website dit weet, en naar de wereld kijkt zoals wij dat ook doen. De waarheid is echter dat dit soort slimmigheden eerst bedacht worden door een ontwikkelteam, en daarna regel voor regel geprogrammeerd worden. Een computer werkt exact en uitsluitend volgens de regels die geprogrammeerd worden, niet meer en niet minder. U zou het kunnen vergelijken met een rechtssysteem, dat volgens wetten werkt. Uitsluitend wat in de wet staat mag wel en niet, al het andere is onbepaald. Als de wetgever de wet niet exact en zonder enige ambiguïteiten heeft gedefiniëerd, kan het zijn dat er een maas in de wet gevonden wordt, waardoor er dingen gebeuren die niet zo bedoeld ware. Een computer werkt net zo, daar noemen we dit een bug. Een bug in een website is vaak te wijten aan het feit dat een mens normaal gesproken een aantal dingen voor waar aanneemt. Voorbeeld: we willen dat de gebruikers van website X een blauwe, gele of groene achtergrond kunnen kiezen. Het ontwikkelteam moet dan programmeren dat die drie keuzes gemaakt kunnen worden. Daarmee lijkt het klaar, maar waar het vaak op neer komt is dat er ook geprogrammeerd moet worden dat geen enkele andere kleur mag. Een computer weet dat immers niet automatisch. Dit schets in het kort waarom er soms wat fout gaat: het is niet de intentie van functionaliteit waar het fout gaat, echter veeleer de contradictie hiervan.
Wat kan er gedaan worden om fouten te voorkomen
Sinds de ontwikkeling van de eerste systemen zijn er methoden ontwikkeld om te waarborgen dat deze systemen werken zoals zij ontworpen zijn. Er zijn dan ook veel handvaten om een website of softwareproduct zo foutloos mogelijk te maken. Voor de hand liggend zijn testmethoden: van een checklist bij ontwikkeling tot een uitgebreid testplan tijdens een gevorderde fase van ontwikkeling. Bij software ontwikkeling wordt ook gebruik gemaakt van geautomatiseerde testmethoden, waarbij het ontwikkelteam niet alleen een functionaliteit ontwikkeld maar ook een stuk functionaliteit die geautomatiseerd delen van de gemaakte producten kan testen op juistheid: unittesting. Daarnaast kan er naast testen ook gebruik gemaakt worden van foutafhandelingsmethoden die een eventuele fout die optreed ‘onschadelijk’ kunnen maken door de laatst gedane handeling terug te draaien bijvoorbeeld. Desalniettemin, elke testmethode is er een die ontwikkeld wordt door mensen, waardoor de kans op fouten in die testmethode ook bestaat. Een perfecte oplossing is er dus niet. Wat ook vaak een rol speelt bij de kwaliteit van software is tijd, geld en expertise. Testen kost immers geld, en foutafhandeling ontwikkelen wordt nog wel eens vergeten in de planning.
Kortom, het volgende gezegde kunt u bij software erg letterlijk nemen: een fout is menselijk. We streven er naar onze websites vrij te maken van fouten en oneffenheden, want ik kan u verzekeren ook voor een programmeur is een imperfectie in zijn of haar product frustrerend.