protože zákazník specifikaci změní za pochodu a na optimalizace nezbude čas, nebo budou překážet. Spíše by toho šlo dosáhnout školením vývojářů a vyžadováním dodržování nastavených standardů.
Ano, onen slavný agilní vývoj, aneb alias pro "nevíme, co chceme", případně "nechápeme zákazníka a bojíme se to přiznat". Školení je v mnoha firmách na úrovni "najdi si to ve svým volnu na netu" a na dodržování pravidel by musel dohlížet opět nějaký guru a ne managor, kterej neví, co mu lopaty říkají, ale je důležitej.
Z hlediska evoluce sw, dobře napsaný program brání adaptaci, protože dlouhou dobu vyhovuje a reálný svět se více vzdálí tomu stavu, jaký kdysi zachytil. Uživatelé dokáží zneužít ke svým potřebám i zastaralý program, často kombinací funkcí, které by autora programu ani nenapadly.
Ano, kreativita některých uživatelů nezná mezí, často je způsobená tím, že uživatel neřekne, co by se mu hodilo, protože když to řekne, tak odpověď je "za ty prachy takovou blbost implementovat nenecháme, poradil jsi si doteď, tak neotravuj". Na druhou stranu, pokud bude chtít managor, aby byla tabulka růžová, tak na penězích nezáleží, i kdyby se kvůli tomu měla půlka GUI předělat.
Paradoxně špatně napsaný program drží s realitou krok více, protože je častěji obměňován, uživatelé se ho snáze vzdají.
Dobře napsaný a dobře zdokumentovaný program s vyřešenými testy může udržovat kdokoliv na úrovni původního tvůrce, případně i lehce pod jeho úrovní i po letech. Já vím, dokumentace a testy jsou sprosté slovo, protože je to moc práce, času a potažmo peněz.
Jednotlivec nedokáže rozhodnout, zda jsou z hlediska celku optimálnější náklady na energii, hw, nebo optimalizace sw. To snad dobrý programátor, či matematik chápe.
Na to by bylo potřeba asi vypracovat nějakou studii, ale logicky vzato, optimalizovaný kód potřebuje méně výkonu, tudíž úspora je jednoznačná. V některých případech je možno dosáhnout i řádových posunů, špatně napsané algoritmy s kvadratickou a vyšší náročností lze v některých případech optimalizovat na lineární, něco je možné paralelizovat atd. Pokud 30 zaměstnanců kouká do točícího se kolečka nezdravě dlouho, tak vzniká neproduktivní čas, většina lidí ztrácí koncentraci, takže i další výkon bude ovlivněn. Osobně si myslím, že u větších projeků se prostě ten jeden velmi dobře zaplacenej člověk vrátí, obzvlášť, pokud to není projekt pouze interní, ale jedná se o produkt určený k prodeji.