Odstraňování funkcionality zlepší použitelnost
Webaři a startupy to nebudou znát, ale jestliže tvoříte a održujete nějakou aplikaci delší dobu, po chvíli si všimnete, že vaše jednoduchá a přehledná aplikace už přestala být jak jednoduchá, tak přehledná. Tu jste přilepili tuto funkcionalitu, onde jinou, způsob použití je trochu jiný než na začátku, některou funkcionalitu jste přidali jen pro jednoho zákazníka… Zkrátka máte bumbrlíčka, kterého denně vykrmujete dalším kódem.
Zamyslete se na redukční dietou. Ta sice bude bolet, ale pravděpodobně nejvíc bude trpět vaše ego ve spojení se sentimentem (Cože, toto mám odstranit? Vždyť to byla práce to vytvořit!! A jeden týpek to používá). Ale věřte mi a tomuto pěknému článku, že čím má aplikace méně (správné) funkcionality, tím se lépe používá.
Jeden kolega klade říká univerzální == na houby. A myslím, že co se týče aplikací, má pravdu. Aplikace mají dělat jen něco a to mají dělat pořádně.
Bacha na to. Odstraňování funkčnosti je napytel, protože už ji někdo používá – je třeba tu funkčnost vůbec nepřidávat
. Zásada pro tvorbu webových aplikací je nevytvářet nic ze seznamu nice2have (právě z důvodu podpory a nárůstu složitosti) a soustředit se na specializované jádro základních schopností aplikace, ale dokážu si představit případy, kdy to neplatí.
Funkcionalita navíc pro jednoho zákazníka může být třeba u B2B aplikací ten zásadní převažující faktor, proč se zákazník rozhodne právě pro vaši aplikaci a následně v ní utratí miliony. Každý měsíc. Což může být velmi velmi zajímavé.
Souhlasím s tím, že je nutné zachovat zpětnou kompatibilitu dokud to jde. Ale někdy nastane okamžik, kdy je třeba prořezat suché větve. Většinou až za dost let.
Druhý odstavec je přesně náš případ. Máme jednu aplikaci, do které jsme dali asi sto člověkoroků, je to B2B, je tam hodně funkcionality právě pro jednoho zákazníka a každá taková nám nějaký ten milion dala.
O použitelnosti už se ale v tomto případě nedá vůbec hovořit, utrácíme spousty peněz ve školení, nebo v podpoře a víme, že evoluční změna už nezabere.
Jediné řešení vidím právě v redukční dietě – v komplet nové ořezané a modernizované verzi (GUI), kde se začne s analýzou od nuly. Možná by náhradou vzniklo i několik specializovaných aplikací. Pro stávající zákazníky samozřejmě budeme muset ještě starou verzi udržovat dost dlouho.
Druhou možností, kterou jsme z kraje nepodchytili a teď je pozdě, je funkcionalitu pro jednoho zákazníka ostatním skrýt.
Soustředění se na základní důležitou funkcionalitu je důležité, souhlasím. Pokud je nějaká aplikace v provozu dlouhou dobu, nutně v ní časem budou některé věci spíše k odstranění i když se autoři budou snažit sebelépe. Třeba se změnilo zaměření produktu, technologie, zákaznické potřeby, vyspělost produktu… Tomu nejde zabránit.
>> Druhou možností, kterou jsme z kraje nepodchytili a teď je pozdě, je funkcionalitu pro jednoho zákazníka ostatním skrýt.
Ano, také jsme to zatím nepodchytili
– asi je čas začít s tím něco dělat