SA (System Analysis) 系統分析師 與 軟體架構師的差別?
SA (System Analysis) 與軟體架構師的差別? 前言 這其實是先前在臉書回復其他社團的貼文,為避免當時的內容與想法被臉書淹沒,於是將其整理成文章,表示我沒有將臉書當成文章在寫。 雖然現在流行 AI 撰寫文章,但我可以證明本文章絕對不是 ChatGTP 撰寫的,內容與想法 + 圖片都是出自我的想法 與 工作相關經驗。 版篇文章以台灣軟體產業為基準,不適用於歐美國家。 SA 與 BA 角色 也有朋友提到 BA 這個角色,其實我當時所處年代 (約西元 2000 年左右)還不盛行 BA (Business Analysis) 這個角色,尤其在台灣。其實在灣大部分一人分飾多角,像我現在同時是架構師、顧問、Traniner、有時是 Developer,有時也協助制定或定義開發(流程 / 規範)等等。 我認為 BA 的角色若相較於 SA 更為狹隘點(就軟體開發來說 / 或者說目的不同),怎麼說呢?一般軟體開發還是重在最後產出『成品/Product』、但 BA 並不是,他更著重在商業、滿足的所謂的『業務成果』,這又讓我想起 POPIT 模型,有興趣可參考附件連結。 SA 系統分析師 vs. 軟體架構師 的差別? 回歸到主題,究竟 SA 與 架構師 的差別是什麼? 我覺得差別蠻大的,是職能與本質上的差別。 架構師的職能更廣、而 SA 通常較為狹隘(了解商業需求/有的 SA 要為使用者需求負責) 12年前我是某家 SI 公司的 SA & 2010~2014 擔任軟體架構師的感想。 我畫張簡圖,即上方的 Logo 圖,簡要說明這兩者職能上的差別,越往(左邊是更懂技術 / 右邊更趨近商業流程): (1). 我認為架構師更全能、甚至含括 SA 的範圍。 (2). 許多軟體公司的 SA 是不碰技術的,頂多繪製 ER-Model (3). 甚至許多軟體公司 SA 不是技術出身 結論: 因為軟體架構師在分析系統架構時,同時得要考量商業需求,並在軟體架構中落實, 套用先前敏捷的軟體架構, 除了不做(過多 / 過度)的設計之外,還要讓系統保持高度彈性 、 要因應需求、也要因應客戶端的環境、考量 Cost 成本問題、又同時得要考量團隊的 Skill,不是一窩蜂的導入新技術,在專案中, 任何技術的使用都需要 成本 的 ,軟體...