Należy wcześnie podjąć strategiczną decyzję co do rozdrobnienia opcji dostępnych dla użytkownika. Trzeba pamiętać, że bardziej monolityczny program zajmuje mniej miejsca w pamięci [a często także obniża koszty marketingu].
Kluczową decyzją jest określenie wielkości obszaru przejściowego, do którego inne programy będą ładowane, gdyż efektywność systemu jest ponadliniową funkcją tej wielkości. [Dziś to wszystko nie ma już takiego znaczenia, po pierwsze dzięki pa- mięci wirtualnej, a po drugie dzięki taniej pamięci rzeczywistej. Obecnie użytkownicy kupują tak dużą pamięć rzeczywistą, żeby mogła pomieścić cały kod głównych programów użytkowych],
Zespół programowania powinien umieć znaleźć kompromis między rozmiarami pamięci, jaką system zajmuje, a czasem, w jakim się wykonuje. Należy go w tym celu przeszkolić w technikach programowania związanych z danym – zwłaszcza nowym – językiem lub maszyną.
Z programowaniem wiąże się pewna technika, a do każdego przedsięwzięcia programistycznego jest potrzebna biblioteka części standardowych. W bibliotece powinny być dwie wersje każdego programu – szybka i upakowana. [Dzisiaj teza ta wydaje się przestarzała].
Zgrabne, oszczędne, szybkie programy są niemal zawsze wynikiem raczej przełomu strategicznego, a nie zręcznych posunięć taktycznych. Często przyczyną przełomu strategicznego jest powstanie nowego algorytmu. Częściej przełom jest wynikiem wprowadzenia zmiany w metodzie reprezentacji danych lub tablic. Wybór właściwej reprezentacji to istota programowania.