Ulubiony rodzaj kawy? Wiele osób odpowie espresso i jej modyfikacje (cappuccino, macchiato inne). Wiele powie latte. Ja powiem Żużel (pół kubka kawy, pół kubka cukru, pół kubka wody).
Ostatnio zrozumiałem na czym polega fenomen espresso. Co może być tak nietypowego w kieliszku niezbyt mocnej (w tych ilościach nawet czysta kofeina nie będzie mocna) kawy. Otóż istnieje w niej coś co można nazwać esencją aromatu. Zresztą jak robicie kawę w ekspresie ciśnieniowym to porównajcie niewielką ilość napoju z początku parzenia (czyli espresso) i wodę, która z czasem wydobywa się z dyszy.
Dobra, ale ja tu o kawie, a miało być o programowaniu. Jeżeli przyjrzymy się naszym systemom, to można je porównać właśnie do kawy z ekspresu ciśnieniowego. Najpierw powstaje esencja, funkcjonalności kluczowe i strategiczne. Następnie obudowujemy je rzeczami coraz słabszymi, aż w końcu dodajemy pomyje, które psują całość.
Dlatego też warto przemyśleć sposób w jaki tworzymy aplikację. Stworzenie dodatkowej funkcjonalności, która będzie tylko psuła smak całości, tylko po to by obniżyć koszty nie ma sensu. Tak samo jak nie ma sensu parzenie kawy z ekspresu zbyt długo. Pomimo niższych kosztów dostajemy nie tylko słabszy produkt niż na początku to jeszcze możemy zepsuć oryginał.
Dlatego też warto czasami poświęcić trochę czasu i przemyśleć, czy nowy element nie powinien być już nową aplikacją, którą integrujemy ze starą. A nie dodatkiem do starej.