軟體開發值多少?系統開發怎樣估成本

閱讀時間約 3 分鐘
「幫我做的跟 Facebook 一樣單純就好」
「嗯 … ?」
工作緣故蠻常需要給客戶軟體開發的報價,也蠻常在不同場合被問說怎樣衡量開發成本。其實這個問題不容易有個確定算法,在這篇文章稍微分享一下過去思考這個問題的關注點,也期待引出不同的觀點。
姑妄說之姑聽之,這裡只分享原則,不涉及具體數字。
或許,這些原則也可以延伸到其他虛擬服務(如顧問)的定價上?
https://www.bilibili.com/video/BV1uQ4y1i7Xi/

以終為始:軟體開發的標的是什麼?

先聊聊開發的終點到底是什麼。
首先,軟體是一種協助我們的工具及手段,並不是目的本身。甚至好的系統及軟體往往能調動你的直覺,讓你不容易感受到它的存在。
在評估開發的標的時,切記要把關注點放在軟體系統是否能達成目標。細節會有無限多,過度的枝微末節很有可能兩敗俱傷。
規格存在的目的是對甲乙雙方建立完整的認知圖譜,一旦開始執行偏離是常見的事。就好比戰爭前訂定戰術戰略規劃並不是為了能在戰場上算無遺策,而是為了能在有其他干擾因素時仍能準確瞄準最後目標不走偏
百分百準確的規格並不存在 — 除非你是在完成之後才寫規格

困難跟意外無所不在,世事總不能盡如人意

此外,接受規格不能百分百達成其實這也是個保護自己的方式。
不管再怎麼細緻的規劃及溝通,甲乙方合作中還是會很常碰到零和的博弈。有時候會很開玩笑的說「甲乙方的關係從中文字就看得出來,甲站著乙跪著」。雖說是一句玩笑話但卻也反映了一些現實。
有時候大家不滿意的結果才是最好的結果
要把事情做得好、做得快又省成本不太可能

兩個方向的評估:Top-Down + Bottom-Up

所以報價該怎麼看比較好?
建議大家從兩個方向來看,自上而下(Top-Down)及自下而上(Bottom-Up)。
自上而下的看法重點在於掌握全局,可以從這個工具最後順利運行後創造的商務價值來估算。這個方向在於框住你無法在此時此刻掌握的細節成本,事情總是越做越細也越做越複雜。舉例來說,如果能靠這個軟體系統能創造一年一千萬的業績,那初期開發成本抓個一兩百萬應該不為過才是。
自下而上的看法在於考慮執行,可以從開發及營運時所需要耗費的人力及物力成本來估算。人月神話雖告訴我們系統開發不是單純的乘法關係,但卻可以在提供一種成本的看法。但請記得最後再乘上一個比例(比如 1.2 ~1.5 倍)來大概觀察一下組合這些資源的黏著耗損。
從這兩個方向個抓數字後再取個中間值就能比較好的給出估計。更重要的是,當你從兩個方向去逼近中間,你就能對於實務上該從哪裡做取捨得到一個大致的手感
可以打折,但我們總得知道打折後是犧牲了什麼?

結語:在一件事做完之前你不知道它能不能做完

其實不管怎麼估計都可能失準,在一件事做完之前你怎麼知道能不能做到?
可說到底,不出發的話我們也不知道到底能夠走到哪裡,總是得開始的不是嗎?
自上而下觀看全局,自下而上思考執行。然後,將目標設定在達成商務目標而不是百分百規格,保留彈性才有可能順利走到最後
你又是怎麼做的呢?
為什麼會看到廣告
18會員
33內容數
從超過 50 個合作經驗中擷取在系統開發、顧問及營運上的經驗及心得
留言0
查看全部
發表第一個留言支持創作者!
Sam Huang的沙龍 的其他內容
殺雞用牛刀,降維打擊總是一個安全做法。殺雞何必用牛刀?但牛刀是真的有用啊!而手上有錘子什麼看起來都像釘子,問題是錘子真的能敲啊!
這幾天有個蠻大的新聞是 Azuki 的背後團隊 Chiru Labs 繼 ERC721a 後又提出了 Physical Backed Token (PBT) 這個新的代幣標準。 但 NFT 虛實結合是有道理的嗎?而以 NFC 為虛實整合介面又是合理的嗎?
十一年來景氣循環走了幾次,技術名詞來來去去,資訊產業唯一不變的就是變。感謝 MOPCON 主辦單位的付出以及堅持,為這個有點紛亂的世界又添上了一抹善良。
軟體開發是在虛擬的空間重新描述並解決現時的問題,多數時候並不存在正確答案。如何穿越這些不確定及未知就體現了開發者的功力以及對事物的把握度。 標題有點聳動,但且以這篇短文紀錄幾個印象比較深的、飛一陣後發現什麼節論都沒得到的可能作法(? 所以其實是要反著看 … 以下列舉三個常碰到的情況跟大家分享
人月神話一書中提到軟體工程的任務有兩種性質:本質性與附屬性。後者可能會隨著工具改良(如更好的程式語言及 IDE)而逐步改善,但前者才是真正複雜且難以攻克的困難點。 而系統串接亦然,其本身很常同時參雜著這兩種問題。或許在我們一切任務開展之前都順著這兩個大類對子分項做規劃會是個不錯的思路方向。說到底所
技術的純粹與世界的不完美:WEB3 →WEB2 的落地開發 https://revteltech.pse.is/4desxk 打造自己的 NFT 電商:一些思考及觀察 https://revteltech.pse.is/4e7mpn 背景介紹:替既有商圈點數加上加密貨幣性質增加流通性 …
殺雞用牛刀,降維打擊總是一個安全做法。殺雞何必用牛刀?但牛刀是真的有用啊!而手上有錘子什麼看起來都像釘子,問題是錘子真的能敲啊!
這幾天有個蠻大的新聞是 Azuki 的背後團隊 Chiru Labs 繼 ERC721a 後又提出了 Physical Backed Token (PBT) 這個新的代幣標準。 但 NFT 虛實結合是有道理的嗎?而以 NFC 為虛實整合介面又是合理的嗎?
十一年來景氣循環走了幾次,技術名詞來來去去,資訊產業唯一不變的就是變。感謝 MOPCON 主辦單位的付出以及堅持,為這個有點紛亂的世界又添上了一抹善良。
軟體開發是在虛擬的空間重新描述並解決現時的問題,多數時候並不存在正確答案。如何穿越這些不確定及未知就體現了開發者的功力以及對事物的把握度。 標題有點聳動,但且以這篇短文紀錄幾個印象比較深的、飛一陣後發現什麼節論都沒得到的可能作法(? 所以其實是要反著看 … 以下列舉三個常碰到的情況跟大家分享
人月神話一書中提到軟體工程的任務有兩種性質:本質性與附屬性。後者可能會隨著工具改良(如更好的程式語言及 IDE)而逐步改善,但前者才是真正複雜且難以攻克的困難點。 而系統串接亦然,其本身很常同時參雜著這兩種問題。或許在我們一切任務開展之前都順著這兩個大類對子分項做規劃會是個不錯的思路方向。說到底所
技術的純粹與世界的不完美:WEB3 →WEB2 的落地開發 https://revteltech.pse.is/4desxk 打造自己的 NFT 電商:一些思考及觀察 https://revteltech.pse.is/4e7mpn 背景介紹:替既有商圈點數加上加密貨幣性質增加流通性 …
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
Thumbnail
R036 Blog API 伺服器的維護更新日誌 (2024/04/30) 開發環境技術 語言: Javascript 環境: Node JS 框架: Express.js 本次維護目的 優化及測試API伺服器程運行 重溫程式碼架構以便日後更新優化 Reac
Thumbnail
軟體開發時應該要有固定的命名規則,以提高程式的可讀性,本篇文章帶你認識常見的幾個命名方法。
Thumbnail
OpenAI 正在開发兩種類型的 AI 助手,這些軟體將協助完成原本由人類執行的任務,而無須人類密切監督。其中一種類型的 AI 代理人可以透過接管使用者的設備來自動化某些複雜任務,例如 ChatGPT 助理將數據從文檔轉移到電子表格或填寫費用報告並將它們輸入到會計軟體中。此類 AI 助理將需要使用者
Thumbnail
前陣子在跟讀者聊天的時候,發現在 Junior 階段很容易遇到一些工作上挫折,但又不太知道怎麼解決或是優化。 也有可能在開發過程中碰到了些大地雷,但身邊的前輩、同事不一定能用比較軟性的方式好好的傳達,這是非常常出現的,尤其是在跨部門協作經驗較少的工程師,會不曉得怎麼用淺顯易懂的語言告訴⋯⋯
Thumbnail
團隊最近因為有大型功能要發佈,因此剛完成了一次捕蟲大會(Bug Bash),趁著記憶猶新,來寫一下在舉辦過程中可以注意的一些重點。除了自己紀錄,也希望對看到文章的你有點幫助。
Thumbnail
會談這個主題主要是工作上預計進行Pair Programming的模型來開發,因而蒐集了一些關於Pair Programming這方面的相關概念與執行方向,並整理讓大家共同參考、討論。 🔔還沒成為Potato會員的朋友點這裡加入哦,撰寫文章還能挖礦打造被動收入 🔔 優點 提升程式碼品質 缺點
Thumbnail
91APP運作200人以上的SaaS產品開發團隊,透過導入Agile的開發方法,用Scrum的方式有節奏推進交付,並大規模的不停地做組織重整,用91APP Way的三個層次來運作產品開發組織。
Thumbnail
隨著軟體開發方法、工具、以及成品應用方式的變化,軟體開發已經不能只靠單一證照、程序、手段來完成;雖然如此,為了專案的進度與品質控管,仍然有一些共通的道理是必須遵守的。本文就來談談這些同樣也適用於其他專案管理的基本原則。
Thumbnail
所謂「縮寫」,指的是取一個英文詞段的每一個字的字首,然後組成縮寫;例如「NYPD=New York Police Department」(紐約市警察局),這在美劇或電影中還蠻常見的。
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
Thumbnail
R036 Blog API 伺服器的維護更新日誌 (2024/04/30) 開發環境技術 語言: Javascript 環境: Node JS 框架: Express.js 本次維護目的 優化及測試API伺服器程運行 重溫程式碼架構以便日後更新優化 Reac
Thumbnail
軟體開發時應該要有固定的命名規則,以提高程式的可讀性,本篇文章帶你認識常見的幾個命名方法。
Thumbnail
OpenAI 正在開发兩種類型的 AI 助手,這些軟體將協助完成原本由人類執行的任務,而無須人類密切監督。其中一種類型的 AI 代理人可以透過接管使用者的設備來自動化某些複雜任務,例如 ChatGPT 助理將數據從文檔轉移到電子表格或填寫費用報告並將它們輸入到會計軟體中。此類 AI 助理將需要使用者
Thumbnail
前陣子在跟讀者聊天的時候,發現在 Junior 階段很容易遇到一些工作上挫折,但又不太知道怎麼解決或是優化。 也有可能在開發過程中碰到了些大地雷,但身邊的前輩、同事不一定能用比較軟性的方式好好的傳達,這是非常常出現的,尤其是在跨部門協作經驗較少的工程師,會不曉得怎麼用淺顯易懂的語言告訴⋯⋯
Thumbnail
團隊最近因為有大型功能要發佈,因此剛完成了一次捕蟲大會(Bug Bash),趁著記憶猶新,來寫一下在舉辦過程中可以注意的一些重點。除了自己紀錄,也希望對看到文章的你有點幫助。
Thumbnail
會談這個主題主要是工作上預計進行Pair Programming的模型來開發,因而蒐集了一些關於Pair Programming這方面的相關概念與執行方向,並整理讓大家共同參考、討論。 🔔還沒成為Potato會員的朋友點這裡加入哦,撰寫文章還能挖礦打造被動收入 🔔 優點 提升程式碼品質 缺點
Thumbnail
91APP運作200人以上的SaaS產品開發團隊,透過導入Agile的開發方法,用Scrum的方式有節奏推進交付,並大規模的不停地做組織重整,用91APP Way的三個層次來運作產品開發組織。
Thumbnail
隨著軟體開發方法、工具、以及成品應用方式的變化,軟體開發已經不能只靠單一證照、程序、手段來完成;雖然如此,為了專案的進度與品質控管,仍然有一些共通的道理是必須遵守的。本文就來談談這些同樣也適用於其他專案管理的基本原則。
Thumbnail
所謂「縮寫」,指的是取一個英文詞段的每一個字的字首,然後組成縮寫;例如「NYPD=New York Police Department」(紐約市警察局),這在美劇或電影中還蠻常見的。