Projektowanie architektury dobrego jakościowo oprogramowania zawsze było ważne, ale w dzisiejszym dynamicznym, szybko się zmieniającym i złożonym środowisku rozwijania programów ma znaczenie podstawowe. Solidny, dobrze przemyślany projekt ułatwia zarządzanie złożonością oprogramowania, znalezienie kompromisu między sprzecznymi często wymaganiami r wreszcie terminowe wprowadzenie na rynek dobrego produktu.