Een feature is een specifieke mogelijkheid die je software biedt aan de mensen die het gebruiken. Het inlogscherm is een feature. Net als het zoekvak, de mogelijkheid om een rapport te downloaden, of een melding die je mailt zodra een taak klaar is. Elk daarvan is een afgebakend stuk waarde dat een gebruiker kan aanwijzen en gebruiken.

Zie features als de opties op een auto. De motor en wielen maken het überhaupt een auto, maar stoelverwarming, cruisecontrol en een achteruitrijcamera zijn de features waarop mensen vergelijken en kiezen. Software werkt net zo: een minimum viable product gaat live met net genoeg features om bruikbaar te zijn, en de rest komt erbij naarmate je leert wat gebruikers echt nodig hebben.

In het dagelijkse ontwikkelwerk zijn features de manier waarop teams hun werk indelen. Eén feature wordt gepland, gebouwd in een sprint of twee, beoordeeld in een pull request en daarna uitgebracht. Elke feature heeft meestal een korte omschrijving van wat hij moet doen en hoe je weet dat hij af is, zodat iedereen op hetzelfde doel mikt. Features klein en helder afgebakend houden maakt ze makkelijker te testen, uit te brengen en te overzien, en het zorgt dat een halfafgebouwde feature nooit de rest van de release blokkeert.

Er hoort ook discipline bij. Elke feature kost geld om te bouwen en te onderhouden, dus goede teams weerstaan de neiging om extra’s eraan te plakken waar niemand om vroeg. De sterkste producten doen vaak een paar dingen echt goed, in plaats van honderd dingen half.

Bij TopDevs plannen we klantwerk feature voor feature, zodat elke release iets tastbaars oplevert in plaats van een vage brok voortgang.