如何確保系統開發失敗

更新於 發佈於 閱讀時間約 5 分鐘
相關分享
1. 軟體顧問到底在顧什麼?https://revteltech.pse.is/sw-consult-what
2. 跨越不同領域的軟體開發經驗 https://revteltech.pse.is/crossdomain

近幾年看到蠻多光怪陸離的開發鬼故事,也見識過各種奇醜無比的失事原因。當中有些問題來自對方、有些問題來自自己,時時檢討總是沒錯。

這篇文章試著描述一下如果在顧問及開發時刻意要搞死合作案時可能會訂下哪些原則,算是幫自己設定一些邊界避免踩線(或者在面對機車對口作為行為準則?)。

https://www.163.com/dy/article/GC7R4A6L0531UYMA.html

https://www.163.com/dy/article/GC7R4A6L0531UYMA.html

原則一:已投入 > 再投入,面朝過去背著往前走

過往已發生的成本非常重要,並將相容於目前視為第一優先

在意過往的失敗及既有成本是人性,但卻未必理性。

很常有人說「前一手開發商跑掉/失敗了,但我已經花了 xxx 元 …」。當然不能直接回他關我屁事(?),只能提醒不同團隊的開發近乎獨立事件。此外,如果有這些經驗,積極作為應是分析是否前一次開發有預估失誤的地方才有可能避免重蹈覆轍。

而新開發被既有系統綑綁造成無法把事情做對也很常見,向下相容是一個隱性的詛咒。這在一些軟硬整合系統或者大型系統延伸時很常碰到。不是說不要考慮既有投入,但過往留下的程式碼不一定會對後續開發有幫助,這些程式碼可能是負債而不是資產。

善用軟體架構進行分解或隔離會是可行方向。

raw-image

原則二:開局即終局,直上 production!

瞄準月亮,至少射中老鷹。直接在第一階段就將目標設定在可大規模商轉

軟體的可擴展、快速迭代及允許自由介接的特性常常給人一種可以用短時間快速打造出成品進而實現商業成功的感覺。

這種感覺其實是錯覺

在第一階段就把目標設定在 mass production 很容易出事,想要一步登天的結果往往是悲劇收場。雖然每個開發階段都該要有其核心方向,但像需求釐清、概念驗證、架構設計及人員訓練等諸多議題都得花費時間去對標。

畢竟真實開發畢竟是品質、速度及成本的取捨議題,切勿過度期待一次到位。

raw-image

原則三:所謂的溝通就是指開會

盡量多進行會議討論以確保大家不會走偏

溝通是什麼?每週一固定的例會或者某些流派追求的每日站立會議嗎?如果僅是如此感覺不應該發生這麼多雞同鴨講的窘境。

其實很多開發到後來未必是出錯在解法不對,而是大家對題目的定義不同。在這種情況下討論再多只是浪費時間。

乍聽之下有點奇怪,但總結溝通失敗的案例,很大一部分是往往只做到了想法的「傳達」而已(這裏先放下方法論及個人因素等影響因素)。

有效的溝通應該是試著透過「表達」,取得對方「理解」之後進而達成「共識」。如果沒有真的讓彼此真的能聚焦在最終取得共識,各說各話的結果也就不難想像了。

raw-image

原則四:致力追求 bug free — 你們怎麼會有 bug ?

軟體開發出來就應該是穩定的

這個點其實蠻好玩的,過往曾有傳產人士跟我提到說他們都是終身保,為何軟體不能做到這樣 (痾)。

軟體在開發時會面對很多動態的外在變化,如開發中的第三方介接或營運後的流量起伏。在給定的預算及時程限制下,能追求的應該是整體可控性,要做到無死角的包圍是不太可能的。以有窮逼近無窮可能不是科學問題而是神學問題

「這不是 bug,這是 feature」常常是不得不接受的美麗哀愁。

raw-image

原則五:線上的東西放著就能運作,維運只需考慮伺服器等剛性成本

軟體上線後只要不去碰它就能一直維持運作

這和上一個小節是相關聯的。系統開發可以想成是對將真實世界的問題抽象化,並在虛擬世界進行申論作答的過程。假如想要在每個時間點都能有好的答題品質,應該要維持源頭活水的不停持續修正。

換個角度思考,假如你開了一個實體店面,不論裝潢的多合心意,實際營運時還是得安排門市人員巡巡看看才能確保順利運作。甚至隨著客源變多,調整動線及小修小改也不在話下。

如果實體是如此,線上系統維運也應該有類似的概念才是。

raw-image

反思:先追求不失敗再追求成功

軟體開發的規劃不存在絕對的正確做法,根據團隊的組成、預算的多寡、業務推廣的節奏及商業目標的設定有很多不同的作法。

因應之道應該是戰戰兢兢的把每一步踏穩再求前進。慢慢修正且小心避開一些誤區才能降低失敗的風險。

你有沒有遇過其他奇怪的開發鬼故事呢?

RevtelTech 忻旅科技 https://www.revtel.tech/
email:contact@revteltech.com
facebook:https://www.facebook.com/RevtelTech/











留言
avatar-img
留言分享你的想法!
avatar-img
Sam Huang的沙龍
18會員
34內容數
從超過 50 個合作經驗中擷取在系統開發、顧問及營運上的經驗及心得
Sam Huang的沙龍的其他內容
2023/12/05
沒有最正確的軟體架構,通常都需要隨著時間和發展階段進行修正和修改。系統最終會變成怎樣往往也和公司的管理方式及運作模式密切相關。 在過去的幾年裡,為應對需求,公司的軟體架構走向了 JAMSTACK 的風格。這裡分享一些關於這種架構的感受和經驗。
Thumbnail
2023/12/05
沒有最正確的軟體架構,通常都需要隨著時間和發展階段進行修正和修改。系統最終會變成怎樣往往也和公司的管理方式及運作模式密切相關。 在過去的幾年裡,為應對需求,公司的軟體架構走向了 JAMSTACK 的風格。這裡分享一些關於這種架構的感受和經驗。
Thumbnail
2023/11/29
作為程式開發者,每次聽到「加個 flag 就好」或者「開個變數存起來」這種話總是會心頭一驚。理由也很正常,就是像這樣子的 workaround 並沒有真正解決問題,只是徒留技術債,以後怎麼爆炸的都不知道。 workaround 聽起來真的是十惡不赦,不是嗎? 可凡存在必有道理,不如來聊聊 wor
Thumbnail
2023/11/29
作為程式開發者,每次聽到「加個 flag 就好」或者「開個變數存起來」這種話總是會心頭一驚。理由也很正常,就是像這樣子的 workaround 並沒有真正解決問題,只是徒留技術債,以後怎麼爆炸的都不知道。 workaround 聽起來真的是十惡不赦,不是嗎? 可凡存在必有道理,不如來聊聊 wor
Thumbnail
2023/09/23
「為什麼要維護?有 bug 你們就要負責啊,你們怎麼可以給我們有 bug 的東西!」 一瞬間我也是愣了一下,還差點被說服(?)。
Thumbnail
2023/09/23
「為什麼要維護?有 bug 你們就要負責啊,你們怎麼可以給我們有 bug 的東西!」 一瞬間我也是愣了一下,還差點被說服(?)。
Thumbnail
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
當合作的對團隊大幅增加時,開發需求就會不斷地湧現,那要怎麼樣取得工作與生活平衡呢?
Thumbnail
當合作的對團隊大幅增加時,開發需求就會不斷地湧現,那要怎麼樣取得工作與生活平衡呢?
Thumbnail
前陣子在跟讀者聊天的時候,發現在 Junior 階段很容易遇到一些工作上挫折,但又不太知道怎麼解決或是優化。 也有可能在開發過程中碰到了些大地雷,但身邊的前輩、同事不一定能用比較軟性的方式好好的傳達,這是非常常出現的,尤其是在跨部門協作經驗較少的工程師,會不曉得怎麼用淺顯易懂的語言告訴⋯⋯
Thumbnail
前陣子在跟讀者聊天的時候,發現在 Junior 階段很容易遇到一些工作上挫折,但又不太知道怎麼解決或是優化。 也有可能在開發過程中碰到了些大地雷,但身邊的前輩、同事不一定能用比較軟性的方式好好的傳達,這是非常常出現的,尤其是在跨部門協作經驗較少的工程師,會不曉得怎麼用淺顯易懂的語言告訴⋯⋯
Thumbnail
「為什麼要維護?有 bug 你們就要負責啊,你們怎麼可以給我們有 bug 的東西!」 一瞬間我也是愣了一下,還差點被說服(?)。
Thumbnail
「為什麼要維護?有 bug 你們就要負責啊,你們怎麼可以給我們有 bug 的東西!」 一瞬間我也是愣了一下,還差點被說服(?)。
Thumbnail
在轉職寫程式、自學程式語言的過程中,最害怕的莫過於遇到無從下手的問題。透過實際案例分享,讓零基礎從零到一的程式新手,也能快速學會如何解決複雜問題。
Thumbnail
在轉職寫程式、自學程式語言的過程中,最害怕的莫過於遇到無從下手的問題。透過實際案例分享,讓零基礎從零到一的程式新手,也能快速學會如何解決複雜問題。
Thumbnail
很多人都說,做生意就是要清清楚楚,規矩講清楚,不能有不明不白的地帶。 我非常贊同這樣的說法,做事也盡量朝這方面去執行。但有實際業務經驗的人就會知道,“有些時候”雙方對同一件事情的解釋,保有不清晰的模糊地帶,反而才能順利解決事情。 這邊特別標“有些時候”,就表示大部分時候,清清楚楚講明白,是更好的方式
Thumbnail
很多人都說,做生意就是要清清楚楚,規矩講清楚,不能有不明不白的地帶。 我非常贊同這樣的說法,做事也盡量朝這方面去執行。但有實際業務經驗的人就會知道,“有些時候”雙方對同一件事情的解釋,保有不清晰的模糊地帶,反而才能順利解決事情。 這邊特別標“有些時候”,就表示大部分時候,清清楚楚講明白,是更好的方式
Thumbnail
這些是我常聽到在接案初期時,不少人會犯的錯 (包括我自己、前輩們),每點常見錯誤中會附上幾點可以改善(我也在努力)的方法。
Thumbnail
這些是我常聽到在接案初期時,不少人會犯的錯 (包括我自己、前輩們),每點常見錯誤中會附上幾點可以改善(我也在努力)的方法。
Thumbnail
職場上有許多同事關係需要處理,平輩之間相互討論是一件挺不錯的事情,但我認為碰上程式問題應該自我排除,增加自我學習能力。你身旁也有不斷提問的 Bug 同事嗎?歡迎來看看我是如何應對這些同事的。
Thumbnail
職場上有許多同事關係需要處理,平輩之間相互討論是一件挺不錯的事情,但我認為碰上程式問題應該自我排除,增加自我學習能力。你身旁也有不斷提問的 Bug 同事嗎?歡迎來看看我是如何應對這些同事的。
Thumbnail
本文同步刊載在敝人任職的 五倍紅寶石軟體開發 官網上。 只可惜夢想永遠豐腴,現實卻經常骨感。 統整這幾年客戶分享的,他們過去的慘痛踩雷經驗,大致可歸納為幾種: 1.開發品質低下 2.危機時找不到人解決 3.做完三不管,業主變孤兒 1.是否有確實評估 2.是否能跟你討論並給建議 3.相關作品
Thumbnail
本文同步刊載在敝人任職的 五倍紅寶石軟體開發 官網上。 只可惜夢想永遠豐腴,現實卻經常骨感。 統整這幾年客戶分享的,他們過去的慘痛踩雷經驗,大致可歸納為幾種: 1.開發品質低下 2.危機時找不到人解決 3.做完三不管,業主變孤兒 1.是否有確實評估 2.是否能跟你討論並給建議 3.相關作品
Thumbnail
近幾年看到蠻多光怪陸離的開發鬼故事,也見識過各種奇醜無比的失事原因
Thumbnail
近幾年看到蠻多光怪陸離的開發鬼故事,也見識過各種奇醜無比的失事原因
Thumbnail
一直以來,自己與人交往都希望秉持著能多做點就多做點,吃點虧也就算了,反正山水有相逢,一些念念不忘最終必有迴響。且自己很有自知之明,不是一個喜歡在面對面的場合馬上針對一些話題給回覆的個性,所以很多時候都是讓對方有種「好溝通」的感覺。畢竟什麼事情只要說出來,自己都幾乎甚至是超負荷的協助處理好。 活動前
Thumbnail
一直以來,自己與人交往都希望秉持著能多做點就多做點,吃點虧也就算了,反正山水有相逢,一些念念不忘最終必有迴響。且自己很有自知之明,不是一個喜歡在面對面的場合馬上針對一些話題給回覆的個性,所以很多時候都是讓對方有種「好溝通」的感覺。畢竟什麼事情只要說出來,自己都幾乎甚至是超負荷的協助處理好。 活動前
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News