跨越不同領域的軟體開發經驗— 如何讓你的系統設計能真正解決問題

更新於 發佈於 閱讀時間約 4 分鐘
延伸閱讀
0 →1 ? 1 →100 ? 軟體顧問到底在顧什麼?:https://revteltech.pse.is/sw-consult-what
軟體開發一個很迷人的地方是可以在架空的世界(電腦世界)中重新思考、解構並處理真實世界的問題。但要怎樣真正有效的解決問題就很看各家功力了。
這篇文章我們暫且放下溝通及流程規劃的議題,聚焦來看看純粹領域差異造成的困難以及該怎麼面對。

混搭風 … 過往接觸過超過 10 個領域

回顧過往曾經觸碰過的領域真的滿多,茲列舉幾個
  • 導航系統上的感測器軟體開發及測試
  • 睡眠偵測 IoT 設備的系統架構規劃
  • 備孕產品的 APP 內容設計及開發
  • 獨角獸等級的電商 APP 開發
  • 港區物流的後端流程系統規劃開發
  • 美股看盤 APP 的開發及產品設計
  • 隨選電系的電商及後端架構規劃
  • 印刷領域 ERP 及電商邏輯規劃
其實還可以往下列舉,對我來說每次的課題都是學習及挑戰。
跨越這麼多領域不會累嗎?當然還是會的。但生活總是要過,只能試著搞定他囉!

設法有效率認知去模型領域 — 參考後端設計方法

每個不同領域都有自己的特性及知識背景,過往我會從三個角度下去思考跟掌握:
  1. 靜態的背景知識
    每個領域必然有屬於自己的一組底層知識結構,散見在名詞定義等地方。先將這部分掌握可以快速理解在這個知識體系中哪些部分是重要的。比如在電商領域中庫存就是一個重要概念,不同的庫存模型一定程度反映了這個商業系統的收費及販售框架
  2. 動態的運作邏輯
    系統必然是動態的,基於背景資訊之間的互動描述了這個系統的複雜度及運作圖像。比如基於庫存這件關鍵字下去觀察,其外圍的保留及消減邏輯便是這個電商系統的重要流程
  3. 連結的隱性流程
    系統畢竟是人和軟體的綜合體,藉由 1 跟 2 的分析之後下一步便是要觀察真實運作時與其互動的 SOP 到底長怎樣。一樣回到庫存管理的邏輯來看,營運人員怎麼在多通路間分派這些庫存反映了許多事,如員工訓練流程及該產品在真實世界的特性
在這裡大家有沒有發現這裡的分析跟後端在思考架構時很像?資料庫關聯的設計、跨表間的互動及API 的覆蓋方式便是如此。
其實方法還是很多的,但明確找個自己的思考底層框架非常重要。

不夠深入怎麼辦?套入一些流程方法論來面對

講到這裡可能會有人好奇,一個好用的系統必然有其特殊的邏輯存在,這些部分甚至是外人非常難以理解的,那我們要怎麼可以如原生一般的來發現及解決這些事情呢?
其實每件事情都是越來越複雜的,就如同我們過往在學習的歷程中也是由淺入深。面對自己的理解及系統的覆蓋率不夠深入的問題,首要的原則是接受它的不完美。
這時候一些如敏捷開發之類的思考方式很能幫忙這段,敏捷的意思不是快,但它能很好的協助你逐步的在過程修正系統並和外部環境融洽的結合。甚至基於一個好的流程節奏,放心的做一些 workaround 也無所謂,只要知道何時會修復、該朝哪邊修復,這些個不一定完美的 workaround 反而可以很好的看出資源的限制、知識的局限以及當下最重要的問題

混搭混出新滋味 — 或許你的問題早就被解決了

最後來講一個在這些跨域規劃及開發中有趣的地方,很有可能你要面對的問題在其他領域已經被解決了。
之所以可能發生這件事情我想大概是因為人畢竟只有兩手兩腳,面對問題的解決方法存在某些共性。在剝除掉一些特有的表層邏輯之後,其內在機理可能都很類似。
這裡舉個例子,先前在協助醫療系統設計的時候有個目標是要適當的將每天蒐整而來的醫療紀錄交由不同層級的醫師及技師進行校正,當中還穿插演算法的自動標註。這裡該如何設計整個框架呢?
在深入思考後我發覺他跟過往接觸過的兩個任務很接近
  1. 翻轉教育的教師批改系統 — 這裡有完整的權限管理架構
  2. 線上課程系統的互動設計 — 這裡有完整的資訊分享設計
如此一來自然能有比較高的把握度去規劃系統使用情境及框架了!

終極目標是建構起一個通用的思考範式

其實做這些事情看起來很雜,但背後的目的卻可能是能一以貫之的:搭建起一個屬於自己的認識世界的方式以及解決問題的框架
這個世界總是有解決不完的問題,身為程式設計師的我們面對的這些挑戰就是不斷在解構及重建的過程。也是因為這樣軟體開發才是這麼的有趣。
為什麼會看到廣告
avatar-img
18會員
33內容數
從超過 50 個合作經驗中擷取在系統開發、顧問及營運上的經驗及心得
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Sam Huang的沙龍 的其他內容
外部顧問至少要有兩個價值 1. 不被內在阻力限制的觀察角度 團體在運作過程會有些明顯或隱性的內部阻力,其可能來自科層結構或組織慣性。這時候外部視角往往可以比較中立。 2. 有局中人沒有的資訊儲備及來源 「燈下黑」一直是需要避免的陷阱,局中人往往會因為不具備需要的資訊而很難做出客觀且正確的決定。
我們來聊一下如果要做 NFT 電商該怎麼做
以甜點作為品味生活的點綴,這對很多人來說是再直覺不過的事情了。隨著技術的進步,各行各業都在以技術協助本業提升,講數位轉型有時候過於沈重,從數位化及數位優化開始是個好的選擇。 這裡來介紹一下法朋烘焙甜點坊電商,上線至今創下多次數分鐘內達成數百萬業績的成果! 整體的開發要點在於真正解決甜點銷售的痛點。
近幾年看到蠻多光怪陸離的開發鬼故事,也見識過各種奇醜無比的失事原因
踏入工程師生涯也十幾個年頭了,這些年工作主體逐漸從開發轉向諮詢規劃。遊走於兩者之間總會碰到一些相持不下的時刻,比如 PM 覺得某某功能很重要,可工程部門一直想要說服說這個做不了。處理得好就是雙贏,處理得不好往往就是不歡而散。 當一個新的產品及服務放到你面前的時候,你是怎麼去理解一個產品的?
2020 新冠疫情的突然來襲,直接為世界按下了暫停鍵。除了旅遊住宿這些傳統被視為相對穩健的產業受到極大的傷害之外,連帶也讓周邊產業也受到輕重不一的損失。
外部顧問至少要有兩個價值 1. 不被內在阻力限制的觀察角度 團體在運作過程會有些明顯或隱性的內部阻力,其可能來自科層結構或組織慣性。這時候外部視角往往可以比較中立。 2. 有局中人沒有的資訊儲備及來源 「燈下黑」一直是需要避免的陷阱,局中人往往會因為不具備需要的資訊而很難做出客觀且正確的決定。
我們來聊一下如果要做 NFT 電商該怎麼做
以甜點作為品味生活的點綴,這對很多人來說是再直覺不過的事情了。隨著技術的進步,各行各業都在以技術協助本業提升,講數位轉型有時候過於沈重,從數位化及數位優化開始是個好的選擇。 這裡來介紹一下法朋烘焙甜點坊電商,上線至今創下多次數分鐘內達成數百萬業績的成果! 整體的開發要點在於真正解決甜點銷售的痛點。
近幾年看到蠻多光怪陸離的開發鬼故事,也見識過各種奇醜無比的失事原因
踏入工程師生涯也十幾個年頭了,這些年工作主體逐漸從開發轉向諮詢規劃。遊走於兩者之間總會碰到一些相持不下的時刻,比如 PM 覺得某某功能很重要,可工程部門一直想要說服說這個做不了。處理得好就是雙贏,處理得不好往往就是不歡而散。 當一個新的產品及服務放到你面前的時候,你是怎麼去理解一個產品的?
2020 新冠疫情的突然來襲,直接為世界按下了暫停鍵。除了旅遊住宿這些傳統被視為相對穩健的產業受到極大的傷害之外,連帶也讓周邊產業也受到輕重不一的損失。
你可能也想看
Google News 追蹤
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
「所以,你想要用A框架,但又覺得B框架也不錯?」David挑眉問道,一臉的疑惑和一絲不易察覺的笑意。 .... David神秘地笑了笑,「技術選擇可不是簡單的喜好問題,它牽扯到技術轉移的成本、技術負債的累積,還有整個團隊的長期發展。先來聽聽我的想法吧。」
Thumbnail
實際就業後,會發現收集與分析需求,通常都不是工程師在做,會有另一群人,以非工程的角度收集及分析需求,然後在開發過程中蹦出不同的火花,於是很好奇另一群人的想法是什麼?我不敢說這本書能完全代表另一群人的想法,但確實能夠得到很多有用的思維。推薦給所有的軟體工程師。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
ERP系統導入,有兩種常見的方式: 1。 專案開發,或者說完全客製,也就是成立專案,招一批人,量身訂做寫出公司使用的ERP系統。 2。 套裝軟體,像SAP、Oracle和Microsoft都提供ERP系統,顧問負責導入與規劃客製功能,因為套裝ERP系統不儘然所有功能都符合企業的需求,所以有些需求
Thumbnail
系統的分析與規劃 在談到程式設計時,首要的是進行系統的分析與規劃。程式設計的起點通常是系統分析與規劃,這涉及到如何分析和設計系統的大原則和方向。為了達到預期效果,重要的是擁有對產業的清晰邏輯認識和深入了解。 進行深入了解 若要進行系統分析,必須對企業的設計和程式設計的對象進行深入了解,以充分理
Thumbnail
替產業做設計 有人要我談程式設計,那我就稍微談一下。我從事的大都是產業的工作,所以我們也從如何替產業做設計來談起。基本上,每個產業都會有自己的作業流程,大同小異。但是基礎來做都是一樣的,都會有客戶、物料、產品、供應商、員工等資料。不同的是,由於企業型態的不同,他們每個人有不同的作業流程。這個作業流
Thumbnail
本文探討了系統思維的重要性,強調理解元素、關係及其背後規律對洞察複雜系統至關重要。書中以商業模式變化為例,展示如何透過系統思維識別時代機遇,提升競爭力。此外,強調系統思維在學習中的應用,促進跨學科理解、批判性思維和解決問題能力,為適應未來變化奠定基礎。
Thumbnail
閱讀分享 書名:底層邏輯 1主題:如何快速洞察本質-解決問題的底層邏輯 重點摘要 1.商業顧問的核心能力就是透過現象看本質的洞察力。 2.洞察力是每個人都可以透過科學的方法練習精進。 3.系統=要素 X 連接關係 系統-一組相互連接的要素 要素-要素可以想成零件,是我們表面看的
Thumbnail
/ 大家現在出門買東西還會帶錢包嗎 鴨鴨發現自己好像快一個禮拜沒帶錢包出門 還是可以天天買滿買好回家(? 因此為了記錄手機消費跟各種紅利優惠 鴨鴨都會特別注意銀行的App好不好用! 像是介面設計就是會很在意的地方 很多銀行通常會為了要滿足不同客群 會推出很多App讓使用者下載 每次
Thumbnail
「所以,你想要用A框架,但又覺得B框架也不錯?」David挑眉問道,一臉的疑惑和一絲不易察覺的笑意。 .... David神秘地笑了笑,「技術選擇可不是簡單的喜好問題,它牽扯到技術轉移的成本、技術負債的累積,還有整個團隊的長期發展。先來聽聽我的想法吧。」
Thumbnail
實際就業後,會發現收集與分析需求,通常都不是工程師在做,會有另一群人,以非工程的角度收集及分析需求,然後在開發過程中蹦出不同的火花,於是很好奇另一群人的想法是什麼?我不敢說這本書能完全代表另一群人的想法,但確實能夠得到很多有用的思維。推薦給所有的軟體工程師。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
ERP系統導入,有兩種常見的方式: 1。 專案開發,或者說完全客製,也就是成立專案,招一批人,量身訂做寫出公司使用的ERP系統。 2。 套裝軟體,像SAP、Oracle和Microsoft都提供ERP系統,顧問負責導入與規劃客製功能,因為套裝ERP系統不儘然所有功能都符合企業的需求,所以有些需求
Thumbnail
系統的分析與規劃 在談到程式設計時,首要的是進行系統的分析與規劃。程式設計的起點通常是系統分析與規劃,這涉及到如何分析和設計系統的大原則和方向。為了達到預期效果,重要的是擁有對產業的清晰邏輯認識和深入了解。 進行深入了解 若要進行系統分析,必須對企業的設計和程式設計的對象進行深入了解,以充分理
Thumbnail
替產業做設計 有人要我談程式設計,那我就稍微談一下。我從事的大都是產業的工作,所以我們也從如何替產業做設計來談起。基本上,每個產業都會有自己的作業流程,大同小異。但是基礎來做都是一樣的,都會有客戶、物料、產品、供應商、員工等資料。不同的是,由於企業型態的不同,他們每個人有不同的作業流程。這個作業流
Thumbnail
本文探討了系統思維的重要性,強調理解元素、關係及其背後規律對洞察複雜系統至關重要。書中以商業模式變化為例,展示如何透過系統思維識別時代機遇,提升競爭力。此外,強調系統思維在學習中的應用,促進跨學科理解、批判性思維和解決問題能力,為適應未來變化奠定基礎。
Thumbnail
閱讀分享 書名:底層邏輯 1主題:如何快速洞察本質-解決問題的底層邏輯 重點摘要 1.商業顧問的核心能力就是透過現象看本質的洞察力。 2.洞察力是每個人都可以透過科學的方法練習精進。 3.系統=要素 X 連接關係 系統-一組相互連接的要素 要素-要素可以想成零件,是我們表面看的