[好書分享] 無限賽局(The Infinite Game)

無限賽局 - 翻轉思維框架,突破勝負盲點,贏得你想要的未來 THE INFINITE GAME

作者: 賽門.西奈克  
原文作者: Simon Sinek  
譯者: 黃庭敏  
出版社:天下雜誌出版 

買書推薦網址:

前言:

這一本是今年所讀完的第五本書。賽門,西奈克(Simon Sinek) 一直是我很喜歡的作者,我似乎也買了(讀了)他的不少創作,從『先問為什麼」,到這一本書。

這一本書本來認為是講解有限思維與無限思維的書籍,但是有不少關於公司經營策略的方向。 如果公司透過了有限思維來制定公司的願景,那麼公司的前景是堪憂的,相反過來許多的公司都透過「無限賽局」的思維來訂定的公司的目標企業形象。這樣一來不僅僅能夠帶來源源不絕的動力,對于公司的進步也是可以期待的。

對於代表公司在外頭常做企業形象演講的我,這樣的思維是相當的重要的。這本書也蠻推薦給常需要代表公司在外頭演講的相關職業。

最後獻上天下雜誌所製作的推薦影片,其實蠻讚的。

內容簡介與心得:

《先問,為什麼?》暢銷作家賽門‧西奈克最新顛覆力作

黃金圈引導你找到最初的為什麼
無限思維為你重新定義工作與人生的方向與策略

贏了對手讓人士氣大振,但是為什麼興奮兩天就消散?
終於站上市場第一,但是新競爭者不斷出現,什麼時候才是真正的勝利?
在競爭中,我們怕輸、怕落後,拼命的像滾輪上不停奔跑的老鼠,疲憊不堪。
這是我們唯一的選擇嗎?

市場沒有一定規則,思維框架決定了你的策略選擇。
不被當下成敗綁架,才能主動應變,每天都充滿動力!

我們被自己的思維框架困住了!
習慣用贏家輸家、成功失敗的角度來看事情,
是讓我們不斷感到挫折、無法持續努力的最大盲點!

商業環境不是球賽棋局,改變規則沒有預告、參賽者沒有名額限制,也沒有一定的終場時間。

人生也是如此。

章節條列

  • 作者序 我為何寫這本書
  • 前言 怎樣才算勝利?
  • 01 有限賽局和無限賽局
  • 02 崇高的信念
  • 03 如何找到信念
  • 04 讓信念傳下去
  • 05 企業責任2.0
  • 06 意志與資源
  • 07 信任的團隊
  • 08 小心道德褪色
  • 09 可敬的對手
  • 10 攸關存亡的應變
  • 11 領導的勇氣
  • 後記 名為人生的賽局

就如同影片說明的,作者對於目前的企業文化覺得有些怪怪的。自從作者讀了五十年後的 1986 年,卡爾斯寫了《有限賽局與無限賽局》(Finite and Infinite Games) 之後,他知道許多問題的癥結點在於許多的企業都使用者「有限賽局」的思維作為企業文化的表徵。

在這本書一開始先敘述「有限賽局」與「無限賽局」的不同,主要的思考論點也在於「有限賽局」的思考脈絡始於競爭,但是就算很順利的將公司的達到了市場的領頭羊,或是市場上第一佔有率的公司。接下來又該如何? 這樣的思維往往是相當危險的,代表公司的創辦人本身看到的並不是公司未來的發展。就如同本書提到的,公司發起的主要因素一定是為了賺錢,但是如果只是將賺錢來當作公司主要核心目標甚至是公司標語的時候,那麼公司的未來是岌岌可危的。

因為往往賺到了許多前後,公司可能接下來就是精簡支出,以求取更高的獲利。為了讓股東賺取更多的獲利,而不在意是否能夠找到公司的信念。

但是每間公司並不完全能夠遵守的無限賽局的想法,很多時候許多公司一開始都是由著無限賽局的夢想而出發。 但是隨著與競爭者的相互競爭下,許多公司會迷惘,進而失去了無限賽局的思路,讓自己公司陷入了有限賽局的迷惘內。

這種往往發生在許多團隊中的「道德褪色」,指的是因為團隊間的惡性競爭,造就了欺騙甚至是假報成果的狀況。 書上也指出就算是在紀律嚴明的軍中,也會因為當局者陷入有限賽局的思路,每次只想著如何贏過其他的競爭對手來取得更好的成績,而與許著軍中出現了所謂的道德褪色的狀況。

「無限賽局」的思維並不容易,往往許多時候也會造成痛苦的轉變過程。 作者先舉了反向的例子,也就是「發明數位相機專利的柯達」,最後竟然就是被數位相既的風潮導致公司破產。 因為當初第一位發明數位相機專利的人,其實是柯達裡面的員工。但是當時的柯達高層,還是汲汲營營與底片的收入,認為底片才是柯達收入的主要來源,數位相機不會變成風潮。所以刻意打壓,申請了專利也只是拿來收取專利授權金而不是自己開發數位相機。到了數位相機得專利過期後洶湧而來的數位相機風潮就讓柯達支撐不下去,緊守著底片的他們也跟不上新的浪潮,只能走向破產的收場。

接下來作者也舉了具有公司信念的例子,比如說全美國最大的藥局 CVS 連鎖藥局,在 2014 年決定了下架了菸類的商品。 因為他們真正在護著客戶的健康,也了解販賣著真正下架香菸才能讓他們的顧客真正的健康。但是這樣的轉變一開始受到華爾街投資客的不看好,認為下架香菸商品會讓 CVS 的「每股獲利大幅度減少」,更讓整個企業走向衰敗。

但是事實上,許多的顧客樂於見到這樣的企業轉變。紛紛轉向CVS 去購買其他健康的商品。並且許多在 CVS 藥局工作的人也能夠以此為榮。真正的實現他們的口號「幫助人們變得更健康」。 這樣的企業口號變得更加的真實,也讓許多競爭者望塵莫及。這樣才真正是所謂的「無限賽局」的思維。

參考文章

心得:

Simon Sinek 真的很會激勵人心,就算只是在書上的文字。我剛看完 CVS 藥局那個段落的時候,真的是相當的激動也相當的感動。 真正的企業形象的塑造,在於如何透過一個簡單而由上往下的行動來塑造整體的企業文化。不要讓許多企業經營的原因影響了許多原本立意良好的企業初衷。 身為公司的技術傳教士,經常思考著如何能夠協助公司打造更好的技術品牌的同時。 回過頭來也常常想到,許多的上位者其實都帶給我們許多好的影響。 記得在日本總部受訓的時候,總部的技術長總是百忙之間抽空來跟新建同仁們聚餐,並且會儘量跟每一個同仁講到話。也希望每一位同仁能夠真正地做到「Be Open」,讓同仁們能夠更加的相互溝通。 這些事情也都是我經常忽略,應該要把這些小故事更經常地放在我的表現之中,希望每一個夥伴能感受到。

如果你也是要打造公司形象的行銷夥伴,或是也是技術傳教士。這一本書真的會讓你充足滿滿的能量。

[學習心得][Golang] 舊的開源專案開啟 Go Modules 可能會遇到的問題 (e.g. go get 無法更新版本)

前言:

各位好, LINE Bot Go SDK 是一個經營超過了五年的專案,並且版本號碼也早就已經到了 v7.8.0 。

而本月月初 (2021/April) LINE Bot Go SDK 又有新的版本更新了,這次有支援到三月平台所提供新的功能,還有將去年公開的 FLEX Msg 的 update 2 更新了。歡迎大家使用。

這個套件已經更新到 v7 版本,才支援 Modules 。 結果一開啓就踩到雷,感謝台灣的網友 wys1203 送了 PR 修復。 我也整理一下相關心得,跟大家分享一下。

TL;DR

本篇文將要介紹以下一些的部分:

如何將舊的開源專案支援 Go Modules

LINE-BOT-SDK-GO 是 LINE 開源出來的對於 LINE Messanging API 所釋放出的開源套件,並且支援多個語言版本(Go., PHP, Java, Python) 。

原本這個 https://github.com/line/line-bot-sdk-go 的版本已經超過 v7 ,但是遲遲沒有支援 go modules 。 也就是並沒有 go.mod 在該專案的檔案下面。所以需要透過以下方式來啟動 Go Modules (Enable Go Modules)

- go mod init
- go mod tidy
- go mod vendor

原本 PR 看起來也沒有太多的問題,於是就將新版本發佈出來。 (v7.9.0)

發生問題了

原本版本更新後,看起來也沒有太多問題。但是版本更新後卻發生了以下兩個問題:

無法更新版本 (Cannot update version by “go get”)

這時候我試著去更新一個本來有使用到 https://github.com/line/line-bot-sdk-go 的套件,正常的更新流程如下:

>> go mod tidy                                                           
go: finding module for package github.com/line/line-bot-sdk-go/linebot
go: found github.com/line/line-bot-sdk-go/linebot in github.com/line/line-bot-sdk-go v7.8.0+incompatible

問題出來了,我明明有更新版本到 v7.9.0 但是卻無法抓到最新的版本?

於是我拿了一個新的專案,重頭試試看。

  1. Copy https://github.com/line/line-bot-sdk-go/tree/master/examples/echo_bot to your go path
  2. go mod init
  3. go mod tidy

結果一樣是出現:

>> go mod init                                                                       
go: creating new go.mod: module github.com/kkdai/echo_bot 
go: to add module requirements and sums:
	go mod tidy
 
>> go mod tidy                                                                            
go: finding module for package github.com/line/line-bot-sdk-go/linebot
go: found github.com/line/line-bot-sdk-go/linebot in github.com/line/line-bot-sdk-go v7.8.0+incompatible

大家可以參考這個 issue 。 不論使用 go get 還是使用 go mod tidy 都無法順利將版號更新的最新的版本。 這個問題,讓我困擾了一陣子。

pkg.go.dev  上面版本是舊的

<a id=”go-dev-out-of-date””></a>

先來稍微解釋一下 https://pkg.go.dev 是一個 Golang 社群的套件說明網站。開發者可以透過關鍵字搜尋套件,並且可以查看相關的說明(所有內容都是根據 github.com 上面的資訊)。

而透過 https://pkg.go.dev 也可以很輕鬆的查許多專案版本方面的資訊,比如說 https://pkg.go.dev/github.com/appleboy/gofight 可以看到有最新版本 v2 - https://pkg.go.dev/github.com/appleboy/gofight/v2

雖然 https://github.com/line/line-bot-sdk-go 已經加上了 go.mod 的檔案,但是卻無法找到 https://pkg.go.dev/github.com/line/line-bot-sdk-go/v7 這個資料夾。

這時候感謝台灣網友提供的 Pull Request 提供給我相關的想法。

Go Modules 對於 v2 之後的支援方式

根據官方的文件 - Golang-Blog Publishing v2 and beyond 上面有提到,如果需要發布 v2 之後的版本由於是具有不向後兼容的方式。 所以在發布得時候,官方建議有兩個方式:

  • 建立一個新的資料夾 v2 並且把東西全部更新到該資料夾上面。並且更改 go.mod 將版本號碼改成 v2
  • 或是直接更改目前資料夾的 go.mod 將版本號碼改成 v2

修改 go.mod 檔案到 v2 (或是之後)的方式

$ go mod edit -module github.com/YOU/YOUR_PROJECT/v2 go.mod

這邊要注意,因爲 go mod init 並不會自動幫你加上相關的版本(如果超過 v2),只得自行加上。所以需要「手動」加上相關的版號,也就是說如果你的套件可能已經超過了 v2 以上,但是一直沒有啟動過 go modules 那麼你可能就會踩到這個雷。

如何修復? 有用到的人該如何修改?

原始套件啟動 Go Modules 的修復方式

關於 https://github.com/line/line-bot-sdk-go 的修復方式,大家可以參考這個 pull request

使用到的套件,要如何能夠正確的更新版本?

如果你是使用 https://github.com/line/line-bot-sdk-go 這個套件的人,請根據以下方式來正確地取得最新的版本。

  1. 所有 import 的地方,修成到 v7

    1. AS-IS: import "github.com/line/line-bot-sdk-go/linebot"
    2. TO-BE: import "github.com/line/line-bot-sdk-go/v7/linebot"
  2. 重新修改 `go.mod. 透過執行

    1. go mod tidy
    2. go mod vendor
  3. 測試你本地端的程式碼,確定沒問題。

  4. 更新到 GitHub

結論:

因為 Go Modules 其實是兩年前的 1.11 才開始使用,但是許多專案其實也沒有馬上啟動。 如果沒有啟動 Go Modules 其實版本更新也不會出錯。 但是只要一啟動 Go Modules 的話,就要小心本篇文章所提供的相關案例。

其實啟動 Go Modules 是相當方便的,也應該要提早準備好相關的修正。希望每一個套件管理者能儘早的準備升級到 Go Modules 的套件支援。

相關文章:

[好書分享] 創意競擇 - 蘋果前iPhone首席軟體工程師獨家告白

創意競擇 - 從賈伯斯黃金年代的軟體設計機密流程,窺見蘋果的創意方法、本質與卓越關鍵
Creative Selection: Inside Apple's Design Process During the Golden Age of Steve Jobs
作者: 肯.科辛達  
原文作者: Ken Kocienda  
譯者: 洪慧芳  
出版社:臉譜 
出版日期:2021/01/26 

買書推薦網址:

前言:

這一本是今年所讀完的第四本書。 當初也是聽到 「「現在開始你們都是鍵盤工程師!」iPhone 鍵盤的誕生與賈伯斯時代的蘋果軟體設計流程」的結果馬上就買了這一本書的電子版(週日買),作天晚上(週三)就看完了。 為什麼會這麼想要看這本呢? 我的理由如下:

  • 這是第一本由 「蘋果首席iPhone軟體開發工程師」(註解: Principle iPhone Software Engineer,通常在外商科技公司中, Principle Software Engineer 通常就是非管理職的最高職位)所寫的書籍。
  • 這也是一本講解有賈伯斯在的時候蘋果所產生出來的氛圍,還有一個好的功能是如何挑選出來的。

蠻推薦給大家看的,有興趣可以買來看。

內容簡介與心得:

──蘋果前iPhone首席軟體工程師獨家告白──
──Steve Jobs賈伯斯黃金時代蘋果創意法則全紀錄!──

蘋果產品全球有近二十億使用者,但催生、實現這些創意的所有工作流程,
由於內部嚴格的「保密條款」限制,始終成謎。
天才們究竟是如何孕育出iPhone、iPad、Safari……?
蘋果前首席軟體工程師,首度揭露賈伯斯黃金時代的蘋果設計開發流程,以及成就Apple的關鍵要素

章節條列

  • Introduction前言
  • The Demo演示
  • The Crystal Ball水晶球
  • The Black Slab黑色方碑
  • One Simple Rule大道至簡
  • The Hardest Problem最難的問題
  • The Keyboard Derby鍵盤大賽
  • QWERTY英打鍵盤QWERTY
  • Convergence聚合
  • The Intersection交會點
  • At This Point此時此刻
  • Epilogue後記

整本書從一個 iPad 的鍵盤設計展示開始(也是作者最後一次在公司看到賈伯斯),慢慢回想到作者如何被找來蘋果開發軟體。 如何協助開發 Mac 上面的瀏覽器,也是因為瀏覽器的開發讓作者第一次感受到十倍工程師的能力。裡面的小故事是: 一開始作者想透過 Mozila 的原始碼修改移植到 Mac OS 上面。但是因為 Mozilla 實在太龐大了,所以導致作者花了六個禮拜還不能讓 Mozilla 在 Mac OS 上面正確的執行(應該說連編譯 compile 都不行)。 但是新成員查理的加入,他用了兩天的時間就就透過自己寫的一層 Shim 讓 Mac OS 能跑 KDE 上面的瀏覽器(Shim 是一層欺騙層,一方面騙 KDE 瀏覽器正在 KDE 上面,一方面騙 Mac OS 他跑的是 Mac 軟體。 (類似 Kubernetes 裡面的 Dockershim )

這也是一個很特別的故事分享(原來強者可以兩天內寫好一個 shim 啊啊啊啊啊)

完成了 Mac OS 上面的瀏覽器(也就是我們後來熟知的 Safari ),作者有機會能高升為 iCloud (當時還是網路儲存),但是因為自己的不適應,竟然用跳槽威脅老闆們要當回工程師。(這也是很有趣的例子,原來真的有人願意單純當工程師)。 然後作者也加入了後來的 Purple 團隊(也就是蘋果最偉大的產品 iPhone)的團隊。 也是這個機會讓後來作者能有機會能夠在賈伯斯面前 demo 新功能「鍵盤的功能」。 現在 iPhone 上面的鍵盤就是作者參與製作的功能,並且也是作者打造出的自動拼字的功能,也是他打造出手指調整。也就是按鈕按下去得時候,往往使用者以為是指尖按到,但是往往會是指腹會先碰到螢幕。造成使用者以為不精準(其實是自己先碰到),連這個都能改善,真的是蘋果啊!!

心得:

蘋果的許多展新功能不是透過許多人的腦力激盪,而是透過許多不同的展示。許多有天賦的工程師透過高效率的樣品與展示,讓賈伯斯與許多高層能夠透過展示的成果決定那些功能是不是蘋果需要的功能。 這些段落在書中有詳細的敘述,也是很值得看的段落。身為工程師能了解如何做高效地展示,並且如何在展示的途中思索如何讓許多人能接受自己的展示。都是很重要的能力。

想要快速了解書內容,可以聽聽 Podcast 。但是身為工程師的話,建議一定要看本書。

參考文章

[學習心得][Golang] 簡單介紹幾個 Golang 1.16 的新功能

前言:

這篇文章拖得有點久(再不寫完 1.17 就要出了)

整理一下 Go 1.16 最新的幾個重要功能,其中最重要就是 Retract 跟 Embed Package 。大家趕快來試試看。

TL;DR

本篇文將要介紹:

如何安裝嚐鮮版本的 golang 1.16

如果你想要嘗試一下,還沒有在 Homebrew 上有支援的 Golang 版本,就目前 (2021/02/19) 狀況由於許多相關套件還沒有更新好,造就 HomeBrew 遲遲無法 Merge ,大家可以參考一下這個 PR

那如何在本地端安裝一下測試版本的 Go1.16 呢? 就如同本文開場圖片的敘述一下:

go get golang.org/dl/go1.16
go1.16 download

如此一來,就會在本地端安裝一個編譯好的檔案。 go1.16 如果需要相關的測試可以直接跑 go1.16 build 或是 go1.16 test 來跑。

1.16 新功能主要列表

Apple Sillicon (也就是目前的 Apple M1 Chip) support

這個版本正式支援 apple Silicon 誒就是 64-bit ARM 架構。(a.k.a. Apple M1 chip) 。 可以透過 compiler 參數:

  • GOOS=darwin,
  • GOARCH=arm64

來設定,而原先的 iPhone binary 設定則改為:

  • GOOS=darwin,
  • GOARCH=ios/arm64

可以透過指令 env GOOS=darwin GOARCH=arm64 go build 來編譯出給 Apple M1 的 binary 。

Go Module Retract

這部分可以參考我的另外一篇詳細文章。 [學習心得][Golang] Go 1.16 新功能的「版本撤回(下架)」(Go Modules retraction)

Embedding Files (把靜態檔案包含在專案中)

以往是無法將靜態檔案,包在 Golang 的專案之中。幾個方式只有:

  • 如果要載入的檔案是 json ,將它弄成變數。
  • 如果是 html 的 template 檔案,需要跟 binary 放在一起
  • 或是可以看一下 go-bindata 的專案(相似的還有 packrpkger ),透過這個方式將 static file 放在專案中變成 resource 。

但是在 1.16 之後,可以正式支援了。

假設檔案結構為:

.
├── go.mod
├── main.go
├── static
│ └── css
│ └── main.css
├── templates
│ └── index.html.tmpl
└── title.txt

透過以下方式,可以將檔案打包到專案中:

以後要打包整個網站,不用在擔心 docker 打包的時候會忘記把 template 跟 image 資源檔案忘記打包。

相關資料

相關文章:

[學習心得][Golang] Go 1.16 新功能的「版本撤回(下架)」(Go Modules retraction)

前言:

Go Module 在 1.11 的版本正式導入了 Golang Modules 讓許多套件可以使用 Go Module 來管理相依 (Dependency) 的套件。並且在 Go 1.16 版本也預設開啟了 Go Modules 的選項。但是在開發套件 (Package) 的時候可能會發生以下的問題:

  • 忽然發現某個的套件有重大的問題,希望其他人不要使用到這個套件。
  • 不小心進版號進太多了,而且有一些人也使用到這些版本。 (e.g 本來要跑 v0.4.0 ,結果不小心寫成 v1.0.0 )

以上兩個問題,如果在套件還沒有散佈出去的話,其實都是沒有問題的。但是如果套件也散布出去的話,就需要透過套件的撤回(Retract) ,來讓使用套件的開發者能了解相關的問題,也讓之後使用的人不會再用到這個版號。

本篇文章將會介紹 Go 1.16 裡面一個比較沒有被重點宣傳的功能(大部分人注意的是 Apple M1 支援),並且透過官方給的線上範例也給版本撤回的實作。

TL;DR

本篇文將要介紹:

什麼是 Retraction ?

顧名思義就是版本的撤回,也就是將「有問題」的版本將以撤回。

為何需要 Retraction ?

通常有兩類的問題:

  • 「已經發佈」的版本中,有某個版本發現致命的錯誤需要撤回。
    • 其中「已經發佈」代表已經公開發佈在 github (或其他 repository) ,並且有人使用。
  • 不小心將版本號碼打錯了,比如說 0.4.0 的版本,後來不小心打成 1.0.0 但是又被人拿去使用。

以前要如合作撤回版本的方式

由於以往並沒有提供 Go Module Retraction ,所以發生以上情形,只能在 README 上面註解。 並沒有方式在 go get 同時獲得足夠的資訊。

如何使用 Go modules Retraction

這裡透過線上 Go Dev Playground,直接一步步講解主要的問題解決方式。 詳細的程式碼,可以到裡面去查看。

問題 1: 發現有某個版本出現了重大問題怎麼辦?

假設你管理套件 gopher.live/ue0ddd4a99c02/proverb ,目前已經發佈到了 0.2.0 的版本出去。但是發現你這個版本有重大的問題。需要把這個版本撤回(或是下架),那麼你可以在套件的 repo 中輸入以下的指令:

go mod edit -retract=v0.2.0

這樣一來,就會發現 go.mod 檔案變成以下的內容

module gopher.live/ue0ddd4a99c02/proverb

go 1.16

// Go proverb was totally wrong
retract v0.2.0

這時候,我們可以加上一些註解在 go.mod 檔案內,這樣一來其他人要使用的時候,也會出現相關註解。

git add -A
$ git commit -q -m "Fix severe error in Go proverb"
$ git push -q origin main
remote: . Processing 1 references        
remote: Processed 1 references in total        
$ git tag v0.3.0
$ git push -q origin v0.3.0

透過以上方式,可以將版號推進一號。也已經把正確的內容修正好了。

如果其他人想要拉下有問題的版本,就會出現相關警告。

go get gopher.live/ue0ddd4a99c02/[email protected]
go: warning: gopher.live/ue0ddd4a99c02/[email protected]: retracted by module author: Go proverb was totally wrong
go: to switch to the latest unretracted version, run:
	go get gopher.live/ue0ddd4a99c02/[email protected] get: downgraded gopher.live/ue0ddd4a99c02/proverb v0.3.0 => v0.2.0

這樣的方式,就可以透過這個方式來達到撤回版本的流程。

相關疑問:

  • 如果沒有執行 go get 來連接查詢,是不是沒有辦法取得版本撤回的資訊?
    • 沒有錯,目前依舊需要透過 go get 或是 go list 來取得資料。

相關學習資源

[好書分享] 訂閱經濟-如何用最強商業模式,開啟全新服務商機(Subscribed)

訂閱經濟 - 如何用最強商業模式,開啟全新服務商機 (Subscribed)

原文作者: Tien Tzuo、Gabe Weisert  
譯者: 吳凱琳  
出版社:天下雜誌出版 

買書推薦網址:

前言:

這一本是今年所讀完的第三本書。 Netflix , Spotify 許多訂閱服務已經存在在你我的生活之中。你否有思考過,你一個月需要繳交多少的訂閱服務呢? 但是訂閱服務的商業模式是否是每一個產業都可以採用的? 如果真的要將產品的販售模式改成訂閱模式,會經過那一些痛苦的轉換呢? 購買訂閱模式的客戶,有哪一些需要改變的流程呢?

這一本書由全球最大訂閱管理平台祖睿(Zuora)執行長暨共同創辦人所分享的經驗談,談到了他之前在 Salesforce 與他自己創辦的 Zuora 後,對於訂閱服務的一個看法,並且分享產業轉換到訂閱產品服務可能會遇到的過程。

內容簡介與心得:

百年一遇的商業大變革,萬物皆可訂閱的時代已經來臨。
史丹佛最新熱門課程、全球最大訂閱管理平台執行長
教你掌握下個十年最重要商業趨勢——
萬物被連結,數據被秒解,競爭關鍵在服務。
最潮也最強的新商業模式,企業必懂、消費者必看!

章節條列

第一部 最強也最潮的商業創新

一開始作者開始介紹訂閱服務的整體重點,還有訂閱服務如何改變這個世界。 Netflix 透過訂閱服務改變了影音出租行業,讓曾經獨佔龍頭的百視達也只能落寞下場。 甚至是Microsoft 與 Adobe 這些曾經是商業軟體銷售龍頭,如何改變產品銷售策略,來將其產品改變為訂閱服務。

舊的產品思維是:

  • 做一個好產品
  • 透過通路與業務,賣給客戶
  • 透過行銷方式讓客戶來購買。
  • 收取利潤,開發下一個產品(回到一開始成為循環)

但是隨著時代的變遷,用戶開始對於產品的要求越來越多。功能需求開發量也越來越大,如何界定新的產品服務變成一個很困難的問題。而訂閱服務的流程很明顯的不同:

  • 打造一個好服務
  • 免費(或是極低代價)吸引用戶來試用
  • 透過訂閱獲得完整(更優秀)的功能
  • 獲得訂閱的利潤。
  • 透過定期得少量更新來讓產品更加優秀,吸引新的用戶或是取得向上銷售(upsale)的機會。

這樣的數位轉型,形成了新一波的典範轉移。這一個章節也提到了報社,航空公司,火車行業如何透過訂閱方式來轉移。

產品銷售模式的轉換 - 魚形曲線

如果要將產品銷售模式的從舊有的販賣方式改變成訂閱模式,可能會經歷一個利潤下降,但是成本上升的時段。主要原因是因為客戶轉換到訂閱模式後,造成當下的現金流減少。並且需要相關系統轉換的成本與人員的訓練。 這一系列的變換,被稱為「The Fish Model 」。

大家可以參考一下由微軟執行長曾經在某次演講上提到的相關內容 - The Secret to Satya Nadella’s Success is a Fish-Shaped Curve。 這也是許多人經常提到的,企業轉型重點在能不能吃得下那一條「魚」。

第二部 顧客導向,成為訂閱新贏家

假設經過了內部的討論後,公司內部也決定要將產品的銷售方式轉換到訂閱模式的話。那麼有那些地方需要變動呢? 這一個部分在書上也有許多的著墨的地方。並且透過系統面,人事面,心理層面有許多相當實際的討論。

首先是產品的開發流程,由於產品的銷售方式變成訂閱後。 並不是收到相關的費用來支持下一次的開發,必須要讓功能的開發更有系統化,更敏捷的方式來跟你的客戶溝通。

接下來行銷在銷售產品的流程上也會有巨大的變動,改換成訂閱模式後並不代表不需要行銷。但是以往的行銷是在於新產品發售後需要一個檔次的相關廣告來行銷。 對於舊有產品用戶的轉換宣傳,如何讓他們願意順利的轉換到新的付費機制上。都是行銷需要考量的層面。首先可以思考的是從以往出走的客戶群來下手,會出走的客戶群往往都是因為「費用」,「功能」等等因為而轉往競爭者。 透過消費模式的轉換,可以再次接近舊有的出走客戶來給予新的提案。

最後這本書也提到一個很有趣的點「資訊系統的配合」,一開始我還看不太懂。原來指的是銷售系統需要改變成「訂閱的模式』。如何透過訂閱模式來計算公司的收入模型,並且如何透過訂閱模式來開相關的政府單位需要的支出文件(發票或是明細)。 都是資訊系統需要的(當然這似乎也是作者從事的部分 XD )。

參考文章

心得:

其實在十年前,在我第一份工作上有機會在幫公司的產品加上訂閱相關的功能(雖然搞得快死)。 那時候對於訂閱模式也沒有感覺,直到近幾年才覺得訂閱經濟已經慢滿的改變你我的生活。那時候主要還是弄加上訂閱機制,才知道有許多相關加密與訂閱流程。並且針對功能的開啟與解鎖都需要相關的控制。

近年來針對許多產業都將產品的銷售流程改成訂閱模式,從影片,甚至到了最多人爭議的音樂 CD 。進階的也造成了音樂產業的轉型。現在的藝人無法透過完整專輯的銷量帶來大量的收入,反而需要透過許多的廣告代言,宣傳代言,出席相關的場合所帶來的收入。

我想許多的產品也會是如此,資訊產品更是。許多的單一功能的產品也透過訂閱方式來讓使用者付費。 雖然一年內,可以完整費用是變少的,但是隨著年份的增加也是有相關的支出會產生。 加上訂閱費用往往在使用這這邊是不容易管理的。

這本書有許多實際上的演練與系統上的討論(當然也因為作者要賣東西?),但是相關討論事實上也是需要先注意到的。蠻適合非資訊人員與技術人員都應該要看一下的。