Architekt oprogramowania

       Osoba posiadająca ekspercką wiedzę w zakresie oprogramowania, tworzy wysokopoziomowy projekt oprogramowania. Identyfikuje podstawowe elementy (komponenty) oraz ustala relacje pomiędzy nimi zarówno na poziomie logicznym jak i fizycznym. Wybiera i podejmuje decyzje spośród dostępnych alternatyw. Decyduje  o zastosowaniu konkretnych rozwiązań np. bazy danych, frameworki, biblioteki itd. Bardzo istotnym aspektem jest to, że architekt musi widzieć system w szerszym kontekście, musi mieć wizję i kierunki rozwoju całego rozwiązania a w szczególności obszaru jakim się zajmuje.

        Jednym z kluczowych zadań architekta oprogramowania jest opracowanie dokumentacji architektury oprogramowania, tzw. Software Architecture Description, uwzględniającej wymagania biznesowe z jednej strony oraz technologiczną koncepcję ich realizacji  z drugiej strony.


Otoczenie pracy Architekta Oprogramowania

W celu opracowania projektu architektury rozwiązania architekt musi pracować z analitykami systemowymi, których głównym zadaniem jest pozyskanie wymagań od Klienta czy Użytkownika. W praktyce bardzo często zachodzi potrzeba bezpośredniej pracy architekta z Klientem czy Użytkownikiem.




Architekt oprogramowania wytycza ramy technologiczne rozwiązania, w których pracują zespoły wytwarzające oprogramowanie oraz analitycy oprogramowania. 
Na pracę architekta (kształt  projektowanego przez niego rozwiązania) bardzo duży wpływ ma organizacja, w której pracuje dany architekt. Organizacja może narzucać pewnego rodzaju ograniczenia projektowe czy technologiczne, wizję rozwoju produktu itd.