Upgrade to Pro — share decks privately, control downloads, hide ads and more …

軟體的成本預估與時程規劃

Sam Huang
October 16, 2024

 軟體的成本預估與時程規劃

軟體開發成本該怎麼計算?如果外包要如何規劃?
要有怎樣的規劃及思考才能降低風險並把每分錢用到刀口上?

本次活動將從原則開始聊起
從軟體開發的特性建議該如何估算開發成本及安排時程
加上實際開發案例進行分享

如果您符合以下幾種情況,相信能從本活動得到一些有用資訊及靈感
1. 要規劃新的網站系統或 APP 開發,但不知道如何計算成本及安排時程
2. 手上有舊有系統,但不確定未來要怎樣做延伸或甚至重建
3. 面對現在不斷變化更新的新技術,不知道如何進行技術升級跟規劃

Sam Huang

October 16, 2024
Tweet

More Decks by Sam Huang

Other Decks in Programming

Transcript

  1. AGENDA 01 02 03 04 05 06 07 背景介紹 軟體開發的特性及特點

    成本規劃及開發規劃的原則 案例分享:特化傳產電商 & ERP - 特殊商品結構及庫存管理 案例分享:連鎖餐飲系統 - 線上點餐及資訊再加值 案例分享:公會網站 & APP - 線上課程、會員系統及活動管理 結語
  2. 多技術觀點 Web / APP / IoT / Blockchain / AI

    多領域經驗 接觸超過 10 個領域 多合作形式 顧問 / 開發 / 維護 / 優化 顧問規劃:領域 x 架構 x 應用
  3. 開發 / 顧問 / 營運 工程師。碰過嵌入式系統、Linux / Android、sensor 及 audio,而後

    APP、Web、雲端及一點點區塊鏈。 開發外亦協助技術顧問、團隊管理及產品設計,曾在多間 公司擔任技術長及技術顧問。參與超過 60 個專案、產品 開發,橫跨旅宿、金融、教育、印刷、電商、醫療及電信 等多個領域。 Sam Huang https://www.sam-huang.info/ MOPCON 2022 Panel - 談區塊鏈的意義、現況及未來 MOPCON 2022 Keynote - 從 IoT 到 Web2,從 Web2 到 Web3 : 那些開發路上的奇妙風景 JSDC 2021 - 從 React Native 跨屏開始的多領域開發歷程 AWS 案例分享
  4. 技術變化真的快! 需求變化似乎沒那麼快,但技術的發展卻告訴我們 很多解法 第一個網頁出現到今天大概 12000 天 即使追溯到最原始的也才 20000 天 技術推著我們走

    網站、手機、APP、IoT、大數據、區塊鏈、 AI、... → 被推著走也未必是壞事,結合廣告及新型態的互動 往往可以走出新的路
  5. 軟體工程? 軟體工程在實務上有時候是自然科學跟社會科學的結合 技術討論 + 技術管理 + 人事管理 + 專案管理 +

    時間管理 + ... 和其他生活中常感受到的工程也不太一樣 同一時間存在許多工法,而且都是對的 個體能力強弱差異極大,差異可以到數十倍, 甚至跟經驗無關 能改良自身常用工具,厲害的人善於改造開發環境 一旦失敗很常什麼都沒有,幾乎沒有回頭路
  6. 實務開發可能像什麼? 與其說像蓋房子,倒不如說像在編給一般人看的工具書(如字典) ➜ 聽需求 → 寫程式碼 → 用工具編出軟體 → …

    有很多不同流派的寫法,還要配合用戶的習慣 不同編輯有不同養成方式 書籍不斷在更新 新舊交接是個問題 確實存在分模組的概念,但還是會互相影響 每個做法都是對的,最後才知道答案 特例跟通則? ...
  7. 關係 ... 落子無悔 甲方 vs. 乙方 or 資方 vs. 勞方

    合作內容 ... 反映現實 軟體系統的開發/導入 請注意: 價格、時程及功能(品質) 通常只能三取其二 1. 請考慮最糟情況 2. 價格 > 規格 > 品格 a. 關鍵在自己能負責 b. 基底
  8. 軟體是人、環境和硬體的一個契約 bug 和 feat 是不同的 feat 不同代表情境有差異 bug 代表代表假設有問題 →

    陷阱 找產品 ? 做方案 ?找團隊? 產品:你配合軟體,可能不合用 方案:軟體配合你,但你對規格負責 團隊:軟體配合你,但你要對全部(規格及人)負責 不好用還是不能用?
  9. 階段:特化版 → 公版 → 分流後 refactor 特化版 → ... 特化版:滿足客戶

    80 % 需求,這個需求有把握其他人也需要 (控制需求) 公版:注重在如何部署及銷售 (控制預期) 分流後 refactor 特化版:讓兩者底層有一致性,需要有 patch system (控制成本) 其他:根據市場討論後續 (控制邊界) 問題依舊在 市場規模不確定:要做假設 工程師的經驗難以複製:要做取捨 哪些功能是最大公因數:要做妥協 如何面對新技術升級:要看長期 SSG + lambda 按照階段算成本 軟工的追求:可用性 + 可持續性 追求可以在任何時刻停掉
  10. 你在意的到底是費用、品質還是時程? 錦上添花 ? 畫蛇添足 ? 雪中送炭 ? 火上加油 ? 其實還有很多議題可以討論:

    APP 及數位轉型系統如何規劃? 專案開發前的準備有哪些原則? 如何做技術管理? 如何做軟體交接? ... 漫漫長路慢慢走