不懂技術的人,請不要對懂的人說這很容易

但後來我發覺,即使我自己對自己的計劃預測要花多少開發時間,我也是沒那麼有把握。如果連我自己都做不好,我何必對那些人惱怒呢?真正讓我覺得悶的不是他們預估的錯誤。問題在於他們竟然認為自己可以做出正確的估計。作為開發人員,我們經常會發現,在軟體開發的問題上,一個外行人會很自然的把複雜的事情估計的很簡單。
評論
評論

(本文摘譯自:I'm Sure It Will Only Take You A Few Days To Code編譯自外刊評論

 

「這個網站相當簡單,你要做的就是完成 X、Y、Z。你看起來技術很好,所以,我相信,你不需要花費太多時間就能把它做出來。」

我不時的就會收到這樣的 Email。寫這些信的人幾乎都是跟技術沾不上邊的人,或正在研究他們的第一個產品。一開始,當聽到人們這樣講,我總是十分的惱怒。他們以為是在跟誰討論軟體開發所需時間?

但後來我發覺,即使我自己對自己的計劃預測要花多少開發時間,我也是沒那麼有把握。如果連我自己都做不好,我何必對那些人惱怒呢?真正讓我覺得悶的不是他們預估的錯誤。問題在於他們竟然認為自己可以做出正確的估計。作為開發人員,我們經常會發現,在軟體開發的問題上,一個外行人會很自然的把複雜的事情估計的很簡單。

這並不是為我們的憤怒找藉口,但倒是提醒了我們另外一個有趣的問題:為什麼我們天生預測複雜性的能力在遇到程式開發時會失靈?

為了回答這個問題,讓我們來認識一下我們的大腦如何評估事情的。有些事情對於一些沒有經驗的人也很容易預估正確,但有些事情則不然。

我們來想想,觀看某人演奏吉他。即使你從來沒有彈過吉他,在看了一場彈奏「瑪麗有隻小羊(Mary had a Little Lamb)」的吉他表演後,你也能大概推測出這很簡單,一個人不需要好的技巧就能演奏出來。同樣,當觀看某人演奏 D 大調的「卡農 (Pachabel's Canon)」後,你也很容易推測出,這很複雜,需要很長時間的練習才能演奏的出來。

為什麼我們能夠很迅速準確的預估這兩首曲子的複雜性呢?這跟我們用來判斷一個事情簡單和還是複雜的方法有關。

我們大腦有一些現成的模式來完成這些事情,首先一個就是根據速度。這種情況下,大腦會辨別每秒鐘演奏的東西。根據每秒鐘演奏了多少東西,我們很容易有一個直觀判斷,來決定曲子的複雜度。因為用吉他演奏一首歌是一種物理過程、一種感官上的活動,我們的大腦很容易依此來推測速度,繼而轉換成複雜度。

我們還有另外一個天生的推測依據:體積。想想把一個帳篷和一棟公寓放在一起對比。即使一個人從來沒有學過建築學,他也能告訴你通常設計建造一個帳篷會比設計建造一棟公寓要簡單。

為什麼?因為我們天生的會使用物理體積作為事物複雜性的一個指標。

當然。上面說的這兩種邏輯分析並不總是 100% 有效。但大多數情況下,人們就是這樣做,而且很奏效。大多數情況中,我們在對物理過程評估時,我們的大腦會對物理事物進行有效的關聯,不需要依賴之前的經驗。

現在讓我們來談談軟體。當一個不懂技術的人試圖對軟體開發時間進行評估時,有兩個很基本的直觀指標在輔助他們:以體積為指標的複雜度和以速度為指標的複雜度。但他們沒有意識到,軟體跟他們想像的不一樣。軟體本質上不是有形物質。沒有體積和速度。它的極小的組成部分可能會時不時的在電腦螢幕上閃現。正因為如此,當面對開發一個網路應用程式時(或任何類型的軟體),我們的基本直觀感覺失效了。

這第一點,速度,很顯然根本不可能被外行人拿來對軟體進行評估。於是很自然的,他們傾向於使用體積指標進行評估。要嘛是根據需求描述的文件頁數,要嘛是根據軟體的功能範例數或功能數。

有時候,這種評估手段確實有效,面對一個靜態網站,沒有特別的設計要求,外行人很容易用這種方法估計出開發時間。但是,通常情況下,對於軟體開發,體積並不能真實有效的反映複雜度。不幸的是,對於軟體的複雜度,唯一有效的推測方法是依據經驗。而且還不是每次都好用。

作為一個程式開發者,我知道,根據我之前開發過的相似的功能,我可以估算出現在的這些功能各自要多少開發時間。然後,我把總時間加起來,這就得到了完成整個計劃需要的大概時間。然而,事實情況中,每個計劃在開發過程中都會遇到二、三個瓶頸。這些瓶頸會肆意的消耗開發者的大量時間,你在遇到它們之前根本不會料想到。它們會拖住整個計劃,使得開發時間延後數週甚至數月。

這些是沒有經驗的人在評估複雜度時不會理解的。他們不明白在其他事情上都有效的方法,為什麼放到軟體開發上就不靈了。所以,下一次當你聽到有人說「我想你幾天時間就能把它開發出來」時,不管是誰說的,都不要懊惱。深呼吸一下,給他這篇文章的連結,然後繼續做自己該做的事。

歡迎加入「Inside」Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

佈局未來需求! Viva TV 導入 Seagate 儲存解決方案,打造可「與時俱進」的海量影音資料庫!

「電視購物」的概念自 80 年興起後已有超過 40 年的歷史,目前國內也有多間經營近 20 年的電視購物頻道,在面對網路電商、直播帶貨…等新型態的銷售方式,電視購物業者如何做到「進可攻,退可守」?
評論
Photo Credit:Viva TV
評論

在 2000 年左右,隨著東森購物、富邦 momo 與 Viva TV 美好購物…等多個電視購物頻道陸續開播,也引發一波「看電視,打電話買東西」的熱潮,全盛時期電視購物頻道的收視人口甚至覆蓋超過全國總人口的一半,潛在營收規模上看新台幣千億元。

不過隨著網路電商的興起,以及後來寬頻網路與行動網路的普及,帶動了網路串流影音內容的發展,也大大影響了電視購物頻道的營收表現,除了因應轉型 EC 電子商務業務,國內知名電視購物頻道之一的 Viva TV 美好購物也選擇站穩腳步,鞏固現有業務,透過優質的節目內容為消費者創造價值,同時也進一步思索如何強化營運效能,找出未來創新的可能方向。

影音檔案龐大,儲存也需要講求效率

對於電視台來說,每日產出的影音內容,都需要被完整儲存下來,除了作為電視台日後參考使用的歷史資料,也需要符合政府法規制定的規範保留一定年限,日積月累,所需要佔用的空間真的十分可觀。以 Viva TV 自身為例,每日購物台會有數小時的全新節目,每一小時的影音內容達 15GB~18GB,因此每日最低就需要 150GB 的儲存量。

不過以購物台的內容形態而言,其實對於歷史資料的保留需求並不高,雖說目前從 2005 年開台至今的 SD、HD 影音內容都有完整保存,但公司內部其實也有歷史影音內容需求性與保存時間的討論,由於過去儲存資料的方式單純以「片庫」的形態來管理,所以資料的擺放其實相散亂,只要求基本服務的正常運作,但當需要查找檔案較龐大的舊影音時,就會遇到處理效能較為緩慢的問題。而當時建置的儲存系統廠商已無法解決效能上的問題,也因此最終考量建置全新的資料儲存中心,以便進行資料的搬遷與升級。

企業選擇儲存解決方案:容量、效率、穩定性三大條件缺一不可

近期 Viva TV 與知名儲存解決方案廠商 Seagate 希捷合作,導入企業級的儲存解決方案,採用兼顧大容量與高效能的 5U 高密度機架式存設備 ExoS X 5U84,搭配單碟 18TB 容量的 Exos X18 企業級硬體,打造總容量 1.5 PB(1,500 TB)的超大儲存系統。

Photo Credit:Viva TV
Viva TV攜手Seagate解決資料儲存問題

董事長室的專案規劃經理林振德與我們分享,對於 Viva TV 來說,選擇企業級儲存解決方案的三個主要條件,包括了「容量」是否符合未來內容成長需求,以及前面提到調用資料的「效率」問題之外,另一個絕對必要的就是產品的穩定性與廠商在系統整合支援的能力。

在「容量」評估方面,考量到過去舊有儲存系統已經有 300 TB 規模的資料量,以及未來資料增長的需求,Viva TV 評估需要更大的總容量,同時為了限縮主機佔用的機架空間,因此單一磁碟的儲存量與整個儲存系統的儲存密度就顯得更為重要,也因此選用 Seagate 單碟 18 TB、可擴充達 84 顆硬碟的儲存主機就獲得 Viva TV 的青睞,同時以單位儲存價格比來說,Seagate 也是目前市場上極具競爭力的選擇,也為企業節省不少成本。此外,在「效率」的表現方面,Exos X18 提供進階寫入快取機制,能提供 270 MB/s 的傳輸效率,而 ExoS X 5U84 也內建雙控制器配置,最高傳輸量達 5.5GB/s 寫入;7GB/s 讀取,能滿足資料隨時調用的需求。

除了實際使用上的需求,對於所有企業而言,資料儲存的「穩定性」絕對是重中之重,若是發生硬體方面的問題,受到影響的部門眾多,也會影響整個電視台的營運;而 Seagate 不僅在 Exos X18 企業級硬碟提供高標準的每年 550TB 工作負載率、250 萬小時的 MTBF(平均故障隔時間) ,高密度機架式存設備 ExoS X 5U84 也提供 ADAPT 功能的備援熱插拔控制器、備援熱插拔硬碟機、風扇、雙電源線、熱待機備用、自動容錯轉移與多路徑支援…等提高可用性的機制,另外更為重要的是,Seagate 提供的系統整合服務極為完善,無論是售前或是售後都能保持極為暢通的溝通管道,能即時滿足技術上的支援。

雲端化現階段還未能滿足影音內容應用需求

由於影音檔案的儲存量極為龐大,林振德表示,除了單純解決「如何存放」的問題,能夠有效率的依照需求來調用資料更是一大關鍵,而他們也曾比較過自有的儲存中心與雲端化的儲存服務,除了「成本」是主要考量之外,「應用」更是一大關鍵,尤其是資料上下雲端所需要花費的時間可能會是本地端複製的數倍,可能無法滿足實際使用這些備存檔案的需求;像是過去 Viva TV 就曾經遇到需要配合檢調單位調出特定產品的資料時,就要一次找出不同年份、時間有曝光產品的節目內容,檔案規模也高達數百 GB,光是本地端匯出資料就耗費大量時間,若是真的採用雲端化儲存,恐怕花費的時間會增加數倍,同時單純靜態資料的固定備份,也將增加日常維運的時間成本。

現階段 Viva TV 仍以本地端磁碟儲存系統為主要解決方案的主要理由還是在於龐大儲存量的需求,雲端的成本仍舊偏高,再者就是資料上雲後,資料下載時的速度是否足夠,以實際需求面來說,影音儲存的目的並非單純的「稽核備份」,能夠「隨取使用」更是一大重點。

迎接 8K 世代,「與時俱進」絕對必要

電視產業的大環境變遷絕對是目前面臨最大的挑戰,近幾年因為疫情影響,也可以發現到競爭對手搭上電商需求的浪潮轉型成功,不過對於電視購物這一個領域,Viva TV 對於未來發展仍舊看好,如何內容做到更好會是聚焦的重點,在堅守本業的同時,與 EC 整合,同時吸取網路直播帶貨、低成本形態的媒體營運模式之長,做出內容拍攝、銷售形態的轉變將會是下一階段的目標,畢竟年輕族群接收資訊的主要管道已非電視平台,如何拉回這些人的目光焦點會是非常重要的關鍵。

Photo Credit:Viva TV
Viva TV積極做內容優化,看好未來市場仍大有可為。

除此之外,在電視節目由 SD 轉變為 HD 之後,下一步可能會直接跳過 4K 而進入到 8K 世代,以目前公眾平台的傳輸基礎量來評估,2 至 3 年後台灣的收視就將進入到 8K 市場,目前已有業者正在實測營運 8K 影音內容,而這也將會是電視購物頻道下一階段要面臨的挑戰。

單位資料量比現有 HD 等級高出數倍的 8K 超高畫質內容,可符合儲存容量且高效穩定的數位儲存系統,對於電視台來說絕對會是必要的投資項目,以 Viva TV 所導入的 Seagate 企業儲存解決方案來說,已經能夠因應未來 5 年的實際使用需求,同時也兼具「與時俱進」的擴充彈性,從容不迫地面對下一階段的挑戰。