2/12/2016

工作筆記的三個重點



這幾年來,市面上有如何做筆記的書。例如記事本圓夢計畫重點就是要這樣記不花錢學筆記(註1)等等。

在 youtube上也有很多類似的教學影片,在youtube上搜尋"how to take notes"可以找到數十個教學範例:例如這裡

大部份的筆記教學,大概都是透過個人經驗,指引筆記的技術。例如,有效使用不同顏色的筆,將一頁分成兩欄,左欄做為索引用途,右欄作為記錄重點用途,等等。

而筆記教學的目的,則和筆記教學的內容有根本上的差距。筆記的「目的」,通常極為崇高,例如實現人生夢想。但筆記教學「內容」,卻是極為底層,例如,試圖說明為什麼紅色的筆,適合書寫哪些東西。

其中的差距,其實只有三個難以實踐的重點。

找到並擷取重點,採取正確形式,定時審閱檢討。


重點一:重點



無論是會議紀錄,執行工作中的紀錄,在學習新技術的筆記,都應該擷取並且記錄重點。

這是無庸置疑,但不見得容易做到。

以軟體開發而言,會議記錄的首要重點在於「結論」,而結論的重點在於「會議後執行的行動」。會議的過程,熱烈討論的經過也可以摘錄重點,但都沒有最後結論來得重要。

以學習筆記而言,如果是要學習既存的軟體程式,以便於接手未來開發工作,學習的紀錄重點在於「為什麼」程式會這麼撰寫,而非程式怎麼被執行。因為「為什麼」的理由可能只有當時的工程師才知道,而怎麼被執行,卻是原始碼的本身就會告訴你的。

以日常工作記錄而言,工作八個小時之後,重點在於紀錄「今天你認為已經完成的最有價值的事」。並記錄為什麼這是有價值的。

重點的節錄,不見得只有「寫下來」這種方式。當特殊email出現(例如變更規格email),可以直接列印出來貼在筆記本上,不但節省記錄時間,還可以完整紀錄email時間和收件人。當技術討論會議結束時,將白板的複雜圖形拍照,直接email,或者列印,或者交由虛擬助理後續處理,都是簡單有效的方式。

庶務(註2)上的重點,也應該當重點擷取紀錄,但要切記不要將紀錄庶務,當作有價值的東西。應該統一記錄在某處即可。

補充一下:

在工作中,重點難以找到的原因很多。例如:每個人認為的重點不一樣;重點有時候會轉移;這事情壓根就完全不重要...等等。

根據自己對團隊組織的存在價值的正確理解,再加上對自己目標的認知,才能記到真正的重點。

以startup為例:三個初創的創業夥伴,各有1/3的公司股份,則必須要對組織未來存在價值有正確共識。假設其中一個人目標是希望能在2年內損益兩平,而另外兩個人則是希望在兩年內能獲得某程度的市場佔有率。這兩個目標就非常不一致,透過工作筆記「重點」的紀錄,很快就可以察覺不同(請參閱第三段審閱)

以在大企業工作為例:一個10人的軟體開發團隊,其目標是在某日之前完成某產品功能。其中有3人是負責品質(QA),另外6人負責開發(RD),還有1位是專案經理(PM)。作為QA的人,其工作記錄重點,就應該會與PM有很大的不同。QA的所有工作相關記錄重點,應該是「到目前為止」的品質狀況。PM則應該是「到目前為止」所有利害關係人的期待是否被滿足。





重點二:形式



工作相關的筆記,正確的形式能獲取效率。

形式的優先順序應該是:

1. 圖
2. 表格
3. 條列式
4. 一段文字
5. 沒有紀錄

換言之,可以畫圖就不應該做表格,可以是表格就不應該條列,可以條列就不要用一段文字描述。可以有機會紀錄,就避免沒有紀錄。

以軟體工程師而言,mindmap (心智圖)可以擴大思慮完整性,並且將事情想得完整。UML的各種圖形標準,則已經涵蓋各種技術的表達的可能性,幾乎不需要其他規格的圖形。

如果是專案管理的角色,則RACI(表格)會很容易表達各種則關係。但是,如果要和利害關係人報告,則不可避免的應該使用投影片(slide)形式,作為表達的形式。

形式似乎很簡單。但是缺乏對形式的正確認知和練習,只會事倍功半。

一些例子:mindmap(心智圖)可以作為決策樹的前身或練習。任何文件(ptt,word)的表格,應該先在excel中實作之後,在插入投影片。任何excel的條列,必須是二維,並且應該先試圖使用pivot做簡單的分析。



重點三:審閱



定時審閱工作筆記,構成對於過去工作價值的概觀。


審閱的方式很簡單。固定時間(例如每兩週,每個月)把過去一段時間的筆記攤開,快速看過一遍。誠實的面對自己,「二次紀錄」需要改善的地方,特別是哪些事情「浪費時間」。然後,每年,固定時間(例如剛過完新年)審閱過去所有的二次紀錄的地方,再次誠實面對自己,審思如何改善。

如果你已經每天固定紀錄「最有價值的完成事項」,每個月應該花10分鐘,審閱過去的筆記。了解這些最有價值的事項,累積起來,確實讓這個月過得有價值。如果沒有,則應該「現在馬上」進行改變,即便只是稍微調整工作的方式,工作的目標,有改變都比沒改變好。

工作的會議紀錄,則要審閱並且演討「會議後執行的行動」。特別是沒有達到的行動。

工作的學習筆記,則要審閱之前有問號(?)的記錄之處,是否已經都了解。在工作中如果有發現之前紀錄沒有發現的問題,則應該額外紀錄遺漏之處。

沒有固定審閱筆記,跟沒有做筆記基本上是差不多的。


沒有審閱並事後查核會議紀錄,等於會議沒有紀錄。

審閱,能達到筆記真正的崇高目的,也就是幫助「未來」而不是僅只記錄過去。





註1:不花錢學筆記,這本書不是免費,還是要花錢買。

註2: 所謂的庶務,指的是某些資訊或者行為,本身也許有價值,也許沒價值,但無論如何,它不是這個團隊存在的重要過程或目的。例如:某個特殊系統的帳號密碼,大企業裡某些申請經費的特殊流程,辦公室阿桑固定掃地時間,福委會團購產品方式,某些高層主管定時會議的地點等等。很多大組織(特別是公務機關)中的老員工,把熟知庶務當作本身的價值。在資訊不發達的時代確實如此,但在今日已流於荒謬。



沈思:

1. 工作筆記的其實和紀錄的工具沒有太大的關係。不過,如果你是在西元2006年之前投入職場的人,在哪邊可以看到10年前你的筆記呢?今年(2016)你的筆記,以哪種形式存在,會留存比較久?


1/19/2016

努力才會成功:三個錯誤方向




有努力不見得有收穫,但沒有努力就沒有收穫。因為努力是通往成功的唯一道路。

然而,對於努力有很多錯誤的認知方向。

以下列舉最常見的三個錯誤方向:


錯誤一:「用力」就等於「努力」

「努力」和「用力」是兩回事。

試圖只用雙手去移動開一整座高山是「用力」;研究各種方式和技術,挖出一條筆直的隧道是「努力」。

在專案遇到困難時,千篇一律的超時工作,無止盡加班是「用力」;探究各種技術的突破,讓專案有進展是「努力」。

在傳統企業推廣資訊科技應用時,苦口婆心的淳淳告誡是「用力」;透過強迫的方式,逼使使用者改變習慣是「用力」;透過各種巧思,讓人願意自己使用新系統是「努力」。



錯誤二:努力一萬小時就會成為天才



小提琴家Auer曾回答學生說:「用手指練琴,可以練一整天,但是如果用頭腦練習只要一個半小時」(參考這篇

「努力」是需要花時間,然而,努力更要花的是思索以及驗證事物的本身是否朝著正確的方向。瘋狂的往錯誤的地方磨練一萬小時,不會讓錯誤變成正確。那努力一萬個小時變成天才,指的是有用頭腦的一萬個小時,而非不經思索的一萬小時。

是,努力所花的時間容易被人看到,而且容易讓人產生「同情」。因而,在企業中長時間加班的人,很容易被表揚;在專案延誤時,帶領團隊不眠不休努力,容易被認為是負責任;讓專案順利完成,讓系統保持為定沒有問題,容易反倒被認為沒事做。如果你是領導者,切記不要過度獎勵沒有功勞也有苦勞的情況。


錯誤三:努力的筆直前進


如果目標與達到目標的方式是錯的,努力就變成可怕的慘狀。許多人常被一個故事所誤解(掉到奶油桶的青蛙)認為只要堅持下去,也許事情會有轉機。然而,故事裡的青蛙其實已經採用正確的方式 - 也就是一直游蛙式。如果青蛙使用更有持續性的方式維持生命 - 也就是水母漂,那麼無論如何不可能攪動成為乳酪。

幾乎任何情況下使用googlemap規劃最短時間的路程,絕大部份都不會是筆直:最短時間的路徑,通常不是最短的路徑。

努力的目標要正確:確定努力的目標是你真正想要的目標。

努力的方式要改進。努力的增加知識與能力,讓進行的方式可以朝向最正確的路徑,而不是看似最筆直的路。

在盈利企業裡面,整體努力目標應該是合法的獲取利益;然而,在企業裡面投入工作的個人,在工作上卻應該是根據自己的工作內容訂立正確的目標,如果是業務當然是獲取訂單,如果是生產部門,也許是極大化產量,也許是平衡品質與成本。但是,下班後,目標應該是自己的目標,例如陪伴家人之類。

一個業務,無論採用什麼方式當他的業績,一年後沒有達到目標,當他要「繼續努力」的時候,一定要採取別的方式。繼續堅持用舊的方式,也需要「努力」了解為什麼舊的方式可以持續使用,而不應該改變。

大部份的專案,目標通常都已經定好,然而執行的方式卻應該根據實際的情況改變。例如:在前期中期發現有重構(refactoring) 的需要,就應該先考慮重構,而不是試圖先達到某個帳面上的milestone。

大部份的辦公室日常活動,其價值都越來越低,努力的方向不是增加手指打字的速度,也不是加班完成任務,而是朝向去除完全不必要的事情,簡化或自動化簡單的事情前進。









沈思:

努力而失敗的例子太多,可以找到在你的工作領域上的例子嗎?


1/05/2016

成長的最好方式 - 反省





曾子曰:「吾日三省吾身:為人謀而不忠乎?與朋友交而不信乎?傳而不習乎?」


反省是進步的最好方式。然而,檢討專案,檢討工作內容,或者檢討自己做對了,或做錯了什麼,卻是需要有結構性的方式來進行。光在腦袋裡想像是很難有具體效果。


普通人大概沒辦法跟曾子一樣每天反省自己,不過,新的一年通常是反思的最好時機。


檢討反省有三個要點:



重點一:目標導向


檢討需要有目標,就算是很隱私的個人檢討也是。反省的目標不同,就會有截然不同的結果。

以帶家人出去玩為例:

如果「全家開心出去玩」是「目標」。則旅途中的延誤,改變行程,物品遺失的檢討目標就應該是如何在意外發生的時候,讓家人仍然很高興的享受意外,享受旅程。

然而,如果心理設定的目標雖然是 :全家開心出去玩,但檢討的目標卻是怎樣更有效率的旅行,那最後很可能導致全家旅行越來越有效率,但大家心情越來越不好。



以專案管理為例:

在專案完成,或者一個sprint的結束,在回顧檢討(retrospective) 會議的做法,通常是讓大家以「實例」,說明哪些事情做得好,哪些事情做得不好。接下來將這些實例分類,並且用投票的方式,選出最最最需要改善的幾點,指派專人在下一階段負責改善。


同樣的,負責人是以最終目標為檢討改善的目的。假設某手機APP的開發,最終目標是「能在耶誕節前有百萬使用者」,則列出最需要改善的幾點,都必須要朝最終目標前進才對。因此:「與客戶協調上架遞延到12/24日以便確保品質」就是一個不很合理的目標。




要點二:用事實去除人類偏誤


正常人都是以自己的主觀來看這個世界,因此每個人都有對事情的偏誤(human bias)。

檢討與改善的重點在於:盡可能認知人類認知偏誤的存在,讓偏誤在不造成致命影響。不過,要完全沒有影響幾乎不可能。

人類偏誤有很多,舉一些例子如下:


歸因謬誤:對於自己的行為,容易歸類為外在因素,對於他人的行為,容易歸類為內在因素。例如,自己遲到,容易認為是塞車,或者昨天太晚睡;別人遲到,容易認為是他的紀律問題。

負面偏見:人對於不好的記憶印象比好的記憶深刻。這可能和演化有很大的關係,人必須要先規避毒蛇猛獸之類的天然風險。


稟賦效應(Endowment Effect):同樣的東西,如果已經在手上,則會難以放棄;但如果不在手上,卻認為比較容易取得。例如,自己的車子想賣,總是會想要賣比較高的價格,並且自己也會對這個高價格找出自認為合理的原因。這也是大部分物價易漲難跌的因素,因為銷售物品的人,如果已經用100元能賣出某物品:即便成本降低,即便知道降低售價可能增加業績,但在心理上很難主動降價。






誠如前述,要去除自己「所有的偏誤」是絕對不可能:沒有人是聖人,永遠不會犯錯。但是,去除不必要的偏誤讓自己朝正確的方向前進,卻是不難達到。去除自己的偏誤最好的方式就是根據事實。

因此,在檢討事情的時候僅就「事實」加以檢討。


例如:

事實是「專案每日會議,5個人有3人一定會遲到30分鐘」,根據事實檢討如何讓這3人不會遲到,不需去研究3人遲到的個別因素。也因此,根據事實,將會議時間往後延30分鐘是合理選項。

但是,如果有人試圖追尋某個老是遲到的人的「個人紀律」,「團隊精神」這並非不是事實,只是這類型的事實,沒辦法客觀認定,也不可能客觀評量某一個人的「個人紀律」比另一個人來的好。因此,這些主觀的「事實」,因太容易有主觀偏誤,不應該作為檢討的項目。


再舉另一個例子:

事實是「目前手機APP是使用者付費9美金才能下載,目前每個月約有1個新使用者」

檢討的目的如果是要增加收益,則在現在的事實基礎上,資訊是遠遠不足。因此,這個事實的討論結果勢必是「沒有足夠的事實」可以檢討。

當然要找到所有的事實也是不可能。所以,在這個例子中,起碼找到「新使用者為什麼會買」,「其他類似APP是否收費」,「其他類似的APP在不收費的情況有多少使用者」等等資訊,以便作為檢討的基礎。




方向三:行動優先


反省檢討的目的,不僅只為了知道「我錯了」,重點在於「如何才不會再錯一次」,或者「怎樣讓事情變得更美好」。

誠如前述,人非聖賢,要變成完美的人是不切實際的期望。然而,改變自己的一小部分想法跟行為,讓自己的未來變得更好,卻是可以腳踏實地的達到。


行動必須要和反省與檢討一致,至少邏輯上一致。行動的本身不見得一定要有所「行動」,有時候不做任何事情也是一個選擇,但如同這裡所描述,要確定「不行動」這個選項是和其他選項一起考慮過。

例如:「目前手機APP每個月有1個新的使用者,想推廣給更多使用者」,經過檢討之後,覺得「利用社群網站」:這裏的行動就是利用社群網站推廣。可能是利用facebook的廣告,也可以利用團隊成員每個人都到facebook上貼文,也可以建立粉絲頁。

無論如何,既然要檢討,就應該有行動。沒有行動的檢討,不具任何意義。






沈思:你大概多久會檢討自己一次?




12/30/2015

大學或研究所玩太久.(三個解決方式)






























有幾次面試新鮮人,發現有些學生自覺得在大學研究所時代"玩得太久",而對於即將投入就業市場有些自覺能力不足。

首先,如果照著學校教育做好該做的事情,就算沒有「玩很多」,老實說能力一樣是不足。想要在還未就業之前,就達到一個好企業的標準是有點難。當然在學時期,有很多事情,對就業有極大的幫助(至少就軟體以及網路產業而言),但是大概都不是台灣學校教授能教的。

這些事情像是:加入open source的開發工作,找暑期工讀,到外包市場接專案等等,都對自己有幫助。

但如果你已經來不及這麼做,就面臨畢業了。那麼除了延畢,隨遇而安看命運安排,拒絕面對事實...之外,其實有三個實質的作法可供參考。

對了,要記得,任何時候都為時不晚 只有覺得太晚的時候才太晚。



三個解決方式:



(1) 解決方法一:快速學習技術能力

想要投入資訊產業,不管擔任什麼角色,擁有技術能力永遠是對的。

找一個喜歡的目標,全面性的學習相關能力。不見得一定要花大錢上課,網路上現有的免費資源一定可以讓你在2-4週之內(最遲不超過4週)學會某種東西到一定程度。不管是Java programming還是HTML5,不管是Big data analysis還是photoshop應用。

如果對於快速學習技術能力有進入障礙,要記得這一定只是進入障礙而已。只要有興趣,願意專注,到目前為止還沒看過學不會的。真正問題在於有沒有專注的付出時間,如果確定資訊科技對你來說是完全沒興趣的,那也好,就此打住,改換跑道為時不晚。


(2) 解決方法二:尋找互蒙其利的機會,藉此重建履歷


很多時候,你需要的只是找到一個可讓你有學習機會的環境,這個環境可以促使你成長。如果不花錢,有什麼機會有這種環境呢?可以去看看upwork.com, guru.com, fiverr.com到上面以賠本的價格接專案來做,就會知道目前市場環境中缺乏什麼。


(3) 解決方法三: 打工與學習


這和解決方法二有什麼不同?打工是泛指先去做你不是很想做的事情,例如contractor。這除了可以讓你舒緩生活費用的問題,增加獨立性,也能獲取一些時間,讓你想一下自己有什麼選擇。

打工與學習,泛指各種範圍。在網路時代,只要知道怎麼找,資訊幾乎很容易取得。例如,如果你是26歲以下的女性,喜歡小孩想要學德文,au pair是一個看似誇張,但是合理的選項,參考這裡




創意沒有極限。不要只接受片面的資訊,即便是這裡也一樣:)




沈思:

1. 經濟學鼻祖書:國富論一開始就是在說明分工的重要。這也是就業市場上,各種職業產生的真正原因。能不能找到自己相對於別人的比較利益優勢?

2. 以長期而論,自己想要什麼很重要。但是短期來說,自己有什麼選擇才是關鍵。

3. 這三個解決方法,看起來都沒什麼創意,但是跟隨波逐流比起來,還有其他方法可選嗎?



12/28/2015

新鮮人如何提昇在組織中的價值:三個方法



請務必先看關於價值的這篇


稍微提醒,價值與績效的不同。

績效著重的是將評量標的量化,所以通常都會有明確的時間點、目標以及數字;而價值則看重在一個連續時間的累積。

比如說餐廳擦桌子 ,績效可能會訂成:在客人離開以後的五分鐘內要把桌子擦好,桌面必須全部擦過,不能有菜屑湯汁;而價值可能是:在客人離開後迅速把桌子擦乾淨,展現本餐廳專業乾淨的形象,並提供下一位客人舒適的用餐體驗。

所以你會發現,這兩個本質上其實是同一件事,只是觀看切入的角度不同;績效跟個人日常工作內容習習相關,而價值則是較與公司的整體特質相關。


(1) 了解組織需要的價值

身為一個新鮮人,通常前輩不會大費周章的跟你解釋組織需要的價值是什麼;而另一個悲傷的現實是:有些前輩自己也搞不懂組織要的價值是什麼?

所以這一部分通常必須要自己有意識的去了解。至於要怎麼能夠了解組織需要的價值?若完全沒有概念,可以參考以下方式

1. 參考資料:有些公司會寫出他們的價值,比如:IBMGoogleMicrosoft,或者公司內部訓練裡會提到,但大部份很可能只是打打高空,只能給一個很粗淺的概念。

2. 角色扮演:想像自己是老闆或是主管,想想要怎麼提升組織整體的價值?比如是處理財務的事務,精準的重要性一定會高於迅速;而若是救火隊或急診室,快速解決問題一定會比完美來得重要。想想客戶為什麼要買公司的產品,它對使用者最大的幫助是什麼?

3. 工作觀察:倘若組織不大,可以從日常工作中觀察下列事項:什麼樣的工作有比較高的優先權?什麼樣的錯事大家會很嚴厲的對待?什麼樣的錯事大家可以一笑置之?想想為什麼?

組織需要的價值是會隨著時間變動的,了解組織需要的價值可以幫助自己更快的進入狀況,甚至做得好的話可以提前走下一步路,而不是每天被績效的項目追著跑。



(2) 發揮長處避開缺點


了解組織所需要的價值,同時你也要了解自己(相關文章)長處與缺點。把自己的長處放在組織要的價值上,就可以達到相輔相成的效果。比如說你是一個很細心有耐心的人,那就可以主動接下財務、編輯、校稿之類的工作;你若擅長收集統整資訊,那麼研究、匯整、之類的工作就比較適合你;若你可以在資訊不夠充足的時候,在短的時間內做出決定,那麼也許可以嘗試第一線的工作。

然而如果反過來,急性子選到財務對帳的工作;要收集完資料整體評估才能下決定的人被要求馬上要下決定,這樣就算工作做完沒出事,工作起來也是很累的。

事先了解自己與工作的屬性,當有適合的工作出現時,主動接下來,還可以塑造出工作積極的加分效果。另外有時身為新鮮人不一定有辦法選擇工作,但知道手上的工作跟自己屬性不合時,就要特別小心,才不會不小心出包。




(3) 專注於產生價值

如上一點所說,你找到一個極能夠發揮自己長處的工作,你也很認真地做好了它,但結果沒有人在意這件事?!

知道組織要的價值所在,才不會走冤枉路。專注在幫組織產生價值的事情上,對組織以及自己才有意義。

回到一開始餐廳擦桌子的例子:假設你是那位服務生,在尖峰時刻忙到都要「搓草」了,眼看有一張桌子前一組客人已經離開過了四分鐘還沒清理,而下一組客人已經站在桌子旁,甚至有人已經等不及入座了,此時你會怎麼做?

1. 直接衝過去在一分鐘內把桌子清理完畢,好符合擦桌子的績效要求。

2. 過去客氣地跟客人道歉,不影響到客人的情況下,儘速把桌子清理完畢以後再請客人入座,可以的話清理的時候還跟客人寒喧兩句。

或是你覺得有更好的作法呢?歡迎跟我們分享





沈思:
了解組織所需要的價值,想辦法提升組織的價值,就等於提升自己在組織中的價值。如此一來,等同讓自己跟組織站在同一陣線上,而不是讓自己在組織中陷入一個你做工、我監督的對立狀態。


12/25/2015

給不寫程式的人:發展手機APP事業的三步驟



有智慧型手機的人,都會使用某些應用程式(APP)。

你一定也有常用的APP,多少也有自己想要的功能。也許你覺得自己有一些創新的APP想法。或許,你覺得現在用的Line總是有些地方很不滿,你覺得只要照你的想法去做,一定會讓使用者更滿意。

但是,也許你完全不會寫程式,或者雖然是資訊科技背景,但是對於手機應用開發缺乏經驗,也或許只是沒時間學... 最後自己總是覺得無法實現想法很可惜。

其實APP和一般的電腦應用程式不同,不會寫程式的人,其實也可以創造自己的APP,加入這個競爭激烈,但卻很有利可圖的市場。

如果規劃得當,是一個能以極少量成本,兼職創業的好方式。更重要的是,如果規劃得當,這是個極低成本的lean start-up,可以讓你多方嘗試可能性,但不用負擔失敗的風險。

不會寫程式,或者沒時間,但仍能發展自己的APP的成功案例是很常見的事情。例如airbnb,uber等。

事實上,有許多創業家一開始就選擇踏入手機市場,就是因為APP是能在極端有限的資源下,實現自己的創新想法的最容易的選項之一。

主要原因可能是:


在技術上:兩大主要智慧型手機陣營:iOS和Android都盡可能APP的開發方式標準化,簡潔化。目的是在於吸引更多開發群眾。而市面上也有太多工具,可以在某種程度上產生APP,例如appopus.com 或 appsgeyser.com 都可以把文件轉變成APP。技術上來說,等同於擁有一個可以個別銷售的電子書APP(註1)。換言之,APP的製作有越來越簡單的傾向。

在環境上:智慧型手機的市場遠比傳統電腦來得大,而進入市場的門檻極端的低。根據實際的經驗:以電子書而言,撇除掉撰寫的成本,僅就上架與行銷可能只要200美金。如果是具有傳遞訊息(類似Line)加上社群功能(類似facebook登入等等),大概只要準備700-1000美金。如果是多媒體播放(類似youtube)則僅需要800-1200美金。而以上的參考數字,都涵蓋完整的完成具有完整前後端功能的APP,上架以及基本行銷。換言之,市場環境,大幅傾向低成本門檻。



在實際經驗中,任何人只要能學習以下三步驟,一定可以開發APP並藉此開創事業。(註2)

三步驟:想法具體化,找到正確的人完成APP,進入市場。



步驟一:將想法具體化

將想法具體化:是指把自己對APP的想法盡量用文字以及圖形表達出來,並且對於APP決定好基本的定義。

表達APP的方式有很多。首先要簡單地寫下自己的想法:例如一個可以互相傳遞即時訊息的APP(類似Line)但如果對方沒即時看到,就改用傳統手機訊息傳出。

接下來,使用網路上免費的畫圖工具,例如invisionapp.com 或者 fluidui.com,將自己的心理的想法具體化。


簡單的通訊APP(類似Line)的設計,練習個幾次,任何人都可以做簡單的設計。


想法具體化不是只有手機流程設計。最起碼還包含兩件事情的具體化:誰是使用者,以及:定義成功。


誰是使用者?

在你的心目中,用有哪些屬性的人會使用這個APP:就是所謂的市場區隔。雖然他可能會改變,但在這個階段,你需要自己具體化一個清楚的使用者描述。例如:「在台灣,25-35歲,單身男性,就業中,未與父母同住,使用Android手機」。

如果你的目標客群很大,例如:「在台灣,使用Android手機」。也並非不可,但是在之後進入市場時,可能不容易看到基本行銷的效果,或者需要極大的努力才能看到行銷的效果。目標客群越清晰,越容易看到行銷的效果。


如何定義成功?

在你的心目中,當APP完成放到市場上,經過3個月,達到哪些事情才算成功?自我具體定義成功,是發展APP的重要基礎。

成功可能是獲利。例如,假設APP是要收費,或者間接收費(例如廣告),上架經過3個月,實際營收達總額達到1000美金就算成功。

但所謂成功,更有可能不是設定為獲利。例如,APP是免費,而且也沒有廣告,但上架經過3個月,希望實際使用者達到1000人。因為很多APP一開始是希望有大量使用人數,等到夠多人使用時,再考慮獲利模式就變得很簡單。(例如Line是免費使用,一開始是沒有廣告)

有創意的定義成功,能夠讓不寫程式的人,更容易看到手機APP的事業的可能性。例如:APP是免費,也沒有廣告,但上架經過3個月,希望所有已經安裝的使用者,解除安裝的比率低於15%,而且每天使用這個APP的比率要超過65%。換言之並不在乎多少人使用,只在乎這些使用者是真心的黏著在這個APP上。


步驟二:找到正確的人完成APP


好像很明顯,你需要找人幫你寫程式。

但是,其實你真正需要的是:找人幫你完整完成開發APP這件事情。

完整開發APP指的是:

(0) 將想法具體化   <- 這一點在步驟一中,一定已經完成。
(1) 先把APP的流程決定好
(2) 根據流程畫出APP的樣子
(3) 加上自己認定的顏色,圖樣,Logo
(4) 根據設計,撰寫程式
(5) 測試程式,確保品質大致沒問題
(6) 將APP上架:放到googleplay或者applestore
(7) 利用各種行銷方式,讓使用者下載,安裝,使用APP。
(8) 每一段時間收集相關資訊,了解此APP是否成功。


(1)-(3) 就是APP的設計,完成APP設計之後產生出APP的mock-up。這件事情可能在步驟一中自己做,也可以找人來做。

一般人都直覺地認為,「找人去做」表示執行(4) (5) 這兩件事情。但其實你真正需要的是(1)-(8)都需要有人執行。

找到正確的人的方式有很多,首先,先確定自己(1)到(8)能做哪些事情。然後,剩下的事情都要「委外開發」。

委外開發的最直覺方法,就是到外包網站上招標。例如:upwork.com ,guru.com, freelancer.com。外包的價格差異很大,而且軟體產生的品質和價格沒有直接關係。關於如何招標尋找正確的廠商,請參考這裡

基本的參考數字:一個類似line的訊息傳遞APP,開發需要120-200美金之間,如果要涵蓋基本的UI/UX設計,另外需要50美金,如果要含品質測試以及上架,另外還需要30美金。也就是整體大約200-300美金可以完成一個還不錯的APP。(這個數字不適用於遊戲APP)

委外開發的其他常見有:找有技術能力的志同道合的好朋友;找學校的相關科系學生專案,等等。不過,這些常見方式,都需要一段時間的磨合,以及一段更長的時間的互相體諒與了解。




步驟三:進入市場



進入市場包含「上架」,「基本行銷」。想要長期留在市場,還得進行「維護」以及「未來計劃」。


上架:

完成APP之後,當然就是要進入市場。進入市場第一步就是將APP上架。如果是Android,自然就前往googleplay,如果是iOS,就去applestore。

「上架」需要一些步驟,對於非資訊科技背景的人來說,可能稍微困難,因此,在步驟二:找到正確的人完成APP的階段,必須要把上架當作工作的一部分。

Googleplay上架請詳閱這裡。Applestore上架請詳閱這裡。強烈建議不要看市面上的書籍,或者參考某些部落格的文章來當作上架教學。因為,這些書籍文章可能都是「過期的資訊」。使用官方文件,作為上架的使用指引,才不會浪費自己的時間。



基本行銷:


不過,上架只是讓市場有機會看到你的APP。這個世界上有近千萬個APP存在,要讓使用者能真的下載使用某APP並不容易。因此所謂進入市場,必須考慮基本行銷。

行銷可以很簡單,也可很複雜。最基本的情況是:你需要盡可能讓很多人知道有這個APP,下載這個APP來使用,如果APP需要付錢才能使用,則還得包含說服使用者鼓起勇氣付錢。

最最最基本行銷的過程是:找到目標客群,針對客群送出訊息,等候以及檢視結果。


找到目標客群:


定義目標客群應該是在第一階段完成的事情。這階段的目的是找到目標客群的「資訊傳遞」方式。最簡單的方式,是透過小型行銷公司,直接把你要找的目標客群的email找出來。只要你的定義夠清楚簡單,可以在前述的外包網站,找到小型行銷公司,以30美金的價格,取得大約500個大約目標客群的email。或者,也可以用15美金的價格,送出1000個目標客群的潛在facebook貼文。如果願意在行銷投入更多的資金,可以用200美金,購買一個月的google ad,讓自己的APP廣告出現在某些google adsense能抵達的範圍。


針對客群送出訊息:

取得email之後,可以利用現有的email行銷軟體。常見的像是mailchimp.com,klaviyo.com或者zoho.com,送出廣告信。信中當然就是這個APP的介紹與連結,還有一些說服別人使用這個APP的方式(例如抽獎活動之類)

email 行銷是很老套,但也由於是老套,所以很容易看到效果:例如多少人有打開email,多少打開email的人真的有下載APP。

如果是facebook行銷,可以花15美金,送出1000個目標客群的潛在facebook自動貼文。也可以花60美金,雇用虛擬助理,以人工的方式,逐一在潛在的facebook粉絲頁或個人頁,貼上獨一無二的訊息。關於虛擬助理,請參考這一系列文章

如果是google adsense行銷,或其他網路廣告方式,預期每個月,可能會花上200美金。

但無論如何,手機APP事業的基本行銷費用,其實並不高。盡量利用前述的免費或者簡單的方式。不會超過200美金就可以達到某個程度的效果。

檢查結果:

等候一段時間,檢查看看APP的成功定義是否有被滿足。

如果你的成功定義已經被滿足。那麼恭喜你:你的APP是千萬中選一的好APP。你的APP事業發展在未來可能輕而易舉。只有極少部份的情況,是可以在一開始就這麼順利。
如果你的成功定義,沒有被滿足。那麼還是得恭喜你:你知道過去的做法一定某處可以被改善。根據手上有的資料,回溯之前的過程,找到可以改善的點,加以修改,然後重新觀察。一半左右的APP是落在這個情況。重點在於,如何根據現有資料修正APP或者修正基本行銷方式。


如果你的成功定義,不但沒有被滿足,而且實在差距太遠。那麼還是得恭喜你:因為你只花自己一些思考時間,以及500美金左右的成本,就證明某個想法在目前不可行。目前你的損失很小,可以再多嘗試其他主意。更重要的是,簡單而低成本的經歷失敗的「失敗經歷」極為難得可貴,是創業成功的不二法門。請參考確保創業成功一文。




參考: 

發展自己的APP事業,看似複雜,其實就是這麼簡單的三步驟。當你了解這些步驟,甚至可以把整件簡單事情,交由專門協助產生POC(Proof of concept)的企業來處理。

而你自己,只要專注在於「出個好主意」就好。




註1:如果你寫了一本電子書,可以在亞馬遜銷售,也可以在其他APP管道銷售。那為什麼需要自己獨立產生單一電子書APP?有很多可能:例如你想單獨獲利,不想讓各類銷售管道分享微薄的利潤;或者這是免費電子書,你想要免費分送,因為裡面可能有置入性行銷的訊息等等。

註2:開創APP事業如同本文所說很簡單,但要確保事業能成功極端困難,請參考這篇




12/22/2015

解決專案困境的三步驟(軟體主管的31堂課)





一個完美被執行的專案幾乎不存在,特別是越是有潛在價值的專案,通常會伴隨一定的風險,因此很難不遇到問題與困難。

有經驗的專案管理者,可以在問題發生之前先行規劃解決,這和專案一開始的結構設定有很大的關係。然而就像扁鵲的父兄的故事一樣,能在問題出現之前防範未然者,讓專案順利執行,這樣的人在台灣的環境,似乎難以被定義其價值,即便有也難以被發現。

總之,有價值的專案,無論如何,難題總是會在某時候出現。

在接案公司中,最常出現的可能是時程,需求過度擴張,等等常見問題。例如:協助政府建立某APP用以查詢政府


透過以下三個務實的步驟,協助解決問題

在這裡假設問題已經發生,必且這個問題不在專案進行的時候的風險規劃之內。

這些步驟乍看之下,可能會讓人覺得簡單到需要特別說明嗎?不過,實務上遇到專案困難時,由於時間的壓力以及人類固有的習慣,能保持平靜看待困難是不太容易的。因此,透過簡單的步驟。

某些人常會對於既定的步驟有些許誤解,認為規劃好的步驟可能會失去彈性,減低創造力。但如果掌握真正的精神,結果會正好相反。



(1) 第一:了解事實



大概不少人會認為這是一句廢話。不過,在遇到真正困難的時候,困難的本身通常會隱藏事實。


舉例來說,看似最常遇到的困難就是資源缺乏。以軟體專案來說,就是沒足夠的人力,或足夠的時間來做事情。

但是,絕大部份的人力不足,其根本原因都不是人力不足。

根本的因素可能是:現有的人沒有執行這方面專案的經驗;負責的專案經理能力不足,無法有效協調人力;現有的人員無心執行任務;規格不明確,而導致執行方向不正確,因而使專案到中後期看似沒有足夠的人力或時間完成...等等,諸如此類,才是真正的事實。

人力不足,沒有時間,只是表象。

專案負責人(可能是專案經理),必須要先找出事實。

一個很簡單的原則:如果有表象是「沒有人手」,「沒有時間」,「規劃的進度常常延誤」,專案負責人幾乎99%可以斷定背後必有其他原因。


了解並且面對事實是務實的第一步驟。缺乏這個步驟,任何其他的解決方法都沒有意義。





(2) 第二:模擬不同的解決方案



通常界定真正的事實之後,解決方式大概就隨即而出。然而,既然是困難的問題,就應該想出一個以上的解決方案,然後模擬可能的後果。

這裡強調提出不同的解決方案,因為既然是困難的問題,表示一定在有限的時間以及資源之內,無法簡單的解決。換言之,任何可能的解決方案都可以會犧牲某些東西。因此「模擬」就有必要性。

最簡單的模擬是拿一枝鉛筆一張紙,描述接下來會做的解決方案跟可能結果的流程圖。

舉一個最常遇到的例子:時間不夠,而時間不夠的主要因素已經界定為專案進行過程,常常有需求的改變,但是專案期限卻沒有改變。

假設,可採用方法有以下幾種:

Plan-A:開始軟性或者硬性延長工作時間。

Plan-B:與專案業主坦承需求改變已經造成專案延誤,用Scrum的方式讓專案繼續推進到期限,但在此之間,專案完成的定義也會被改變。

Plan-C:與專案業主談判,取得延期或者需求限制。

Plan-D:...(還有其他很多)

這些解決方式也許彼此是有相關的,例如B與C,其實都需要和專案擁有者(就是出資的人)協商。


模擬Plan-A:

拿出紙筆,寫下所有已知的資訊或事實:

* 目前為止團隊每週的產出
* 目前為止需求的改變數量,和造成的延誤時間,假設延誤10天
* 規劃需要加班時間總數:假設延誤10工作天,目前到期限仍有4週,等於是每週需要額外20小時工作
* 加班之後可能能夠多做的哪些功能
* 加班的總長度,這個例子是連續4週
* 過去加班的耗損率:每週超過10小時的額外工作時間,會讓人請病假的機率
* 長時間加班之後人才的保留率:每週超過10小時的額外工時
* 加班的這段時間,還是會有需求改變。
* ...等等...

將這些已知資訊,不過心裡知道與否,還是盡可能寫在一張紙上,在腦中想像這些資訊「拼湊」起來之後,對於目前專案,有沒有可能使用這個方法解決,而這個方式,其副作用是不是過大。


模擬Plan-C:


拿出紙筆,寫下所有已知的資訊或事實:
目前為止團隊每週的產出
* 目前為止需求的改變數量,和造成的延誤時間,假設延誤10天
* 專案業主對專案的瞭解程度
* 專案期限往後延,對於業主的損失
* 專案業主的協調能力
* ...等等...

將這些已知資訊,不過心裡知道與否,還是盡可能寫在一張紙上,在腦中想像這些資訊「拼湊」起來之後,模擬與業主溝通時的可能對話,以及可能產生的結果。


選擇:

將模擬的過程,用心智圖(Mindmap)或其他圖形化方式,寫在同一張紙上。這麼做是為了盡可能排除個人主觀意見,將自己的思緒,用鳥瞰的方式呈現給自己。

模擬數個方案之後,最重要的是選擇一個自己認為相對最佳的方案。


(3) 第三:執行解決方案


如果前兩個步驟,已經竭盡所能。那麼,第三個步驟就變得很簡單:根據第二的步驟模擬之後的決定,執行解決方案。

然而,既然是困境,就不應該預期解決方案一切順利。如何克服困難去執行,就看專案經理的智慧與能力。

執行解決方式同樣有很多需要注意的地方。不過內容絕大部份取決於每個不同專案的特定現況,因此不會有放諸四海通用的銀色子彈。

但是,由於專案困境常有相似性,因此尋求有經驗的朋友或顧問的建議,倒是一個永遠不會吃虧的選項。






沈思:為什麼有價值的專案總是會遇到困難?
參考->解決軟體專案困境的最爛方式


12/15/2015

資訊科技學生畢業後只想當SA/PM (三個創意作法)



很多畢業生,資訊相關系所,擺明就不想要寫程式,但是卻又想要加入資訊科技產業。老實說如果是做行銷(Marketing) ,業務(Sales),或者支援類型工作(admin, finance)倒是也無不可。

只是很多資訊科技學生,似乎想要當SA(系統分析師)或者PM(專案經理),也許只是覺得名字好聽,或者認為:既然是資管學生應該做點管理工作也不為過。

這種想法其實很危險,也不可靠。

系統分析師(SA, System Analyst)扮演的角色在各公司都很不同,有些很像是業務助理,有些是專案經理的小跟班,有些是扮演IT對外採購的角色,不一而足,單看是去哪個公司。

而專案經理(PM, Project Manager)情況可能稍微好一點,顧名思義就是:負責某一個或者一些專案的進行。20年前PMP證照流行的時候,專案管理本身被視為一門複雜的學問,當然在軟體或者新創網路科技產業,PMP那套不太可行,Agile/Scrum/XP 等等方法論興起,讓PM多少都不太可能單純只做管理。

不管如何,缺乏實務經驗(指的是起碼3-4年努力寫程式的經驗)就去做SA/PM等同於是碰運氣,就算花大錢去取得PMP證照以及其他相關證照,也沒什麼用。這就像是從來沒打過籃球的人,想要當NBA籃球教練一樣幾乎不可能。

雖然很不贊成這樣的事情,但與其碰運氣,不如提供實務作法






(1) 創意一:讓自己真實變成SA/PM (要花一點錢)。


在學校的專案課程中,讓自己變成PM然後讓某同學變成主Co*(註一) 是絕對沒有用的。任何有經驗的主管,一定看得出來你只是負責動動嘴巴,補補文件。

你可能需要付出一些代價,例如100美金,然後想一個app的好主意,到outsourcing網站,像是upwork.com,雇用一些印度,巴基斯坦工程師,實際上幫你寫程式,這時候你100%是PM,你控制了整個專案的進行,負責製作需求與控制工程師進度。更好的是,這還是個跨國專案。

不過,實際上這樣做出來的東西,失敗率很高,特別是假如這次你第一次當PM - 這裏的PM同時兼具Project和Product。因此,對此創意方式要有正確的期待,也就是說事情的成敗並不是重點,而是在此過程經歷了什麼。這非常接近NBA例行賽開打之前的練習賽,練習賽獲勝固然可喜,但比勝利更重要的是團隊的磨合以及戰術的演練執行。

註一: 主co = 負責主要coding。這個名詞是最近幾年面試學到的,意思差不多就是這個專案課程,程式都是我寫,事情都是我做,其他人出嘴巴。




(2) 創意二:組織同學來做專案


等一下,前一段不是說在學校專案當PM然後某同學來主co是絕對沒用的嗎?為何這裡又說要組織同學來做某專案?

不一樣是,組織同學來進行非課堂的任務,遠比修課需要的專案來得困難,但是更實際。

第一種可能是,到市場上接專案本身到不是問題,因為一開始取得專案的目的,並不是獲得高額利潤,因此價格競爭是有可能的,畢竟你的目的是要取得成為SA/PM的事實,並不是真的要從專案獲利。

然而,業主可能也知道,這種情況下的專案可能不見得做的很好,因此價格競爭有時候也沒太大用處。

第二種可能是,自己找事情來進行。十幾年前BBS風起雲湧的時候,大部份架設BBS的人,都並非學校課程,也不是因為賺錢獲利,只是覺得好玩有趣。架設BBS讓當時的學生取得寶貴的UNIX(FreeBSD等)的營運經驗。如果想當PM,也可以自己找事情,組織同學來進行。不過通常這種情況需要是以技術強度來領導,因此遠比接專案困難。


(3) 創意三:尋求業界導師


由於linkedin和其他社交工具的發展,很容易可以找到業界資深的學長學姊。只要是在他們時間允許的範圍,很容易可以請求協助。當然,每個人的時間有限,所以最好的方式是,互相幫忙,互蒙其利。當你在與不太熟悉的人聯繫上之後,可以用交換的方式,讓他們指導你,並且為你的成就背書。

舉例來說:你可以作為業界導師的私人虛擬助理*(註二)一段時間,幫他處理非機密的相關業務,例如,調查研究競爭對手產品,處理文件,處理linkedin或者其他socail media的日常文章,業務聯繫等等。而作為交換的是:他可以指導你實務專案上"他實際上做了什麼"。數個月後,你甚至還可以取得業界導師的背書以及推薦。

另一個做法是尋求成為學徒的機會。學徒制度是一個非常古老的學習方式,在某些情況下,學徒制度非常有用。如果你是一個剛進學校的研究生,尋找指導老師是最重要的一件事。而如果你是一個畢了業就想要當SA/PM的人,找到正確的業界導師,會讓你事半功倍。

我們會在未來的文章探索學徒制與軟體專案發展的關係。





* (註二):關於虛擬助理,請查Virtual Assistant



沈思 

如果本文對你沒幫助,還請與我們聯繫取得免費協助

1.  再次強調,在沒有技術背景的情況下,最好是別真的想做SA/PM

2.  如果真的想做,那麼務必考慮這三種方式。

3.  當你想要什麼,執行的方式如果是「碰運氣」或者「期望別人給」永遠都是最糟糕的選項,想要什麼最好是先構思自己要怎麼取得。





12/14/2015

資訊系所學生就業 (三件值得注意的小事)


除了少部分往學術界持續邁進的人之外,畢業生遲早要就業。

但就過去數年面試新鮮人的情況來說,大部分的學生並沒有對就業有所準備。這似乎是理所當然,本來就不可能有充分準備,不然就不叫新鮮人。

而業界常常把問題放在學校並沒有充分"教育"學生該有的知識與技能,使得學界與軟體業界脫節。

這似乎也不是台灣單獨的問題,早在數年前有人在美國抱怨此事。而且類似的抱怨一直都沒停過,例如這裡。新鮮人面臨的困難,很多也都是像這些文章中一樣,是認知上的問題,例如:絕大部份的人,可能一開始只是會被要求做個小螺絲釘的工作。這和他幻想中,技術高超的程式設計師經過不眠不休的努力,就可以達成驚人的成就,然後改變這個世界有很大的不同。這裡有相關的認知現實描述。

因此一開始得先適應周圍環境,而大部份的學生畢業的時候(不管是哪個學校畢業)都須要先認知自己知識(或者常識)不足以適應環境。越有這種認知,適應的可能越快。

所以,以下是快要畢業,打算就業前,或者選擇公司的時候,建議學生先做好準備。

(1) 暫時不要看BBS,新聞,facebook一段時間。


PTT大概是台灣獨有的特殊環境,它很有趣,有時候資訊很快速。可是很遺憾的是隨著資訊量越來越多,他的正確性越來越差。如果你不是極端理性,意志堅定,很容易受到不良資訊的影響。如果可以的話,至少為期一個月。至於台製新聞跟facebook就更不用說了。


(2) 確實知道自己在搜尋什麼(當你打算google一下?)。


剛加入的新鮮人,特別是畢業於2008年之後的,在遇到困難的時候,一定習慣google。而google也很少讓人失望,通常都能找到某種答案。

但要注意的是,答案也許正確,但是資訊過於片面。日子一久,就很難獲得全面的視野。例如,查詢"android AsyncTask",如果你想要看中文資料,前幾個結果都會是某些人的blog,當然不是說這些人寫的一定不對,而是blog(特別是中文)常常是片面資訊,就算他好心貼上正確參考資料,可能也不會有人耐心查詢。對於中文閱讀者來說,最好是google之後自己找看看哪一個才是官方正確資訊。歹事,目前沒有中文的官方資料,api最好的參考是-> http://developer.android.com/intl/zh-tw/reference/android/os/AsyncTask.html

(3) 謹慎選擇工作 但更要謹慎選擇主管。


在台灣能夠選擇的工作實在太多,台灣優良的企業也很多。第一份工作,當你有難以決定的情況時,請謹慎擇一個好主管。

面試的時候,不只是面試者選擇你,而且你也必須要選擇面試者。當然如果面試你的人,不是你的主管,那這個公司等於是跟公家機關沒啥兩樣,不如乾脆去考公務員。


如何在面試的時候知道是不是好主管?

一個好主管能夠清楚地知道自己負責組織的真實情況,而夠培育員工,能夠掌握現實,並且能夠處理困難
。因此由詢問以下問題來判斷這個主管是不是個好主管:

  (a) 請主管描述自己未來1-3個月工作內容。


     如果講的比較含糊,可以單刀直入的問清楚。如果發現永遠都問不清楚,很有可能你進來這個公司的時候,發現這個主管無法控制組織前進的方向,做的工作和面試談的完全不同。要注意的是,工作的確一定要有彈性,以及隨時應變市場變化,但是市場的變化,不會讓一個新鮮人無法確定未來1-3個月的工作。而如果要靠一個到職不滿新鮮人來"負責"各類型的變化,那這個公司風險也太大了。

  (b) 請主管說明,上一次有新鮮人進來的時候,他是如何培育新人。

     同樣也是要清楚了解,是單純指派資深員工指導,還是有培育時程規劃,如果有規劃,可否讓你看一下,參考一下。當然也有可能上一次有新鮮人來的時候是10年前的往事,那就要考慮這個組織的老化性。

  (c) 請主管說明,當你來加入團隊的時候,他最有可能擔心哪件事情你做不好。


     這是要清楚了解,主管經過面試,對你有沒有清楚的認知,如果認知差距過大,那可能大有問題。舉例來說,如果你非常精熟java,但是並不熟悉Linux上的開發環境,在一個完全Linux的開發環境的團隊裡,如果主管認為你學習linux一定沒有困難,可以三天搞定,要不就是他不認清現實,要不就是你在面試中已經證明自己是天才。




沉思:


* 網路上的資訊很多,事實上無用的瑣碎的資訊,遠比切實的資訊來的多太多!短時間切斷資訊聯繫,對整理思緒有幫助嗎?






12/12/2015

工作太忙沒時間?改善的務實三步驟


圖片來源為Hakan Forss的部落格,要引用此圖需要連同其網址一起引用:http://hakanforss.wordpress.com


在資本主義社會下,有效率的工作是基本條件,但是在資訊科技的發展中,有效率的工作逐漸顯示人的本身才是無效率的源頭。這並不代表資訊科技的進步與有效性,這只是代表人扮演的不可取代價值。

人的價值在工作上會順帶產生工作的壓力,因為所有的企業都會要求成長,不只是企業的成長,還有個人的成長。

不過,無論如何,在你還沒有丟出辭呈,自己開創事業之前,最好的選擇永遠都是強化自己的能力,改善現況,為組織產生更多價值。

對於很忙碌的人而言,要改善現況最常的反應是:「每天都那麼忙,哪有時間做這個」「哎唷,講都麻很簡單,你又不是做我的工作」「我常跟老闆提啊,可是他都沒這麼做」。

這些理由都和明明知道運動有絕大的好處,但是卻會找理由無法持續運動的人一樣。其實只是心理不想去做,或者恐懼未知,或者不真心認為這很重要,因此都能事後找到很多藉口。

很多理由並非是藉口,「事情太忙沒有時間」可能是真的。但是,這可能是最容易,而且是最需要先解決的一件事情。

只要你不是以下職業類別:核電廠工程師,急診室醫護人員,駐守太空站人員,戰地記者,美國總統...。都可以透過以下三個務實的方式,改善「事情太忙沒有時間」。

這三個步驟,極其簡單,只要願意做,幾乎沒有做不到的可能。這三個步驟,沒有引用任何了不起的學問,也不具備任何學理基礎,它就是簡單到值得讓有心改善的人一試。
執行這三步驟的成本極端的低,但效果卻非常驚人。更重要的是,產生「有空時間」是充實並精進自己能力的最基本的一步。

三步驟為:記錄,分析,去除。

步驟一:紀錄


拿一本筆記本,或者excel檔案,或者googledoc,如果是手機app的狂熱者可以考慮使用Toggl。每天花5分鐘紀錄所有的工作花的時間,工作內容,工作價值區分,工作分類。如果可以的話,順便連生活的事物也一起記錄(例如通勤,睡覺等等)。

這個紀錄是給自己看的,所以不需要欺騙自己。

工作內容:當然就簡單記錄做什麼事情,軟體工程師大概就是寫程式,開會,處理email,與他人討論規格等等。

工作分類:根據組織本身的情況,因任務而給的分類,例如為了某A專案寫的程式,為了某B專案而開會,為了交接某C舊的軟體產品而開會等等。

工作價值區分:根據自己的想法,以重要不重要,緊急不緊急,將工作分成四個象限:重要而且緊急,重要而且不緊急,不重要而且緊急,不重要而且不緊急。

所花時間:可以是小時為單位,也可以是10分鐘為單位。但是,必須要是連續。換言之,不太可能有連續24小時的寫程式時間。因此最簡單的方式是有開始和結束時間。


再次強調紀錄必須簡單確實,紀錄本身不能太時間,不需要很精確。紀錄只會給自己看,千萬不要欺騙自己。

另外,這一步驟通常1個月就可以進行第二步驟。如果第二步驟的分析過程,讓你覺得有問題,那你需要額外的3個月的紀錄。換言之最多4個月的紀錄就足夠進行分析。



步驟二:分析


分析的本身是不難,把所有紀錄用excel加總分析,數字必須要是有總量和百分比。

第一要分析的是:工作價值區分。這些工作所佔的百分比,例如:

「不緊急而且不重要」: 50%
「不緊急而且重要」    : 15%
「緊急而且不重要」    : 20%
「緊急而且重要」        : 15%


在分析階段,最重要的是了解事實。而非改善事實。如果「不緊急而且不重要」+「緊急而且不重要」的時間比率,也就是所有不重要的工作比例,加起來低於60%,很有可能你沒有正確認知任務,或者是對自己說謊,或者是記錄的時間不夠長。因為這樣的事實是有違統計常理(參考資料)。

一旦了解事實,就可以往第三步邁進。不過分析的時候,可以順便注意一些事情:

(1)「緊急而且不重要」+「緊急而且重要」,也就是所有緊急工作的比例,加起來超過60%。表示幾種可能,一種可能是:你是長時間被工作逼著跑的人,你的任務幾乎都很緊急:老實說這個機率很低。另一種:你是自己認為工作會逼著你跑,你的任務幾乎都很緊急:這個機率比較高。

如果是"是長時間被工作逼著跑的人",使用流程,半自動化,轉移專注的方式是之後要考慮的重點。不過誠如前段所述,這種情況除了特殊職業之外,其實極端的少,大部份是屬於下一段的情況。

如果是"是自己認為工作會逼著你跑的人",先在記錄和分析上,重新正確分類事情才是能繼續往第三步驟前進。如果你真的認為所有事情都很重要,都很緊急,在心態上無法設定優先順序以及分類,那不管怎麼做都沒有人能幫得了你,本文的後段也不用再看了。

(2) 了解「緊急而且重要」「不緊急而且重要」的工作所含的工作分類。

也就是說,你能要試圖列出所有重要工作裡面,哪些緊急,哪些不緊急。而這些工作分類,這個階段,探討出:如何將緊急而且重要的工作的緊急因素去除。

(3) 「不緊急而且不重要」的工作分類。每個人多少都會去做這類事情。然而,如果你認為的工作的本身,幾乎統統屬於「不緊急而且不重要」的象限,那麼你可能對工作本身有很大的認知差距。

舉例來說,你可能是負責舊軟體產品的支援工程師,舊產品可能用戶少,營收少,也沒有未來的可能性,你直覺就會認為幾乎所有事情都不緊急而且不重要。首先,假如真是如此,那組織應該乾脆就會將舊產品汰除。舊產品仍然存在必有原因,可能是維持與舊客戶的關係,確保這些舊客戶滿意度,並且讓舊的客戶有機會試用新產品。因此,任何讓舊客戶滿意的事項,應該都屬於重要的範圍。



步驟三:去除


李小龍有很多名言,以下是其中最重要的一個:

One does not accumulate but eliminate. It is not daily increase but daily decrease. The height of cultivation always run to simplicity.

當已經知道事情的分類,意義,加總之後,並不是要著手去修改事務,而是先「去除」。

去除的本身最為困難,需要勇氣,知識,技術,經驗。

從最簡單的方向開始去除最容易。但在開始之前,一定要先確認"步驟二:分析"的結果是大致正確。

(1) 不做「不緊急而且不重要」的類型工作:不做這類型的工作,一旦發現這類型的事情出現:直接不做,不用多做考慮。不需要解釋,也不用感到慌張。

(2) 將「緊急而不重要」類型的工作,先行移轉,半自動化,或者流程化。「緊急」和「不重要」這兩者是某種程度的自相矛盾。但通常矛盾的產生在於,「緊急」先出現,可是你無法馬上判斷重不重要,直到完成任務之後,事後才知道重不重要。

這時候原有的記錄和分析就派上很大的用途。例如你是程式設計師,你的老闆常常打斷你的思慮,跑來問一些產品功能上的問題,說要給業務人員馬上回應。如果整個團隊都是這個情況,就會落入大家困於緊急但不重要的情況。移轉:指的是將這類的情況移轉到其他地方:或許是專門一個處理,或者外包給工讀生,或者是透過清楚地固定訓練,讓業務人員自己了解情況。

(3)將「緊急而重要」類型的工作,設定篩選。半自動化,或者流程化能簡單的重分類問題。例如急診室,所有進來急診室的人當然都是緊急且重要,但是,急診仍需篩選,護士會以最標準的流程,很快的評估進來的病人的緊急程度。讓真正緊急的事情能最快速處理。在軟體研發工程師,如果是在產品研發階段,幾乎不太可能遇到緊急而重要,有的話十之八九應該是天災人禍。因而,只要注意這類型的工作的區分正確與否即可。

(4)將處理「不緊急而且重要」的時間與價值提升。這點相當重要,不過並不是本文要討論的範圍。在此我們專注於”去除“

經過去除的過程,你會多出起碼少則20%,多則60%的空閒時間。


再次強調一下,這三步驟不是什麼秘密,也不需要用到高深的技巧,你僅需要對你的工作加以了解,並且執行正確即可。

人生唯一公平的地方只有時間,每個人每天都有24小時。有額外的時間,就能思索自己的未來,不會淪於找不到方向。

參考:如何提昇工作效率 





沈思:
轉移,流程化,半自動化似乎很重要?

12/03/2015

如何充實自己:三個自我學習的快速方法



資訊科技進展不只迅速,它順帶擴大自我學習的可能性。大部份的人只要能夠上網,就可以取得各種即時的訊息與知識。換言之,很多人都認為,資訊科技領域沒有什麼東西是學不會。

但是,沒有人一開始什麼都會。即便資訊工具改善過去知識的取得的不平等,但是自己要有意願和方式去學,這件事是沒辦法由技術來改善。


而為了充實自己而學習是沒有最好的方式。然而,多參考別人的方式,建立對自己最適合的方式是簡單並且直覺的選擇。

學習的目標,以及打算達到的廣度深度各有不同。如果只是很淺的了解個大概,只要用google搜尋,看看wiki大概就可以了。不過這樣的學習非常的片段,並且沒有組織。如果想要建立足夠的深度,這樣的方式獲取的知識過於片段,難以累積。(參考->片段知識的危害)


提供三種務實的方式,這三種方式的目標,廣度,深度,所需要的時間各有不同:


(1) 方式一:圖書館堆書



做法很簡單。只要你有想要充實並且學習的主題。無論是組織行為,還是憂鬱症;無論是個人領導力,還是專案管理。只要是社會科學,企管相關,科普等目標都蠻適合。

在這裏,假設你想要學習並盡可能瞭解"精實創業"。

首先帶著筆和紙,最好先不要帶手機或電腦,去附近的大學圖書館,或者比較大型的圖書館,例如新北市書館,台北市圖書館。

在圖書館的公用電腦,查詢"精實創業"以及相關字詞"創業"/"精實",記下列出來的書本期刊,當然最好連同英文書也查一下。列出這類型的書籍在哪一樓哪一櫃,直接到書櫃上把所有相關書籍全部搬到座位上堆成一堆。通常相關書籍都會集中在同一櫃,所以搬動起來應該很方便。

接下來,拿起筆和紙,打開第一本書。抄下書名,作者,出版日。簡單瀏覽一下目錄以及推薦簡介,看完目錄之後,把你認為重要章節名稱,手抄在那張紙中。再打開第二本書,重複剛才的動作。如果有20本書,大概只需要花一小時就有完整清單。

然後,仔細看一下清單,排列組合並且思考一下,哪三本書,所可能涵蓋的範圍最廣,時間最新。快速地將這三本書的目錄再度瀏覽一次,選一本先看完。然後休息一下再看另外兩本。這樣大概需要花兩小時,就可以對這"精實創業"有足夠的粗淺了解。

最後,記得先休息一下。休息完之後,在腦中思考這三個小時裡面學到什麼。憑藉這三小時的記憶,在腦中描繪「精實創業」的概念與自己認為重要,或者奇怪,或者有疑惑,或者有爭議,或者和其他領域連接的地方:這些地方稱為轉折點。回到那張有目錄的紙上,找出某些書上有解釋你認為重要的轉折點,閱讀並且理解這些轉折點。如果有20本書,起碼可以找到3本以上有這類型的地方。最後這個階段,能夠建立從別人身上了解的知識批判性,不過也最花時間,可能起碼要3小時以上。

因此,花上六小時,你就可以曾原本不了解精實創業,變得比大部份的人都了解,肯定比只在google搜尋,看看wiki的人瞭解更多。不過,請注意這只是充實知識了解而已,真正的精實創業就像打籃球一樣,是沒辦法光用看的方式是不可能實踐。

這個方式,我本來以為是自創的,但是後來發現有很多人都用類似的方式,只是做法各略不同。果然太陽底下真沒有新鮮事。

關於大量閱讀,可以參考這篇:大量閱讀的三個步驟

(2) 方式二:心智圖表徵


在已經有某些知識的背景上,試圖瞭解新的方向,或者找到自己缺乏的方向上,mindmap (心智圖)還蠻適合。他也很適合探索自己未知的事情,或者強化個人思慮的周密性。

在這裏,假設你想要學習並盡可能瞭解"軟體專案管理"。並且也認為自己想要擴張這方面的相關知識。


首先,拿一張紙(最好比A4大)一支筆,把主題寫在中間。將心裡認為可能的最重要項目連結起來。例如下圖:



把自己沒有經驗的,缺乏的地方做一些記號。通常我會使用問號?。接下來專心的根據自己缺乏的地方,尋找相關資料。重點在於,有組織的擴張知識,比片段搜尋來得有意義。

順帶一提,心智圖用法很多,"充實自己"只是其中一種。心智圖 (mindmap)不是什麼新科技,而且每隔一段時間就會有各式介紹文章,例如這裡,以及這裡。雖然介紹的範例與文章很多,但實務上,心智圖還是完全依賴人的過往經驗和創意連結。 


(3) 方法三:教學相長


這特別適用於資訊科技類型,例如程式語言,系統平台,或者任何技術。基本上,會先用其他方式(上網看書,練習實作等等)累積自認為足夠的知識與能力。接下來,想快速增加深度。或者充實自己想像不到的方向。教學相長是一個好方式。

就近找朋友或者同事,用你認為最精闢的方式,把技術和務實做法分享出去。光是在準備「教材」的過程中,就可以知道自己哪些觀念或者哪些方面不足,從準備教材的過程,就已經開始自我充實。

而最重要的是,取得聽眾的意見和問題。因為,他們可能會問出你想像不到的問題,讓你看到想像不到的視野。

實務上有幾個主動教學方式可以參考:



* 在大組織裡的主動分享

如果你是一個大企業裡面的員工,就自願性的訂一個會議室,訂一個主題,邀請一些相關的人來聽你分享某個技術。這樣的行為很簡單,而主管通常也很鼓勵主動進行。如果信心不足,可以訂一個極簡短的主題,這可以確保想來聽的人不會覺得浪費時間,也可以讓你精深的準備一個項目,提升自己的信心。



* 參加研討會:

參加研討會,並且把自己的知識在研討會上分享比想像中的容易很多。當然如果你要參加的研討會是類似IEEE的學術性質研討會,那你得花時間寫論文,而且不見得會被取用。不過,一開始先找lightning talk就很簡單,雖然只有幾分鐘,但是可以很快地獲取聽眾的真實回饋。



* blog/youtube教學影片:

近年來的分享知識方式。它無法立刻獲得聽眾回饋,但重點在於製作影片,或者撰寫blog文章之後,自己在試著重新閱覽一次,通常就可以找到許多漏掉的細節,或者過於瑣碎無用的地方,或者找到和其他人不同的觀點。

* 找到具體達成的目標:

例如:考取「低成本」證照,以Scrum為例可以參考這篇





其他相關文章:
   * 如何在工作中成長
   * 換工作的面試-軟體工程師如何展現價值
   * 自我學習的三個參考方向
    * Team Leader提升能力的三個方向
  * 如何提高工作效率
* 大量閱讀的三個步驟







11/26/2015

資訊新鮮人:三個關於價值的概念



亞當斯密,在國富論中描述商品的價值只有三種來源:勞力,土地,資本。雖然那是1776年的事情。但至今變化仍然不大。勞力:泛指人的各種智慧以及努力;土地:指的是各種天然資源;資本當然就是投入的錢。


村上春樹,在尋羊冒險記中描述組織的價值有兩個部分:意志,收割。雖然那是小說,而且還是現實與科幻混合的小說。意志是指推進組織的能力,具有統御可能性的能力;收割可能是指將即將得到的利益完成。



Dave Snowden,在他的研究裡面,定義了Cynefin架構,將事件的反應系統分成:簡單(simple),複合(complicated),複雜(complex),混亂(Chaotic)。

簡單:指的是事情的反應有很明確的因果關係定義,根據定義來做事情即可。

複合:指的是事情的反應之間,確實有因果關係,但是這個因果關係可以透過分析,學得而來。

複雜:指的是事情的反應之間,雖然有因果關係,但這因果關係沒辦法事先知道,只能事後知道。

混亂:指的是事情的反應之間,沒有因果關係。



這三個人講的事情看似沒關係,但是對於社會新鮮人對於價值的三個重要概念,卻是重要的參考。



(1) 何謂價值


幾乎任何東西都有價值,只是每個人評估價值的方式不一樣而已。在經濟學上最簡單的方式就是,你的某個東西,願意和別人交換什麼東西。那就是對你來說的價值。當然,交換太過麻煩,因此金錢變成一種簡單的衡量媒介。

在經濟學上常用價格來當作價值的衡量方式。不過價格本身就有很多種定義。

如果將範圍縮小到,投入資訊產業的新鮮人所關心的方向。價值可以縮小到:個人的智慧與努力,去交換某種東西。當然這某種東西很容易就被歸類為薪資,而如果是創業家則是利潤。

交換只有已經交換才有意義。因此,價值只有在交換成立的時候才有意義。例如,當新鮮人在104要求月薪5萬,這並不真的是他的價值,他的價值可能是4萬,也有可能是50萬,只有在成立的當下 - 也就是雙方同意月薪的那一瞬間 - 價值就成立了。所以,更重要的觀念是:價值沒有所謂的高與低,只有當時的事實。換言之,以價值的觀點來看,沒有過高的薪水,或者過低的薪水,只有雙方同意交換的成立價值。

當然,很多人互相同意的交換成立價值,就變成常見的成交價。股票某個時間點的價格,就是那個時間點的某一些股票的成交價,而非所有股票在那個時間點都是同一個價格。

最直接了當的說:如果覺得這薪水,對你來說太少,那就不要答應。但當你答應了某薪水,也不要抱怨 - 起碼在幾個月之內,沒什麼好抱怨的。而當你「自認」應該要提升價值時(就是該加薪了),必須要是有交換的可能,才叫做價值提升。(就是真有人願意以這樣的薪水雇用你)

價值當然可以互相比較,常聽人說性價比高還是低。然而不同事務交換的時候,比較的基準自然會不一樣。就此而言,在資訊科技產業的任何兩個程式設計師,都無法互相完整比較價值,因為兩個人的智慧勞動以及產出一定無法有效比較。

另外,同一件事情,在從不同人,不同時空背景取得,會有極大的價值差異。例如,你坐計程車上班會花錢,然而,如果在你搭車的時候剛好遇到同事,順道搭便車,他可能完全不會收你任何費用。



(2) 組織的價值產生


組織,特別是營利組織,其價值等於是可產出的商品(或服務)。而任何商品的價值來源有三種:勞力,土地,資本。由於資訊科技產業(特別是軟體)並沒有用到很特別的天然資源,因此土地幾乎可以排除。而勞力和資本就變成資訊產業最主要的價值產生來源。

資本的構成與取得也不那麼簡單,不過不在我們的討論範圍之內。當然政府政策的影響也不在這短短的文章討論範圍之內。

勞力當然包含智慧技能等等,而企業內員工對於工作的付出智慧與勞力的方向,大概可以分成Cynefin架構中的那四種。


簡單(simple):任何工作的行為是可以預知因果關係,必且可以透過各種手段最佳化,這些手段可能是由機器取代,可能無法由機器取代。例如銀行櫃台的大部份業務,都可以由ATM取代。某些日式的餐飲店,其服務流程經過妥善的最佳化,任何顧客的情境以及行為都可以編列在他們的制度與管理方式裡。因此,簡單類型的工作,可能產生最大價值在於能否提出最佳化。

複合(complicated):任何工作的因果關係可以透過分析與瞭解而取得。工作本身可能是困難的,但是工作的效率還是可以評量,工作的內容,可能需要少許技能,但也有可能需要很高的技能才能完成。這類型的工作,其價值高與低,取決人的能力,使用的工具,採用的策略技術。這類型的工作可以學習,但學習時間長短不一定。複合類型的工作,可能產生最大價值在於是否能提出好的架構,並且有訓練有素的專家。一般的程式設計師,維修瓦斯爐工程師,一般醫生,護士,理財專員等等都屬於此類。

複雜(complex):事件與工作的因果關係只能事後知道,無法在事前分析瞭解。然而,其因果關係仍然存在。聽起好像很複雜,然而這類型的工作,不見得很困難,只是要產生價值的時候,可能需要不停地進行嘗試與練習,才能事後了解因果關係,透過事後練習了解。例如,開一家新公司當創業家,獵人頭工作,業務類型工作,特殊類別的醫生,各類型的研究單位等等。

混亂(Chaotic):事件與工作沒有因果關係,或者就算有,也是人的智慧無法得知,藝術就是此一類型。這類型的工作可以透過學習,擴張知識,反覆練習獲得經驗,來提昇可能性。但是難以評量。例如,畢卡索的畫作,張大千的書法,可以由他學生們學習模仿,也無法就價值評量。在企業上常見的例子是賈伯斯,他對apple的貢獻無法被學習,也無法被評量。有人認為開拓性質的研發也算此類,例如具有極端價值的演算法工程師,組織微積分的牛頓,構思相對論的愛因斯坦等等。

當然在以上的例子非常粗略,只是拿來參考用。組織的價值產生,就在透過人的智慧與勞力,資本的投入用以執行四種系統架構的事物。這四種系統架構,其產生價值的地方都不盡相同。

但今天幾乎可以確定的是:(a) 簡單的工作會趨向被自動化方式取代,無法自動化(例如餐廳)則會被低勞力成本取代。(b) 複雜的工作,透過科技的進步會簡單化。(c) 混亂類型的工作仍然屬於個別人的天賦範圍,可以培養但無法預測。

因此,真正的組織價值,在於透過意志,驅動複雜工作的架構,屆此拉近因果關係的差距,以及建立相較於其他組織的優勢。


(3) 價值不公平的觀點


誠如"何謂價值"所描述。價值只有交換的時候才會成立,而既然雙方樂於交換,何來不公?

大部份的情況下,所謂樂於交換通常是在資訊互相全然透明的情況。然而資訊全然透明是幾乎不可能,因為人根本無法處理足夠大量的資料,也無法體驗所有可能的情況。例如,一個新鮮人,畢業之後最多也只能面試50家企業,不可能窮其心力面試完所有可能的工作。但反過來說,一個企業的工作(如果不是屬於「複雜」或者「混亂」類型)幾乎都可以找到起碼50個合格候選人。因而,由於資訊的不對等,大部份的情況下,企業比較容易可以找到性價比高的員工,但新鮮人比較難找到性價比高的工作。

換言之,以個人的角度,解決不公平的方式有很多種。從價值的觀點著手有兩個可能:

(a) 投入組織意志的部分。

投入職場的大企業的人,都不太可能一開始就是驅動組織經營策略的人。通常都是某個小部門的小螺絲釘。因而要成為組織意志的一部分是很難的。然而,如果是投入在小公司,假設是只有5個人,那麼投入組織的意志部分是非常輕而易舉的事情。

不在組織的意志部分,並非就沒有價值,而是在組織的意志部分,個人的能力與可產生價值很容易顯現 - 無論高或低,好與壞。

(b) 強化處理複雜或者混亂的問題的能力。

混亂的問題大部份是屬於藝術類型。藝術很多都是「無價」,因為無價,也難以在此討論。不過所有能處理混亂類型的人,幾乎都是在某一個領域知識廣博,經驗豐富。因此,不間斷的學習一定會有幫助。

處理複雜的問題可以透過自我能力的培養,經驗累積,從他人(例如職場導師)學習而來。複雜的問題相當困難,但是一旦累積了架構性解決的能力,這優勢幾乎不會消失。

(c) 將複合的問題簡化。

透過資訊科技,將複合的問題簡化,可能是最近幾年最常看到資訊科技對組織產生價值的地方。大數據(Big Data)對網路書店上推薦購書就數此類。許許多多不同的手機應用程式(app) ,提供人類各種溝通方式(例如line) 也是屬於此類型。


(d) 將簡單的問題加速或自動化,進而最佳化。

將簡單的問題加速或自動化,可能是資訊科技新鮮人常會忽略掉的一點,但這點其實對價值的提升比想像中來的重要許多,特別是在大組織內。加速或自動化處理簡單的問題,可以讓人專注於其他架構問題,縮短內部公文流程,自動記錄某些事件等等,都屬於此類。這做起來相當容易,而且假以時日效果也很好。

當事情或者問題可以自動化之後,進而就可以最佳化。例如,過去政府有複雜的公文簽核流程,在紙本的年代,很難統計看出真正的瓶頸,透過自動化公文傳遞,很快的看出到底哪些公文花多少時間流過哪些不必要重複的地方,進而就可以去掉不必要的地方。以開發手機APP的流程為例,當視覺設計師的mockup,可以自動產生可供UI/UX測試的可供驗證app時,就可以進而快速取得使用者操作的經驗流程,進而讓UI/UX能最佳化手機APP的使用便利。




將複合的問題簡單化,簡單的問題自動化,自動的事情最佳化:是最基本產生價值的概念。




沈思:
   - 資訊新鮮人能在多短的時間內對組織產生價值?

11/19/2015

軟體專案的啟動:三件必要事項



萬事起頭難,但是軟體專案的開始卻不很難,至少比收尾容易。


專案在開啟之前,相關人等必須一定要聚集在一起,至少達成一件事情:就是要討論專案如何開始。這個討論很多地方稱之為Kick-off會議。(專案啟動會議)。

在啟動會議結束前,就必須要能至少完成,或理解以下三件事情。如果不能完成或理解以下事項,當然還是可以開始。不過好的開始,雖然是成功的一半,但壞的開始,一定是失敗的八成。

要注意的是,這三件事情只是開始,並沒有涵蓋技術上的真正開始(例如High Level Design)

(1) 了解專案目的


一個軟體開發專案的目的,一定不會是完成某些程式碼功能。通常是帶有應用意義。瞭解其應用意義,才是真正的專案目的。在不了解專案目的的情況下,隨著專案進行走偏的機會很大。

舉例來說,也許某企業組織在一些腦力激盪之後,想要有自己的即時通訊app(類似line),並且也組織了一個小組來進行開發。而它的目的是希望企業員工在用手機的時候能有完整保密的訊息功能,而且非企業員工不可能使用。

單就以上描述而言,重點是在於(a)企業員工使用手機(b)完整保密的訊息估能(c)非企業員工不可能使用。

然而,是不是手機app並不是目的。是不是自己重頭到尾開發,還是利用現有套件也不是目的,有沒有上架也不是目的。

有些時候,專案目的不是這麼容易清楚了解,許多大組織有很多隱晦的目的。即便是人數極少的新創組織,有時候也容易把將組織目的和戰略執行方式混淆。因而,在專案啟動會議的時候,務必再三確認專案真正目的。

有一個簡單的方式可以判斷是否為真正目的。如果目的的描述,非常具體的指名特定技術,在盈利企業的專案裡,它就很有可能不是目的。舉例來說:『我們要開發一個Android APP他可以在開機的時候就自訂在背景執行,而且當發現手機的GPS位置到某一個範圍時,就寄出email』,這非常有可能不是真正的目的,而如果團隊照著進行,也許沒有大問題,但如果能真正了解目的,有可能有截然不同的開發方式。例如真正目的可能是:『我們是個高級西餐廳,需要一個行動裝置,了解某個之前的客戶,如果剛好在我們餐廳附近,我想們要通知他一些折扣訊息』。當目的和技術脫離,軟體團隊才會找到更正確地解決方式。以這個例子來說,寄email大概不是什麼好方法,在背景執行的app也遲早會被使用者發現過於浪費電而停掉。

專案目的也許隱晦,但是要再三確認,實務上也花不了多少時間。

(2) 專案設定


任何專案一定有其限制和背景因素。這些暫且叫做專案設定(setup/config)。

專案的限制有很多來源,有可能是先天限制,例如奧林匹克訂票系統,自然就有在某月某日結案的先天限制。也有可能是後天限制,例如最多能花多少經費。不過無論如何,一定有很多很多限制。在這一階段我們要了解的限制,最少要有以下這一點:在範圍,時間,成本這三個變項之中,哪一個是可以犧牲的。所有專案管理最基本的認知:範圍,時間,成本中一個專案最多只能控制兩個,細節可以參看這裡

當然有些人可能會列出6個變項,或甚至9個大項目。但重點不在有多少變項,重點在於專案的開始就要先有認知。

專案的重要背景因素,如果有的話,也需要先行認知。背景因素有可能是限制的一種,有可能和目的有關。例如,企業目前營運狀況極為良好,是一種背景因素,他可能會讓專案遇到困難時,有額外的助力。又例如,這個軟體專案是為了新產品,而目前,在市面上已經有競爭對手:這是一個可能在不預警的狀態下,改變專案目的或者增加專案限制的背景因素。

通常只要開口多問幾次,不需要花多少時間就可以了解很多專案設定。

(3) 如何合作

專案成員如何合作的方法論有很多,但最根本的概念就是,合作的本身,不會造成合作的困難。合作本身,能讓團隊效益提高,讓1+1>2。

(a) 認知事實

團隊活動有很多事實會發生,最不好的事實就是『大部份的人都有認知偏誤』。偏誤很難完全屏除,但盡量貼近事實是最好的做法。

事實最好在一開始就是大家所先認定好,特別是困難的事實。舉例來說,專案有三個人,其中兩人才剛畢業,另一個人已經在公司工作35年,事實就是一定會有溝通障礙,技術銜接障礙等等。另一個例子:專案有三個人,其中一個人正在負責其他專案,一旦認知到這點,就一定要把此人在專案未來時間分配上,特別減少某個比率。而這減少的比率應該在這個階段就已經先認知。


(b)角色定義

許多專案管理的方法論,會對角色有各式各樣的定義,例如RACI,PMP都有各自的角色定義。然而,也許比較適合軟體專案的還是Scrum的定義。

但不管採用什麼方法論,至少有個角色一定要有明確的指名。那就是這個專案的負責人,無論是叫他PM也好,team leader也好。明確地找出這個人,讓他負責專案合作上的各種安排。

(c)工具

而軟體專案最少的必要使用工具也要在這裡簡單定義。例如使用git來作為版本控管工具,簡單的使用便利貼加上白板來作為目前進度顯示的工具。工具不見得要是某軟體,在專案執行過程中,要確定工具的本身不會變成專案的負擔,不會變成阻礙,不會耗費過多時間,更重要的是,一定不能成為某些事情的藉口。如果在專案過程中聽到有人反應:『XXX還沒做,是因為build server要執行編譯android的時候,』因此過多的指定工具只會造成問題。

(d)溝通

專案溝通最好還是以面對面為主,我個人是非常反對大型報告會議,但是非常贊成Scrum的每日站立會議的務實方式。每日站立會議作法是:每天固定某一個時間,大家聚在一個地方,每人用1-3分鐘的時間,只說明三件事情(要記得大家先說明,然後要討論是說明完之後再討論):

   第一:上次會議到現在為止,完成了什麼事情。

   第二:接下來到下次會議之前,打算完成什麼。

   第三:遇到什麼困難。

所有人都說明完畢之後,再根據每個人遇到的困難,也許是一起討論,也許只有某幾個人討論。這樣的會議,會讓大家集中心力在之前決定好要完成的事項上,而且有兩個人在會議室裡面相談甚歡15分鐘,其他人都在看自己的筆電的情況。

如何合作有可能是最花時間去討論的項目。採用過去成功經驗,摒除失敗的經驗是最好的方式。



以上三件事情在大型專案中,也許頂多花上一兩天的時間就可以完成。最不值得做的,就是因為『乍看之下專案好像很急』而草草啟動,忽略了這三個必要事項。



沈思


如何知道這三件必要事項有產生?這三件必要的事情完成後,應該有相對應的簡要文件。如果專案開始的時候,沒有簡單的一頁說明以上三件事情,恐怕表示大家沒有真正的共識,或者這些共識很快就遺忘。

但是相對的,假如在這個階段,就已經產生了鉅細彌遺地各類型文件,那麼專案成員也應該要警覺。帶領專案者,可能有很大的管理上的障礙或疑慮。也有可能這個專案的真正目的和實際上說明的不同。