De kosten van een feature

De kosten van een feature

Wat is de prijs die je betaalt voor het implementeren van een feature? Je bent geneigd om bij een feature request direct een schatting af te geven: in 8 - 12 uur denken wij mogelijkheid X toe te kunnen voegen aan de user interface. En als dit voor een klant is, hangt daar een bepaald prijskaartje aan. Toch is dat financiele prijskaartje niet het enige waaraan gedacht moet worden, als we het over de kosten hebben.

Ik werd aan het denken gezet door een tweet van John Gruber:

The entire software world would do well to think in terms of 'complications' not 'features'.

Zijn punt is dat je met elke feature een stukje complexiteit toevoegt. Je betaalt als het ware met deze extra complexiteit.

Overzicht in de User Interface

Met elke optie die je toevoegt wordt bijvoorbeeld de user interface een stukje complexer. Je kunt dat natuurlijk zo netjes mogelijk oplossen, maar hoe dan ook wordt het geheel een stukje minder eenvoudig. En als je dat maar vaak genoeg blijft doen, heb je op een gegeven moment een vrij complexe interface. Zulke complexiteit kan er voor zorgen dat gebruikers bepaalde opties minder makkelijk kunnen vinden. Of zij lopen vast doordat twee features op onverwachte wijze met elkaar interfereren.

Complexer handmatig proces

Je probeert uiteraard zoveel mogelijk te automatiseren. Soms lukt dat, maar andere keren ontkom je helaas niet aan een handmatig proces rondom het goed laten werken van een feature. Denk bijvoorbeeld aan het handmatig fiatteren van recensies op producten in een webshop. Dat is mensenwerk en de tijd die dat kost moet je meewegen in de kosten. En als zo'n handmatig proces voor een klant erg complex is, zullen wij als Procurios ook een afweging maken: hoeveel vragen gaan we hierover krijgen bij onze servicedesk?

Onderhoud van code

Door nieuwe features wordt ook het onderhoud van de code een stukje complexer. Je hebt immers meer code geschreven waar iets mis mee kan zijn. En bij iedere toekomstige uitbreiding zul je rekening moeten blijven houden met alle eerder ontwikkelde features.

Kortom, ik vind het uitgangspunt van John Gruber wel interessant: we gaan een stukje complexiteit toevoegen... En weegt de toegevoegde waarde wel voldoende tegen die complexiteit op?

Leave a comment...

Leave a comment

Italic en bold

*Dit is italic*, en _dit ook_.
**Dit is bold**, en __dit ook__.

Links

Dit is een link naar [Procurios](http://www.procurios.nl).

Lijsten

Een lijst met bullets kan worden gemaakt met:
- Min-tekens,
+ Plus-tekens,
* Of een asterisk.

Een genummerde lijst kan worden gemaakt met:
1. Lijst-item nummer 1.
2. Lijst-item nummer 2.

Quote

Onderstaande tekst vormt een quote:
> Dit is de eerste regel.
> Dit is de tweede regel.

Code

Er kan een blok met code worden geplaatst. Door voor de tekst vier spaties te plaatsen, ontstaat een code-block.