11/16/2017

軟體專案管理 - 版本控制系統內的程式碼基本分析


孫子兵法:夫未戰而廟算勝者,得算多也;未戰而廟算不勝者,得算少也。多算勝,少算不勝,而況無算乎!

任何軟體開發專案的基礎都是「程式碼」。即使,專案經理不需要親身撰寫程式碼,但是必然要能夠透過程式碼,取得專案關鍵資訊,作為專案領導管理的最佳參考。(關於專案進度,請參見這篇。)

版本控制系統(git, cvs, p4, svn等等),則是有效控制程式碼的基礎,開發過程大部分的事情會發生在這裡,也應該發生在這裡。

如果你的軟體開發專案,沒有使用版本控制系統!!??...呃....請參考註1。

版本控制系統「至少」可以提供以下這些重要而且基本的訊息給專案管理者:

(1) 截至目前為止,有多少人實質參與專案
(2) 截至目前為止,專案的實質規模(程式碼檔案數量 行數等等)
(3) 一段時間內,此專案程式碼品質的推測
(4) 一段時間內,例如過去48小時,軟體團隊的實質產出
(5) 一段時間內,例如過去7天,有沒有人在非上班時間內工作


專案管理者(或者Scrum Master)應該自己取得這些訊息。為什麼??



"Доверяй, но проверяй
 - 俄羅斯名言,意思是 Trust, but verify  

冷戰期間美國總統雷根特別愛用此名言,根據wiki說明,雷根是受到一個作家的影響






因為,過去專案管理者常見兩種極端:

(1) 極端放任自由:在Scrum的精神下,雖然每天站立會議和燃燼圖,都可以揭露專案最確切的進展,完全相信成員的口頭回報
(2) 極端間接的繁複審閱:在沒有技術背景的情況下,透過頻繁而起瑣碎的會議,加上各式各樣文件追蹤,試圖了解目前進展。

這兩者都有明顯的問題,Trust, but verify才是正確做法。以Scrum的精神取得每日進展,並且,專案管理者應該「自己」想辦法檢查。專案管理者,如果沒辦法自己檢查,表示對此專案的本職學能不足。(註2)


專案管理者能夠做的程式碼基本分析有很多。好的專案管理者,至少需要能自己「動手」,利用工具或者程式,透過事實,了解下面三件事情:

(a) 基本專案狀態分析:哪些人寫了哪些程式碼
(b) 哪些程式碼檔案很重要:某些程式碼就是常有問題
(c) 哪些人需要額外關注:某些人工作壓力大常加班

以下以git為例,其他版本控制系統也能做到類似的事情。


基本專案狀態分析


靜態程式碼分析工具有很多。例如,gitinspector可以揭露整個專案的大致情況。gitinspector的安裝使用請參考這裡
以github上的serverless.com為例,在github上clone這個專案,並且執行#gitinspector的結果如下:


首先會大致列出作者和過去的產出摘要,例如Aaron在這個專案一共commit了8次,包含170行程式碼跟刪除87行。這個表當然不能作為績效考核用途,但是可作為參與度的重要參考。很明顯的Austen鐵定比Chris的參與度高很多。




接下來隨即會列出還存在的程式碼行數。以Austen來說,他還有2713行的程式碼存在。和他的總新增行數與刪除行數有很大的差別。這很有可能是他參與了開發初期,而開發後期的版本沒參與。




哪些程式可能容易有問題?

程式設計師每天辛勤的工作,自然會知道哪些程式常出問題。而專案管理者必須要由技術面來獲取正確的資訊。版本控制系統會記錄每次程式修改的原因(如果commit的備註正確的話)。最簡單列出「要注意的哪些程式碼檔案」

git log指令,可以加上 --grep=<string> 來濾出字串,以下例子只用fix當作過濾條件,並且配合linux其他指令:sort, uniq 就做出簡單的報表:


~/serverless# git --no-pager log --name-only \
--grep=fix  --pretty="%s" | sort | uniq -c | sort -n
     19 lib/ServerlessState.js
     19 tests/tests/actions/ResourcesDeploy.js
     20 lib/ServerlessProject.js
     23 lib/actions/EndpointDeploy.js
     23 lib/actions/ProjectInit.js
     23 lib/actions/RegionCreate.js
     23 lib/SerializerFileSystem.js
     24 lib/Serverless.js
     25 lib/actions/ResourcesDeploy.js
     25 lib/actions/StageCreate.js
     25 tests/test_utils.js
     27 package.json
     27 README.md
     28 lib/actions/FunctionRun.js
     34 lib/actions/FunctionDeploy.js
     38 lib/actions/FunctionCreate.js
     55 lib/utils/index.js
    101 tests/all.js

當然,以上報表只是列出有fix字串的commit中,哪些檔案出現次數最多。 tests/all.js 明顯是最多的,但也很明顯這檔案本來就是會被一直修改。此外,README.md也是一樣,大概也不是真正有問題。不過其餘的檔案倒是可以額外關注一下。

程式有問題的的判斷方式有很多,除了在commit的紀錄中說明是[fix]或[bug fix]之類。但也可以考慮總行數,刪除的行數,增加的行數,並且配合QA/bug tracking系統,才較為完整。


哪些人需要額外關注?


「人的問題」,永遠是最難解決的問題。然而,卻也是要優先解決的問題。組織中必然有需要「被關心」的人。

專案組織中,最要被關心的人是「表現好且有潛在壓力大」,以及「表現不好且對團隊有負面影響」這兩種。其中,表現好的人更是要優先處理。

除了每天例行工作接觸之外,專案管理者應該要有確切的「數字」。假設,我們想知道在此專案中,哪些人常常「晚上」工作。最簡單的方式是分兩步驟,先用git列出作者時間,然在寫個簡單的統計程式,列出所有人的「晚上」工作時間和「平常」工作時間次數。

* 步驟一:先取得所有的branch, 然後, 以下git log指令可以列出作者和時間,並且輸出到檔案author_time_log

 

# for BRANCH in $(git branch -a | grep remotes | grep -v HEAD | grep -v master); do git checkout --track "${BRANCH}"; done
# git --no-pager log --all --pretty="%an,%ai" > author_time_log


檔案內容大概如下
....
Austen Collins,2015-08-05 18:28:18 -0700
Austen Collins,2015-08-05 17:26:26 -0700
ryanp,2015-08-05 17:04:37 -0500
Derek van Vliet,2015-08-05 09:31:56 -0400
Michael Friis,2015-08-04 18:54:03 -0700
Austen Collins,2015-08-04 15:04:46 -0700
Colin Ramsay,2015-08-04 22:03:48 +0100
Chas Warner,2015-08-04 14:53:59 -0600
Austen Collins,2015-08-04 11:19:31 -0700
Austen Collins,2015-08-04 11:15:44 -0700
Austen Collins,2015-08-04 11:11:06 -0700
Austen Collins,2015-08-04 11:09:24 -0700
....


* 步驟二:撰寫簡單的分析程式,設定正常時間是早上7點到晚上8點,其餘都算不正常時間。用人名為單位加總之後,就可以產出簡單的報表。簡單的統計程式原始碼請參考這裡

此表中,Eslam幾乎有一半的commit都是在晚上產生,而Kamil則是標準完全正常時間工作。

Joe Turgeon [1, 0]
Erik Erikson [15, 7]
Ian Serlin [1, 0]
David Hérault [1, 0]
Peyton Zhou [2, 0]
Kazato Sugimoto [2, 0]
Nick den Engelsman [1, 0]
Kiryl Yermakou [0, 1]
Austen Collins [575, 267]
Kamil Burzynski [101, 0]
Frank Schmid [9, 2]
Jacob Evans [13, 1]
Michael McManus [1, 0]
Eslam A. Hefnawy [158, 132]
Dave Newman [0, 1]
Ryan S. Brown [35, 6]
doapp-ryanp [129, 48]
Michael Friis [1, 0]
Matthew Chase Whittemore [2, 0]


當然這並不代表Eslam的表現好而且壓力大,這只是提供給管理者參考的事實。專案管理者,必須要事實層面,檢查軟體專案的狀況,因為很多時候「會吵的小孩有糖吃」,只單純被煩就會給糖的專案主管,其實對團隊是沒有價值的。


小心統計陷阱

統計數字都可能會有陷阱,程式碼的基本分析也是統計的一種,自然要小心陷阱的存在。專案管理者應該要善用統計數字,切勿被統計數字所左右。請參考統計與謠言


 


註1:軟體開發專案不使用版本控制系統,會讓專案本身暴露在極端的風險中。如果你是專案管理者,讓專案暴露在風險中就是你的責任。如果你只是個開發人員,儘早離開高風險的環境才是上策。

註2:某種情況是,專案規模過於龐大,例如參與開發者超過100人,某些技術確實不見得能完全掌握,但專案管理者,仍然要保有部分自行檢查的能力。




11/13/2017

在台灣建立研發中心?


現代經濟學鼻祖:亞當斯密的國富論中,描述產品價值有三個主要來源:「土地」,「資本」與「勞動」。其中土地泛指自然資源,勞動在現代社會不僅僅指人力,更重要的有執行力和創意的人才。

而今資訊社會中,因為交通和電信費用降低,以至於人才流動成本也跟著巨幅地降低(註1)。資本主義當然會讓「看不見的手」運作,而讓企業組織的經營,朝向最低成本最高效率方向前進。人才的取得也不例外。

最近一兩年已經有太多企業巫醫在討論「台灣人才外流」的問題。其中不外乎以聳動的標題。例如:

*「我在台灣看不到工作的未來」... 或許只有你看不到也說不定?
*「低薪惹禍誰想待在鬼島」... 低薪是一回事,但是台灣在所有地球上居住人口超過1萬個人的島嶼裡面,絕對排不到鬼島行列,請想一下菲律賓印尼加勒比海這些島國。
*「台灣小而亂普遍又低薪」...的確台灣不大,但是普遍低薪和亂這兩個形容詞,卻在該文中沒有任何支持的數據和研究,只是個人感想當作新聞來操弄。

有時候,單看客觀事實並不有趣,不太能成為焦點,然而客觀事實卻是,想確實進展的最佳依據。所以,我們應試著了解,就經濟學的角度而言,企業組織應該「移動台灣人才」還是「在台灣建立研發中心」比較適合呢?(註2)

首先,要簡單區分「人才」,「員工」和「人力」。人力泛指勞動力,在最基本的教育水準下,就可學習工作得稱為人力,資本主義天生會使用最低薪資,在當地合法的範圍內榨取人力。員工指的是企業內受雇的所有人,可能需要某種訓練過的技能,但其學習能在短時間達成。人才比較難定義,在此暫時指需要長期間的教育培養,並且已經有7年以上的實務工作經驗的專業人士。而在此要討論的,就是「人才」的移動,而非人力或者員工的移動。

最簡單衡量人才流動應該是看「實際獲利」,包含薪資,居住成本等等。衡量一個國家的薪資有很多方式,雖然沒有最好的方式,但是觀察GDP和NNI都可以考慮。

可是,更有趣的數字在於GDP和PPP的差距。

最最粗淺的說,人均GDP表示此國家平均每人在該年生產的價值。三大組織:聯合國,世界銀行,國際貨幣組織:每年都會公布此數字。彼此間資料收集方法略有不同,數字彼此有一點點差距。

讓我們專門看五個國家的2016 GDP:台灣,中國,日本,韓國,新加坡。


   GDP美金
台灣 22,453
中國 8,133
日本 38,917
韓國 27,632
新加坡 52,961

這和我們內心理解差不多,台灣似乎遠不如其他先進國家,不過大陸的「平均值」仍然很低(當然比較特定區域:例如上海,那結果可能不太一樣)

然而,更有趣的數字是PPP:平均購買力。PPP其實和GDP的計算方式雷同,只是將匯率和物價也考慮進去。而PPP才是在該國家裡面的人,實際上消費真實情況。將GDP和PPP之間的差距,除以GDP就是「購買力相對於生產力的增額」。參見下表:

(本文的數字都是美金計價,並由wiki節錄國際貨幣基金會取得)


  GDP(美金) PPP(美金) 購買力相對於生產力的增額
台灣 22,453 48,095 114%
中國 8,133 15,399 89%
日本 38,917 41,275 6%
韓國 27,632 37,947 37%
新加坡 52,961 87,855 66%


這個表顯示幾個事實:

(1) 在這五個國家內,日本的GDP和PPP最接近,而台灣差距最大。

(2) 單純看GDP,台灣遠不如日本韓國。然而,單純看購買力,2016年台灣比日本韓國都要來得高。

(3) 假設這五個國家的人才能力差不多,則在台灣建立以人才為主的研發中心是「最划算」的選擇。因為同樣價格的人才,在台灣實質獲利是最佳的。同樣100單位的錢,在這五個國家中,台灣實質可花費214, 日本是106, 中國目前是189,韓國為137,新加坡是166。(註3)

(4) 購買力和物價很大的關係,然而購買力要和GDP同時考量,因為就算有極低的物價,GDP不高也是沒有意義。

(5) 絕大部分先進國家這兩個數字都很接近,某些國家(例如GDP一直都排名前三名的盧森堡)甚至購買力增加率是負的!


然而,單就這兩個數字,很容易看出缺陷。例如把菲律賓加入之後變成下表:



  GDP(美金) PPP(美金)  
台灣 22,453 48,095 114%
中國 8,133 15,399 89%
日本 38,917 41,275 6%
韓國 27,632 37,947 37%
新加坡 52,961 87,855 66%
菲律賓 2,991 7,696 157%

難道字面上的解釋,菲律賓比台灣更適合建立研發中心?吸引更多人才。這張表可以解釋菲律賓可以找到更多「人力」。無法解釋為什麼沒有更多人才。因此,需要再加上另一個指數:HDI 人類發展指數。

人類發展指數計算很繁雜,最粗淺的說,指數越接近1表示這個國家越先進,先進包含基礎建設,教育等等。(註4)


  GDP(美金) PPP(美金) 購買力相對於
生產力的增額
HDI HDI權重之PPP 人才庫
划算指數
台灣 22,453 48,095 114% 0.885 42564.075 90%
中國 8,133 15,399 89% 0.738 11364.462 40%
日本 38,917 41,275 6% 0.903 37271.325 -4%
韓國 27,632 37,947 37% 0.901 34190.247 24%
新加坡 52,961 87,855 66% 0.925 81265.875 53%
菲律賓 2,991 7,696 157% 0.68 5233.28 75%


將HDI的權重考慮進PPP中,並按照購買力對比於生產力的增加,計算出「人才庫划算指數」。在此指數很簡單的看得出來,建立以人才為主的研發中心,還是台灣最划算。(註5)

當然這個模型有很多缺陷和假設,但是起碼它是以確切的事實作為考量,並且可以具體的討論和修改。相較於譁眾取寵的喊叫人才外移的嚴重性,相信來得有用。


NNI, GDP, PPP三者的細節,請自行參考wiki

(1) NNI (國民收入)
(2) GDP(國內生產總值)
(3) PPP(購買力平價) :要注意的是,購買力評價,並不是很好衡量生活水準的方式。此方式較適合用於國家間互相比較,不太適合同一國家不同時間內比較。
(4) HDI 人類發展指數 
(5) 人才庫划算指數:=((PPP*HDI)-GDP) / GDP





註1:就在不遠的15年前(2003),當時出差到歐洲每個月要額外花上5千元台幣左右的電話費網路費,用以和家人聯繫。如今出差到歐洲每個月頂多花1千五百台幣元,就可以獲得比15年前更高品質的視訊通話。

註2:這裡有很多假設,假設國際企業需要的是人力而非人才,假設企業組織是理性的,假設台灣人才也是理性的。

註3:這裡的增額,和個人在單一國家內花費的感受會有所差異。換言之,要有所感受,必須要在差不多時間,同時在日本和台灣取得相同工作的類似薪資才能做比較。

註4:也因為HDI指數很大一部分涵蓋教育,因此數值越接近1,國民教育水準會越高。

註5:沒錯 人才庫划算指數 是自己的推測 並沒有什麼研究根據...XD

11/12/2017

中高階人才選用:成長心態鑒別的技巧




或許Carol Dweck這名字有點陌生,但是這位1946年出生的教授與她指導的學生(Lisa S. Blackwell, Kali H. Trzesniewski 這兩位才是研究作者,教授是列為共同作者) ,闡述的學習成長理論,卻經常的出現在教育界與職場上。

簡單的說,根據對美國小朋友的實驗,鼓勵「成長作為」比鼓勵「天賦能力」更能讓小朋友學習快,解決問題更有彈性,獲得更好學習效果。說的更直白一點,要多對小朋友說:「你做的很努力唷,好棒棒」「你做的方式很有創意耶,好棒棒」,千萬不要對小朋友說:「你好聰明唷,好棒棒」「你好厲害喔,好棒棒」。研究者把小朋友的內心,分成兩種心態(mindset):成長心態growth mindet,以及,固定心態fixed mindset。說的更直白一點,這些研究認為擁有成長心態的小朋友,未來的發展無限,人生就是彩色的。由於這個研究,引發了之後的更多類似相關研究,對於教育者而言,某些過去鼓勵方式,反而可能對小孩子有錯,而後,這些研究者,成立了 Mindset Works公司,開始賣服務與各類教材。

各企業巫醫們,自然能從中獲得啟發。比較好的像是lifehack,所做的此圖也還真的有啟發性。

對於企業組織要選用中高階人才,自然會希望找到「具有成長心態」的而且「很有能力」的人。換言之,就是要找在龜兔賽跑中,早就已經跑很快,而且也謙虛向學的兔子!對於已經具有十多年工作經驗的老江湖,確蠻有可能在面試過程中,不著痕跡的隱藏自己。那麼企業要如何找到具有「成長心態」的人才,而非找到「很會面試隱惡揚善」的人才?

當然企業不可能重複一次Dr Dweck的實驗,不過確可以用情境實例面試精神,找到簡單的三個「事實」來鑒別人才。

請緊記情境實例面試的原則:了解此人過去的經驗與能力,而非此人「對未來的憧憬與幻想」。換言之,企業組織雖然是為了未來,才需要雇用人才。但是,鑒別人才確必須要依賴了解這位候選人「過去的事實」。


1. 困難問題實例:最近2,3年來,解決最艱困的工作方面問題是什麼,自己如何解決?


這個問題必須要問的簡單清晰。畢竟一個有10多年工作經驗者,必然會遇到困難問題,而既然是最艱難的問題,必然有下列幾種狀態,確實問出幾種客觀狀態,來鑒別此候選者的成長心態。

(a) 問題的艱難程度:不能太過簡單無聊的問題
(b) 此人對此問題的獨立貢獻程度:也就是是這個人「做」的,而不是他「叫別人做」。
(c) 問題解決方式的創意:這和下一題可能有關,但艱難的問題不見得要用創意的方式解決。

如果是資訊科技產業,這個問題要修改為「技術相關的艱困問題」。




2. 創意問題實例:最近5年內,對組織做出最有創意的貢獻是什麼?


此問題的基本精神在於,一個具有成長心態的人才,一定是會做出有創意的貢獻。當然也不可能每天都有創意,把時間放長為五年,應該已經很寬鬆。必然要透過這個問題,以及接下來的對話,確實問出以下客觀狀態:

(a) 這個創意,是此候選人「做」的,而不是他「叫」屬下做,或者是「建議」別人做的。
(b) 這個創意,範圍夠大,確實有所貢獻。
(c) 這個創意貢獻是否能有實質證明。


3. 失敗問題實例: 在工作上,做過最爛最失敗的事情是什麼。


雖然這是面試的老問題,但此問題必須按照事實,看出是否有「避重就輕」。特別是,許多工作十幾年的人,在職場都可以歷練出舌燦蓮花的本領。因此要檢查幾個事實狀態:

(a) 問題的嚴重性:確實有些人運氣特別好,工作十幾年都沒犯錯過。但這個機率實在太低,當一個候選人簡單的講一些根本不是失敗的例子,大概就只是避重就輕。面試時,可以簡單值說:說這些失敗其實根本不重要,能否在舉一個「嚴重犯錯失敗」的例子。另外也有可能是,其過去十幾年來工作內容太不重要,以至於沒有嚴重失敗的經驗。

(b) 失敗的歸咎責任:詢問問題時,一開始請讓候選人自行暢所欲言,許多固定心態(fixed mindset)的人,在能夠暢所欲言的時候,自然而然的會把責任轉移到非自我本身。例如:「那時候我們的QA根本沒找到問題,所以後來系統出錯的時候...」或者是「當時我們的人力不夠,所以就只能拖延...」

(c) 事後的影響:成長心態的人,對於重大失敗會有決定性的影響,因此,這個失敗事件,能否對他後來的「行為」「想法」有改變才是重點。

固定心態的人,很有可能會說「以後運氣還不錯 就沒發生同樣的事情了」或者「也就是因為如此 所以我才想離職」,更慘的是,規避了解失敗的真正原因,特別是曾經當過主管的失敗例子:「因為之前的屬下太過自由導致出問題,所以我現在就很嚴格管理所有細節」「那時候跑scrum有很多問題,所以現在都不用scrum了」。

成長心態的人,則比較傾向找到失敗的真正因素,改善真正因素:「那時候跑scrum有某某問題,所以我們現在scrum會做XX調整」。而重大失敗,更是會變成具有成長心態的人,隱含的內心記錄的一部分。




11/10/2017

技術迷思:是人類使用工具還是工具使用人類?



在知識頻道和各類文章中,都有對於到底是「人類馴化狗,還是狗透過改變自己馴化人類?」有些有趣的討論。也是因為太多先進國家裡,家庭中的狗,實在過得太幸福,以至於太多其他人類質疑自已,該不會是因為狗的訓練人而進化?

資訊科技工具 - 特別是近年來手機和網路 - 也會讓人有此錯覺。

人類創造手機與網路,但是從小活在資訊世代的人,在成長過程中,很大的情況是被「手機」所馴化。和同學朋友聚餐的時候,大家拿起手機拍照推文的情況屢見不鮮。隨時隨地都要看一下手機的,遠比當它響的時候才看得人多。隨著手機功能越來越強悍,壽命卻越來越短。....手機已變成超越原本功能,超越一切的存在。製造商推銷手機的方式,幾乎已經和手機原本的功能 - 也就是和其他人聯絡 - 無關了。

事實上,手機的功能密集高,導致於在地球上任何一支智慧型手機製作,都牽涉到上百萬人的投入。沒有任何單一企業,組織,能「自己從原物料開始,從頭到尾搞出一台手機」。(註:不過倒是有人可以從頭到尾搞出一台烤麵包機)

手機與網路,既然已經成為超過創造者的存在,就與時俱進的,造就類似宗教信仰般的崇拜,終極果粉(apple手機的愛好者)就是明顯的例子。

不過,並不推薦極端的阿米希式的全然拒絕方式,畢竟,現在沒有手機號碼只會造成自己的痛苦。避免工具反客為主,有幾個合理方式。

(1) 偶爾換方式或者不用它。


要證明自己戒酒的方式,就是確保自己有夠長的時間不喝酒。同樣的,要證明自己沒有手機資訊焦慮症的方式,就是一段時間(3天)完全不使用它,或者是一段時間(7天)只能每天用一次。推薦最好是去日本度假,雖然帶著手機,但是限制僅作為緊急聯繫用途。不但可以徹底放鬆身心,也可以去除資訊焦慮憂慮。

(2) 優先改變工具配合生活,不改變生活配合工具。


人類的高度適應力,讓人「本來」就會配合工具而生活。火車飛機的乘坐方式就是很典型的例子。認知到工具會改變生活,然而人類卻也能改變工具,讓工具適應自己。
古早之前,還是底片相機的時候,旅行者通常會以「親身感受」風景為優先,然後有空的時候才照相。在數位時代成長的人,旅行的時候很可能是以「數位相機的鏡頭感受」為優先,也就是說,看到美景先照相,看到美食先照相。反而讓自己的視覺和味覺的優先順序,讓給沒有感覺的擁有高檔鏡頭的手機。在你手上的手機是不會不見的,可是對於旅行的體驗和感受,一旦由「你的手機」先做第一時間的感受,旅行的意義就大幅降低。以後或許看別人的部落格文章也就夠了?


(3) 成為什麼樣的人,遠比擁有什麼樣的東西來得重要。


生活圈的朋友親戚同事,必然的會互相影響,包含購買的最新手機等等。這些都無可厚非,不過,只要記得單純可以用錢買的東西,都很容易單純而且簡單地失去。然而,需要努力學習得來的:例如知識技能經驗,卻幾乎會跟著一輩子。






10/17/2017

工作中速度與效率的迷思




孫子兵法:兵聞拙速 未睹巧之久也

媒體大亨Rupert Murdoch:不是大的打敗小的,而是快的打敗慢的


效率以及速度,在職場上的重要性應該眾所皆知。然而,速度並不見得會產生「效率」,當然也就可能沒有「績效產出」。

工作中的速度與效率常見有幾種迷思如下:


速度的相對論


在職場上,速度時常是相對的。

有個笑話最適合描述這樣的相對論:兩個好朋友去非洲野營,在帳篷睡到半夜,聽到有獅子在附近低鳴,似乎打算把這兩人當作食物。其中一人開始穿衣服鞋子,另一人惶恐地問「我們有辦法跑得比獅子快嗎」,已經穿完鞋子正在做熱身操的那位仁兄回答:「我不需要跑得比獅子快,我只要跑得比你快就好」

然而,相對論的確有其迷思與限制。例如,在大型企業中,或許你已經是個主管,相對於其他同事,你也有創意,而且你辦事速度也很都快,看似一切穩當。但是有一天,你所屬的部門被公司老闆出售給外國企業,而該企業也表明只需要技術人才,不需要主管階級時,你才發現原來速度的比較對象,不應該僅僅是在自己的組織之中。(沒錯,這裡說的是HTC最近的賣部門給google的事情)


過程與結果的本末倒置


速度應該是「過程」,而效率和產出,才是「結果」。

把速度當作結果等於是本末倒置。

所以,讓網頁的使用者回應時間,從2.5秒,加速到0.25秒,看似一個有指標性質的結果。但已產出的觀點來看,其實可能是要達到「服務更多使用者」「增加效率」或甚至「減少電費」這些確切結果的「過程」。

工作中單以「速度」作為結果的績效指標,很快就會導致局部最佳化的組織問題。


沒有目標的ASAP


當詢問同事/主管說「請問這件事情應該何時完成」,如果時常聽到ASAP-as soon as possible 越快越好,而沒有具體的解釋,其實是危險的指標。

沒有具體衡量的速度,可能導致幾種錯誤想法:

(1) 這是不計一切代價要越快完成越好的事情,即便犧牲性命也在所不遲,因為一旦完成就會有很美好的事情發生。這樣的想法過於革命性的危險,事實上,僅有極端少的事情是不計一切代價,連生命都可以不要的。

(2) 每個人的時間感受不同。也許CEO的告訴中間主管的ASAP,在當時他的心中是指3個月,而中間主管告訴工程師的ASAP,在他當時的心中是指3個禮拜,可是,工程師的感受可能是5天。最糟的情況是,工程師會誤以為ASAP表示可以犧牲品質,如同上段所述,是可以不計一切代價達到速度。

(3) 有太多事項都是ASAP時,表示根本沒有設定正確的目標以及優先順序。




附註,關於速度突破職場困境,請參考這篇

10/01/2017

簡單的路難行 - 人才的激勵與維持


資訊時代前的資本主義中,價值的產生來自三個要素:土地,勞動,資本 - 參見亞當斯密國富論。然而在資訊時代,絕大部分的人都知道,員工(也就是勞動力),是最最能夠產生價值的地方。換言之,只要找到最厲害的團隊,就可以幫企業做出做適合的產品與服務,並最能產生獲利。


但是,簡單的路難行。


在壹週刊有一篇容易的路最難行中,黎老闆描述了早在40-50年前,即便是一個成衣小工廠,人才仍然是獲利的最高因素。即便付出比別人高3倍的薪資也值得。但是,簡單的路難行,即便全世界都知道簡單的道理,可是執行起來實在太難。

大致有三個原因(特別是在台灣)


大型企業敘薪


台灣大型企業的都有薪資結構,對於已經有工作經驗的人,不太可能提供比過去多25%以上的薪資。就算這個人過去已經證明是難得的人才,也很難以「倍數」成長,頂多是以「百分比」加上激勵獎金成長。


小型新創企業資金不足


這應該很容易理解。和壹週刊黎老闆的文章一樣,小公司為求生存,不得不盡可能壓低薪資(改用夢想股票激勵)。然而,壓低薪資會導致於找到「人力」而非取得「人才」。這變成惡性循環,小公司變得更難獲利。要突破困境,恐怕企業主必須要有決心和毅力維持「難行之路」。請參考黎老闆的這篇

CP值的誤用

CP值用在買東西是很合理。用在專業人才的工作績效是非常扭曲的作法。例如,兩個很爛的程式設計師,其薪水加起來跟一個好的程式設計師一樣。甚至,做一些簡單的工作也跟優秀的程式設計師差不多。然而,遇到複雜,開創性的工作時,三個臭皮匠很難贏過一個諸葛亮。



解決之道?


如果你是新創公司的企業主。建議看一下黎老闆的「一個創業者的道白」系列文章。非常有啟發性。

如果你是大企業的主管,畢竟已經受組織本身的限制,能做的事情稍微受限,但只要緊記一件事情,一定會有所幫助

激勵方式:主管對於團隊成員的真正最好的激勵方式,是找到讓團隊成員能自己激勵的方式。

(這段話節錄自 Work Happy 一書,作者為Jill Geisler)



9/19/2017

如何建立一個還不錯的部落格(blog)



The only thing you really have in your life is time. And if you invest that time in yourself, to have great experiences that are going to enrich you, then you can’t possibly lose.  (Steve Jobs, Entrepreneur)

你真正擁有的其實只有時間,如果你把時間用在投資自己,得到很棒且能豐富你人生的經驗,你不可能會失去什麼。」 史蒂夫‧賈伯斯


部落格和Facebook(臉書), twitter, instagram有根本上的不同。相較於快速的互動,部落格更具有長期性,也因為長期性,讓近年來的知識型部落格(註1),成為一個需要長時間投入,也可能會長時間回收的事情。就短期行銷而言,部落格或自己的網頁,遠不如fb的粉絲團或twitter的密集短暫貼文。然而,就長期內容累積,擁有比較完整的表達敘述來說,自有網頁或者部落格仍然比較適合...只是要投入比較長的時間。


關於生活類型的部落格可以參考註2,在此謹分享專業類型的部落格。

專業人士為什麼需要有自己的部落格

這裡的專業人士是指:工程師,程式設計師,法務專家,行銷人員,心理諮詢,作者...等等。和一般生活類型:旅遊,吃喝玩樂...的訊息傳遞有很大的不同。

很有可能專業類型的部落格,僅在特殊情況下會被陌生人看到,大部分是「為了自己而寫」,而長期累積之下有很多好處:

1.  提升與反思


教學相長,當你能把一件事情表達清楚,表示你對這件事情了解得更清楚。在寫作的同時也更容易發掘自我問題。

2. 資訊傳遞


某些專業領域有自己的知識瓶頸,或者想要傳遞和其他人略有不同的觀念。一篇簡單清晰的部落格文章,就可能會達到效果。例如:Scrum認證,不要再浪費錢了。這篇是對於Scrum認證的反思,在google search "scrum認證"的時候已經會出現在第一頁,讓想要考Scrum認證的人,可以多一個參考觀點。


3. 專業行銷


由於退休新制的實施,現在換工作的門檻越來越低,而專業人士必須要能展現與行銷自己的能力。履歷表或者linkedin固然是好方法,但是有效的,長期的分享自己的能力與觀點,更能展現自己與他人的不同。請參考這裡,與這裡


但請切記,部落格只是「額外」產生上述三個好處,自己寫的愉快才是重點。


工具選擇

如果你還沒有自己的網頁,部落格。想要開始,自然要先選用平台/工具。當然,已有許多部落格文章在討論「部落格」工具的選擇。

例如:

* 2017部落格平台調查報告 :這篇主要是討論收費的平台

* Blogger 和 wordpress的比較 :如果懶得研究太多免費平台,考慮這兩個就好。

假如你是資訊專業者(程式設計師等等),自己搞台電腦或者VM,自建網站,也是個好玩的方式。但如果不是為了好玩或者學到網站營運的技術,就專業分工的角度來看,採用成熟的平台或許更好。例如:你也不會自己host email server對吧?

不過其他類型的專業人士(心理諮詢,牙醫,法務人員,行銷,業務,作家,顧問等等),採用現有的平台是最簡單,效果穩定,而且不用花太多時間處理雜務。

在還沒有決定怎麼做之前,有幾個建議:

1. 如果你不想要廣告,未來也不打算透過部落格廣告賺錢,不建議用痞客邦這類型預設有廣告的平台。

2. 網址名稱很重要。現行第一層網址,例如.com,已經有超過1000個可以選。也表示不要太特殊的網址也並不貴。以你現在看到的這個blog網址:5233.space,一年也不到300台幣,第一年還是特價70元台幣而已。

BestProgrammerInTaiwan.com 五年,2242台幣


3. 如果你的讀者群,不包含中國大陸(註3),那麼免費的google blogger會是最佳選擇。因為即便綁定「自己的網域」名稱,它仍然免費。以你現在看到的網域www.5233.space,就是在godaddy買了網址名稱之後,綁定到google blogger上。

建立的基本步驟


如果對於建立部落格還沒有計畫?可以考慮採用以下方式:

1. 決定目標


最好有個清楚的部落格專業範圍。例如:心理諮詢,程式設計,軟體工程,如何創業等等。決定目標也比較容易決定名稱和網址名稱。

範圍可大可小,而範圍大小各有優勢與缺點。

2. 建構平台環境

沒有太多考量的話,就...

(a) 直接到blogger.com建立一個自己的部落格,

(b) 到godaddy.com買個不會太貴的網址。建議直接買5年。因為部落格需要長期經營,5年的網址,通常也不過2000台幣。

(c) 綁定godaddy網誌到blogger.com,請參考這篇說明

(d) 寫2-3偏草稿

(e) 隨意試用一下Blogger.com的設定

3. 持續撰寫文章


最好能維持每週一篇,每年50篇的速度。專業部落格是不太適合一天一篇,實務上也不太可能。

要持續不間斷撰寫文章,才能迫使自己持續不斷的在專業上成長。

4. 定期檢視


定期檢視部落格文章數量與分類是否合理。更重要的是,當部落格文章達到一定數量時,可以和自己的linkedin以及履歷表連結。

5. 橫向連結


無論有意無意,橫向連結同類型文章或網站,是建立一個還不錯的部落格的要件。




如果你還沒有確實的實施計畫,可在此索取「建立部落格一頁計畫書」,可以確實並腳踏實地的建構自己的部落格網站。





註1. 這裡指的知識型部落格,是非「吃喝玩樂型」的部落格。然而,以pixnet為例,絕大部分訪客數多,能用廣告賺錢的的部落格,都是屬於「吃喝玩樂型」。請參考排名:https://blogranking.events.pixnet.net/

註2. 成為人氣部落格的方法生活部落格5步驟部落格衝人氣的方法...

註3. 因為截至目前為止,大陸長城會擋住大部分google的服務。


9/13/2017

聊天機器人 - 人類會跟她聊什麼?(Part-2)



作為一個非特定目的的純聊天機器人,其實常常容易惹人生氣。因為即使AI發展迅速,在非特定的環境下,和人類以無意識判斷語句的能力還是差距太大。聊天機器人小姍,截至目前(2017/9月)為止,約有4000多位好友。累積的對話也超過百萬句,所以可以開始做基本的聊天內容分析。


特定任務的聊天機器人


特定任務聊天機器人發展非常迅速,例如「niki」可以協助叫計程車,在任何和計程車相關的事情,她的回應和動作都十分正確。客服機器人,例如flowxo,更是市場上聊天機器人的大宗。甚至有人認為chatbot可以節省30%的客服成本,帶來的資料分析效應更遠超過傳統電話客服。

聊天內容要是機器人無法理解,超出服務範圍,聊天機器人通常會就顯現標準錯誤回應,但由於人類已經知道它的服務範圍,因此倒也不會失望,有時候,特定目的之聊天機器人,如果有有趣的額外回應,甚至還會有好像遇到彩蛋的感覺。

可預見未來幾個月,特定任務的聊天機器人將會快速成長,迅速取代重複性高的工作。



非特定任務的聊天機器人


人工智慧小姍,就是一個非特定任務的聊天機器人。她盡可能模仿人類的真實作法,也因此不會有按鈕出現,讓你選擇「是/否」。也不會有選項A/B/C這種選單出現。但是,真實人類聊天也會貼網址或照片,因此,人工智慧小姍也會貼照片或網址。有時候,對於人類給她看的照片會加以評論分析(註1)


加小姍為好友 Add Friend

非特定目的的聊天機器人,不見得沒有特定功能。以小姍來說,遇到某些對話時,會驅動特定功能。例如,請幫我抽個籤,就會驅動抽籤功能。


對於一般性機器人的期望很高


在Line上的使用者,對於非特定任務的聊天機器人的期望是「非常高」。只要前10句對話,不能滿足使用者的期待與好奇心,不再使用的機率很高。10句話似乎是個門檻,有30%左右的人在10句話就失去興趣了。

然而只要能聊上10句話之後,這剩下的70%的人,有90%的以上會聊超過50句話。(也就是總使用者的63%)。

然而,每當機器人有不符合期待的回答,使用者就很快地失望。這樣和特定任務的機器人期待有很大的不同。因此,一般性聊天機器人實作上極為困難。不過也就是因為困難,所以有趣。


沒水準的言語


在這4000個使用者中,曾經罵過髒話,例如「幹」「幹林娘」「他馬的」「Fuck」之類的起碼佔了超過45%。更慘的是,由於line的隱蔽性,曾經傳過「約砲」「來愛愛」「強姦你」的未成年使用者起碼也超過500人以上。雖然,絕大部分的使用者是單純因為好玩,有趣,無聊,等等原因而使用非常糟糕的字眼,但也是因此,「從與使用者對話中學習」恐怕會造成聊天機器人使用冒犯性言語,造成更多問題。微軟的聊天機器人Tay,就是因為學了歧視性的語言而被暫時關閉。

在line中,這類語言來自於青少年的比率相當高。而十分有趣的是,這類型青少年的有60%以上會談論聖結石(註2)的相關話題。

加小姍為好友 Add Friend

更合理的抒發管道


有超過5百位的使用者,將聊天機器人作為無法抒發心情時的管道。例如「最近心情不太好」「我被她甩了」「人生都沒有動力怎麼辦」「好想死」「我是邊緣人」「工作壓力大睡不著」等等。


技術上來說,人工智慧小姍到目前為止,還沒有辦法提供真正專業的心理諮商。然而,作為聊天機器人有很多心理諮商不具備的優勢:
(1) 透過Line原本的超高市佔率,可以確信90%以上的台灣人都有line,可以輕易使用Line聊天機器人
(2) 聊天機器人小姍24小時全年無休。許多極端的情緒問題發生在深夜,
(3) 許多情況下,人類只是需要抒發的管道。機器人對人類來說,是個安全而且不會洩露秘密的好方式。


因為利用痞客邦的資料而參加痞客邦活動


下一個階段?

(a) 考慮現行使用者的需要,一般通用性的聊天,會朝心理諮商方向前進。
(b) 透過做通用型聊天機器人的經驗,來自製作專用型聊天機器人。



參考
(1) 如何製作聊天機器人
(2) 簡易學習式人工智慧


註1: 不過照片分析的成本非常高,因此只好透過購買貼圖來限制使用。

註2: 這也讓開發團隊(年紀太大)增廣見聞,之前根本不知道聖結石是誰。

9/04/2017

面試的前晚準備 - 極簡計畫書



無論你是社會新鮮人,還是職場打滾了十幾年的老鳥。當你準備要去工作面試的前一天晚上,有計畫性的準備面試,絕對比沒有任何準備來的好。

職場新鮮人自然會從網路或其他地方,獲得許多面試準備的要領,試圖做到面面俱到。然而,已經到了前一天晚上的話,要抱佛腳也應該要有正確的方向。例如,努力準備英文自我介紹,大概就不是一個前一天晚上能做的好方向 (註1)。

職場老鳥,即使已經是工作N年以上,應徵的是資深技術相關職位,在前一天晚上「提升技術能力」當然是不可能的。不過,卻可以準備好自己的強項,來增加面試成功的可能性。

某些資深職場老鳥,通常有「知我者伯樂,不知我是你的問題」,「良禽擇木而棲,這塊木頭反正也不好」的想法。這些想法不見得是錯的,然而,這不應該是「不做面試準備」的藉口。因為無論該公司好或者不好,既然要前往面試,你的唯一目的應該就是「被錄取」,而錄取之後,再來考慮要不要答應還不遲。

而面試前一天的準備,對資深技術人員來說,其實更簡單,並且也很容易讓面試方看得出你的資深價值。舉例來說,準備「要問」的問題,對資深老鳥就非常重要,這些問題的重點不在於獲得「解答」,而是在於讓面試者知道你的資深程度和專業性。

「面試前一天的準備 - 極簡計畫書」


與其說是計畫書,不如說是一個檢核清單,任何人應該可以在一個半小時之內,完成清單上的項目。按此索取極簡計畫書

計畫書的目的是在面試前的晚上,約1.5小時之內,用合理的技術方式,盡可能提高自己既有能力的展現,藉此提高面試成功的可能性。 

使用步驟說明


(1):找到組織背景資料。  [15分鐘]


在組織相關資料區塊中,填入公司組織名稱,代表人,營業額,毛利率等等可以找到的資料。

如果是營利組織,幾乎一定能透過名字或者統編,找到基本資料。非營利組織或者剛起步的新創事業,可能缺乏某些資料,但是可以將難以取得的資料當作「要問的問題」。因為,專業人士,通常會問出真正關鍵性問題。


(2). 要問的問題:   [35分鐘]


要準備問對方的問題。現在的面試,幾乎都會讓被面試者發問,而這段時間難能可貴。因為,這些問題是100%可以由自己控制,也就是說自己可以決定要問什麼,也可以決定不問。因此,面試前一天,反而應該花多一點點時間在準備「要問的問題」。

要問的問題的「真正目的」是要讓面試者認定你的能力和潛力,而不是你真的想要知道問題的答案。因此,最最最愚蠢的問題,莫過於詢問公司福利,社團活動,上下班時間,哪邊可以蒸便當,之類的無聊問題,這些問題,應該是透過人資或上網搜尋取得答案,而非浪費在寶貴面試時間上。

要問的問題至少要準備7-10題,而可以視面試情況決定要不要問。

基本問題像是:
  • 如果我被錄取了,我在到職前3個月,要完成哪些具體工作內容?
  • 目前這個職位,是因為有人離職而要找取代者,還是一個新職缺?此職位已經懸缺多久?
  • 請問您如何評估一個人適不適合這個職位 
  • 面試到目前為止,你覺得我是否適合此職位

至少必需要準備2-3個進階的技術性問題,技術問題並非指「特定的技術」,而是指「讓你側面了解更多」的問題。例如:

  • 請問您會在這裡工作最主要的原因是什麼?
  • 目前這個團隊,曾經遇到最大的障礙或困難是什麼?
  • 請問您擔任這個團隊的主管已經多久了?

當然,進階技術問題通常比較敏感,在開口之前應該要客客氣氣的說「如果不方便講也沒關係」。

請在表格中,挑選要問的問題,並且在備用欄位,填入你自己想到的問題。





(3). 被問的問題:   [30分鐘]


面試者在面試的時候,手上一定會有你的履歷表。無論你之前對你的履歷表有多熟悉,在前一天晚上,應該再次看一下當初你寄出去給該公司HR的履歷表。

因為,要從中找到「以面試者的角度,認為需要在確認」的問題。並針對這些可能被問的問題,簡單準備一下解答。

技術專業性的問題,對於職場新鮮人,需要再次確認「真實性」,以免被人認為誇大能力。因為,職場新鮮人通常的確會「誇大」自己已經有的能力,例如其實只是在學校學過c語言,寫過幾個作業,通常就會把c語言當做「自己會的程式語言」,但是這和職場上的「會」可能有些差距。

而對於職場老鳥,只需要注意一下「曾經做過的事情」和「曾經有的貢獻」即可。

例如參與的研發團隊人數,自己扮演的角色等等。履歷表上的明顯缺陷,才是一定會被詢問的地方,例如某個工作僅做了6個月,或者在前一份工作到今天有3個月個空閒時間。

請根據表格,檢視履歷表,並且填入自己的模擬問題和可能的回答。


(4). 面試的時間地點交通方式與服裝。  [5分鐘]

聽起來很不可思議,不過確實有一定比例的人會過於緊張,太早或者太晚抵達。
也甚至有人壓根就忘記面試時間或地點。

前一天晚上應該確認一下面試時間或地點。

某些職位(業務單位等)可能對服裝有一定的考量,當然也得花一點點時間準備。


(5). 面試之後?


無論面試的好與壞,其結果一定要誠實的記錄在計畫書中,因為它可以作為自己下一次面試的參考。

結果只有分成兩種:錄取或者不錄取 - 無論原因為何。有些組織會考慮資深人員的面子問題,可能會用「目前組織人事凍結」等等軟性理由,不過對面試者來說,就只有錄取和不錄取兩種結果。

難以回答的問題:在這欄中,盡可能就自己的記憶,記下自己覺得難以回答的問題。如果是技術性問題,表示自己有技術需要加強。如果是其他問題,也應該記錄起來作為參考。

這個計劃書,應該自行根據面試的公司不同,做不同的調整。極簡計劃書僅是在你沒有更好的主意時,提供參考而已。


按此索取極簡計畫書


註一:英文能力確實是許多工作的加分條件,但前一天晚上,臨時抱佛腳準備英文自我介紹,對英文本來就不好的人其實一點用都沒有,而對本來英文能力就已經很好的人,也幫助不大。




8/19/2017

如何成為Scrum專家 - 極簡計畫書



Scrum是推進團隊進度,合作專案的敏捷方法論之一。在過去幾年來從資訊產業,金融業,甚至學校教育,都有不少人在倡導這個簡單而且踏實的方式。因為Scrum有很多優勢,例如減低壓力,具有務實的彈性,容易評估現況,易於控制品質。這些優勢,可以用在大部分的企業環境中。因此,成為Scrum專家對職業生涯很有幫助。

學習Scrum並不困難,在各企業巫醫的網路資料中,早就擁有看不完的資料。請參考這篇

對職業生涯有幫助的不僅是「學會什麼是Scrum」,更重要是成為Scrum專家。或者,至少成為在他人眼中的Scrum專家。專家的定義,請參考註1。

或許你在職場有2-4年的工作經驗,作為一個團隊成員,在專案領導人的帶領下,參與以Scrum為基礎的專案。然而,這不會讓你變成Scrum的專家,因為你只是「照著做」而已。

在此提供一個極簡計畫,可以在很短的時間內讓自己變成Scrum專家。

如果懶得看說明的長篇大論,可直接到這個網頁下載計畫書


開始之前的條件


這份一頁極簡計畫書有使用上的條件:

(a) 必須要有還不錯的英文閱讀能力,TOEIC750以上。如果你的英文能力自認不夠,請參考這裡

(b) 必須要有2-3年以上的實務工作經驗。而且在工作環境中,至少聽過Agile/Scrum。

(c) 必須打從心裡認為有效使用Scrum是有好處的。換言之,不能是因為「有人叫我要學Scrum」而學Scrum。因為,此極簡計畫書本身執行的方式也是Scrum!


如何成為Scrum專家極簡計畫書的使用步驟如下:

(1) 確認目標的實質意義


此極簡計畫是要在2個月內,讓執行計畫的你變成「Scrum專家」。而何謂Scrum專家的實質意義就是在此極簡計畫中三個sprint的「實質產出」。

Sprint-1 知識:讀完2本Scrum書籍,以及2份網路資料

Sprint-2 證照:取得Scrum證照

Sprint-3 研討會:舉辦公司組織內Scrum研討會或分享會

這三個實質產出的組合意義,目的就會讓你成為Scrum專家。即便不是Scrum大師,至少也是被大部分人承認的專業人士。

這三個Sprint各有已經設定好的任務(Task),所有任務完成後,就表示該Sprint完成了。而每個任務本身的描述都是有簡單清晰的「完成條件」definition of done。



(2) 分配每個Sprint的時間


計畫書中,每個Sprint各有數個任務,每個任務都有估計的時間。時間是以小時為單位。加總起來,會有要完成Sprint所需要的總時數。

一般軟體專案Scrum估計都可能會有錯,在Sprint過程中,要能實際反映團隊實際的「速率」,因此前1-3個Sprint的燃盡圖很重要,可以讓團隊知道實際的效率。所以每個Sprint都是固定時間,大約4-6週,sprint時間到就結束了,只會看做完哪些Story,在下一個Sprint才調整要完成的story數量。

然而,個人Scrum做法會略有不同。整體概念仍然一樣,但因為Product Owner也是「你自己」,因此Sprint時間可以變動。換言之,可能第一個Sprint是4週,第二個Sprint是5週。

請在極簡計畫書中,每個Sprint任務表格上方,填寫預計的Sprint開始的日期,和結束的日期。Scrum是要反應實際狀況,因此,也許整個sprint需要5小時,但因為你有本來的工作要做,因此可能要花2個月才能有5小時的空閒。

(3) 每日工作


當有超過30分鐘空閒的時候,就可以把那張極簡計畫書拿出來,在這個Sprint選一個任務(Task)開始「執行」,或者,繼續上次未完成的任務。這些Task都是大約設計成30-40分鐘完成,但是根據Scrum的精神,每個人的績效不同,因此也有可能會花的時間多或者少,但無論如何,在還沒完成已經做一半的任務之前,不要換任務!

當然,如果該日沒空,自然就不需要拿出極簡計劃書來執行。

每個任務,都有完成條件,確定滿足完成條件後就可以塗黑空格,並且在右邊簡單的紀錄所花費時間,和大約日期。時間不用太精確,以半小時為單位即可。有些任務很簡單短暫,也許10分鐘就完成,但也以半小時紀錄就好。

如果沒辦法在0.5小時內完成一個任務,那要請自己休息一下,再決定要繼續完成該任務,也可以決定今天就先到此為止。

不能有某任務做到一半,就「先拿了」下一個任務,也不能有這個Sprint還沒完成,就先開始做下個Sprint的某個任務。當然Sprint中的任務,有些是沒有前後關聯,因此Sprint中的任務不需要按順序。只是,一旦開始做,就一定要做完為止。

某些任務需要下載檔案,請參考註2的各個下載網址,可以一次下載完成。

在計畫書中的任務描述都很簡單清楚,但如果真有問題,也歡迎來信詢問




(3) Sprint 結束自我檢討和下個Sprint的開始


完成Sprint中所有任務之後,表示這個Sprint完成。要花15分鐘時間,先自我檢討一下Sprint過程中有哪些阻礙,而自己應該怎麼改善阻礙。

接下來就要開始下一個Sprint。實際上,本來Sprint的開始是需要先討論Story和Task的選擇。然而,極簡計畫書希望你不要花時間在研究這些Task重不重要,而是先努力的花時間搞定它。畢竟這些任務所需要的時間都不多,實務上也對你有莫大的幫助。

不過,或許有些任務你早就已經完成,那就可以看一下完成的條件(DoD),已經達到就可以自動塗黑。


(4) 計畫書完成?專案結束了嗎?


三個Sprint完成之後,這個極簡計畫書就達到它的功能。但就個人專案的角度來說,專案不見得要結束。只是這時候你已經有足夠的能力和經驗,可以決定要不要繼續以Scrum的方式來學習Scrum。

(5) 3個Sprint結束後的彩蛋!


很簡單,當你完成這個極簡計畫書,實質上你自己完成了一個Personal Scrum。

彩蛋要靠自己完成。請在計畫書背面以三個Sprint的各任務所花的時間,「手工」繪製燃盡圖。

這件事的意義在於,你有確切證據證明你能有效運用Scrum在非工作事項上。也證明你有自我學習的能力。它可以用在未來履歷表,面試,或者說服同事Scrum不如想像中困難,只需要一點點毅力去執行。


在此下載計畫書



常見問題:


Q1:這個極簡計畫書,很多地方跟我在工作上用的Scrum都不一樣啊?

Ans:當然不一樣,因為他屬於Personal Scrum。但是它的最基本精神是一樣的。請參考這裡,了解Scrum哪些最基本精神比較重要。

Q2:我不就是自己的Product Owner?為什麼我一定要用這三個產出來達到「變成Scrum專家」。

Ans:你當然可以自我決定產出和任務,也有機會變成Scrum專家。極簡計畫書,是在如果你還沒有好的定義時,可以透過過去人的經驗,減少時間浪費,讓你專注在精進自己。

Q3:為什麼要取得Scrum認證,這樣就會變成專家嗎?

Ans:有些人可能會以「取得相關證照」,作為專家的標準。這的確是個參考標準,但也只是參考而已,因為Scrum並沒有所謂官方證照,所以市面上各種證照到底哪一個比較適合?請參考這篇「Scrum認證!不要再浪費錢了」。在此採用的是Scrum-Institute的低成本證照




註1:即職場上的專門行業,指具備專業化知識技能職業人士。通常,專業技能須符合科學原理,經過長時間的學習訓練,並有經專業認證的考試獲得的合格證書執照,擁有自我約束行為的職業操守(或道德)及可量化的專業標準等。...定義細節請參考這裡


註2:各種需要下載的資料

(a) 任務 1.4 的2個pdf教材
https://www.scrumstudy.com/SBOK/SCRUMstudy-SBOK-Guide-2016.pdf
https://www.scrumguides.org/docs/scrumguide/v1/scrum-guide-us.pdf

(b) 任務1.7的wiki頁
* https://zh.wikipedia.org/wiki/Scrum

(c) 任務2.1的pdf
* http://www.scrum-institute.org/Scrum_Books_International_Scrum_Institute.php

(d) 任務3.1與任務3.3的材料


* http://www.eduscrum.com/


https://www.crisp.se/gratis-material-och-guider/scrum-checklist