來到了本次選修的第二堂課 - 解決問題的能力
還記得當初公司送課單過來時,我記得有八堂課
在一個平時要挪時間出來學新的程式語言以及練演算法,再加上學西班牙文的三重狀況下,我看到了我幾門課想選修,感覺會對我特別有幫助,我就選了這三堂我認為現階段對我非常有幫助,也是我認為自己很缺乏的課程
壓力控管, 溝通能力和解決問題的能力。
最近在公司工作的狀況,我有很大的體悟,繼上篇文章 [心理學] 人生的三堂課: 壓力與情緒、溝通、解決問題的能力(1) - 壓力與情緒,文章開頭就有說明自己最近到底在忙什麼,很感謝今年的自己與上天給了我一個這麼大的機會,讓我能夠挑戰我以前認為很困難,甚至覺得這輩子大概都學不好的三門新的知識領域: 西班牙文
, Java
, 演算法
。
而雖然點進來的觀眾也許是想了解這堂課在做什麼,但我認為我最近發生的這些事情跟領悟的道理還真的有這麼點扣題呢。
那在開頭就先分享一下自己最近在職場上遇到的事情跟觀念牴觸後的改觀吧!
有看我介紹或者文章,應該會知道我是一個軟體開發技術團隊的後端軟體工程師,接下來的一些個人見解,會以 我是一個工程師的角度出發
,當然我知道有很多很多的故事及愛恨情仇圍繞在 業務人員
, 設計師
, 專案管理
, 公司營運
當中,來看看最近我的體悟。
前言一 - 人不是完美的
我總是覺得自己不夠完美,每次看心理測驗或者焦慮測量表,都會寫著 對事情要求完美的特質
,然而我從來不這麼的覺得,就我自己本人感覺,我並不覺得我要求完美。
然而最近我真的就像一顆燈泡亮出來的瞬間,我發現 原來我是真的很要求完美,而把自己逼進死角
。
當跑Scrum 會議,我已經大概有幾週進度都 Fail,都是那種我覺得這任務很簡單,一定做得完,但卻一直Fail
我開始抽絲剝繭的去分析,當然我也同時跟我的主管兼專案經理解釋,為什麼我會Fail。
我慢慢把問題抽絲剝繭後,我發現:
- 因為技術能力變好了,所以我開始在想如何能夠讓程式碼更精簡,並利用更好的寫法與更好的資料結構來完成功能
- 追求要能夠運行無bug,設想所有可能會出的錯誤,並作避免
即便技術能力變好了,但我的技術能力也還是沒有寫3.4年技術的前輩們厲害,以上兩點是我覺得我花最多時間的要點
尤其是每次每週結束後,開檢討會議,主管兼專案經理都會提出我們的程式可以怎麼改善,例如怎麼寫用什麼技術比較好,例如怎麼提昇資料庫效能,例如使用什麼設計模式。
每週 每週的 提出需要改善的點,直到現在我在撰寫程式時,我都會想得十分的細節,瞻前顧後,希望能夠面面俱到,追求完美。
然而這樣拖慢了我的進度,於是我開始在想一件事。
要怎麼能夠在有限的時間內,既能夠做到程式品質高, 效能高並無Bug?
, 這個問題我在週一會議時,直接就問了我們主管,並反映因為上述的原因,我讓這週任務Fail了,我很追求完美,我覺得這個程式沒到達我的完美底線,我是不會想送上PR跟主線Merge。
我原本以為有可能是我的技術能力不夠,事實上是有可能的。但我們主管則是回復了我這些話:
你程式寫得再好,客戶也不會感激你
,那是因為我們是技術團隊,我們才需要去要求技術精進
可是你要知道,公司為什麼要營運?就是為了賺錢,業務怎麼賺錢,就是跟廠商達成時間交付產品,而我們是技術團隊,要按時開發出產品並交付。那是因為你現在處在技術團隊,你看不到其他團隊的運作,所以你會很沈浸在追求技術完美的旋窩中
這沒有不對,技術團隊本來就要追求技術精進,但卻忘了最終目的是開發出產品然後賣給客戶賺錢。所以呢,我們必須在有效的時間內做出可行性的產品,意思就是他不可能會是99%完美,他可能只會是70-80%完美,在一定的時間內做出最低限度能夠被接受的產品。
完美要有多完美?你定義的出來嗎?完美是能夠被量化的嗎?
, 你就是常常提到完美跟頂點,但這些都無法被精準定義出來,你又要怎麼知道自己做的是多完美了?
給大家上一張我自己畫的圖,左方是時間,下方式完美/完成度。
確實從0開始做到60%,不用花太多時間,但真的到70-85%時會稍微需要花點時間,然而最後85%-99%花更多更多的時間。
而圖上畫了兩個X,寫著Feasible就是可行性,也就是一定的時間內,做到這樣的成果,就可以被接受以及拿去銷售。
而套用在我身上,我真的覺得我常常要求完美,然後想要變厲害,而給了自己超多無形的壓力,常常讓自己處在一個焦慮的邊緣。
就像我計畫自己兩年後想去歐洲找工作看看,我現在就開始盤點出哪些技術跟能力是我需要的,攤開來我發現一堆,然後每個都要達到我內心所想的完美,突然讓我感受到壓力爆棚。
這就像我在上家公司工作時,我總是覺得自己達不到自己內心要求的完美頂點,於是總是覺得自己弱,而不管怎麼被剝削,我都不敢離開找下份工作。
直到離開後,我才發現雖然沒有達到內心的完美度,卻也已經有著70-80%的提升 (相較於剛畢業的自己),很快的我就馬上找到這份工作。
只是說,雖然不能拿 人不是完美的
來讓自己怠惰,但至少當自己真的被各種追求完美的想法給壓垮時,改觀成這樣的想法能夠調和自己那種時時刻刻想追求完美的好勝心。
並且要告訴自己真的有盡力去努力提升自己,也許並不用真的達到內心的頂點跟完美,才讓自己放手去挑戰國外的工作。
慢慢的我就釋懷了,技術, 工作, 溝通, 解決問題 以及 語言能力我都有在進步,但我決定不要把自己卡死在完美的概念中,也許進步了一陣子,就可以開始嘗試看看國外的工作機會,而並非自己目前給自己定一個目標,非得達到頂點才能去嘗試。
好了扯遠了,來進到今天的主題吧
我自己是覺得這堂課沒有上堂課給我我過多的資訊,但並不是說不好,反而我覺得這堂課整體來說扣住幾個很重要的要點,雖然說感覺上內容少,但真的要領悟他並實行的好,我認為並不簡單。
第一章 - 解決問題的三個要點
- 批判思考
- 邏輯思考
- 假說思考
當遇到一個問題時,先學著擁有 批判性的思考
:
為什麼商品賣不出去?一定是商品爛嗎?
有沒有可能只是不符合客戶需求,有沒有可能是因為店面在比較無人的地點開設。
而並非直接順著別人的邏輯走,要帶有批判性思考去嘗試思考問題。
再來第二點是 邏輯思考
,釐清好問題後,需要透過個人能力與技術搭配清晰的邏輯思考來將問題抽絲剝繭,並廣泛收集資訊,嘗試去各方面了解問題根本以及可行的解決方法。
最後是假說思考
,軟體工程師都需要寫測試Case來測試程式了。需要綜合以上的資訊與思考來輔助自己提出假說
例如我認為商品賣不出去,可能是由於商品本身是屬於寒冷地區販售較好,卻於炎熱地區販售,那商品當然賣不出去,以及其他可行的方法。
當遇到問題時,詢問自己三個問題來幫助自己釐清根本問題。
-
It is true? 這是真的嗎
-
So what? 那又怎麼樣
-
Why so? 為什麼如此
先問問這個問題是真的還是假的,也許他只是因為平日人比較少,短暫的時間有較少的人流,過陣子就沒事了,那麼就沒這個問題。
那又怎麼樣?這個問題的嚴重性?是否真的會造成營運虧損或者其實無妨?
為什麼如此?才開始正視這個問題很重要,去抽絲剝繭。
三個要點判斷解決能力
-
是否有理解解題目的目的:為什麼要解決這個問題,他的目的是什麼?
-
是否有邏輯思考的框架:使用的邏輯框架是什麼,可否有效提出假說,以及自我的觀點?
-
是否能提出假設觀點:提出假說與觀點
第二章 - 3C,從哪些方面下手分析問題
3C: Customer, Competitor, Company
Customer
目標客戶是誰? 目標客戶的痛點與需求?
Competitor
苦能面臨的競爭對手有哪些?競爭優勢是什麼?
Company
網站該怎麼製作,該上架哪修商品,客戶服務怎麼做,技術怎麼開發?
解決問題最重要的點:
先在有限資源的情況下,提出自己的假說與觀點,再去做驗證。
第三章 - 你有解決問題嗎?
解決問題遇到的困難: 不是因為找不到答案,而是因為抓錯問題來解決。
或者是問題該怎麼定義, 不清楚
這個我本身就蠻有感受的,還記得一開始當菜鳥工程師時,常常看到程式出一個問題,但怎麼找都找不到問題根源,怎麼查google,怎麼自己抓蟲都解決不了問題,為什麼前輩能夠十分鐘就找到方法解決?
原本以為是我自己能力上的問題,直到我來了第二家公司,我才發現,也許能力上是個問題,但最主要的還是自己沒有搞清楚問題是什麼,進而也不曉得怎麼表達出自己的問題給對方知道,對方也會不知道怎麼幫助你。
所以說,這兩點我認為非常重要,也是我在職場上學習到的要點:
- 針對對的問題解決,嘗試定義出根源問題
- 嘗試表達出出問題的根源,尋求幫助
事實基礎
事實(Fact)
跟 觀點(Opinion)
常常會有人把事實跟觀點作混淆 (事實基礎),事實證明不容易,尤其有時候我們分不清楚這是事實還是別人的觀點。
例如 這是杯子
這是事實
這是美麗的杯子
,這是別人的觀點,因為也許我不忍為杯子美麗。
所以有時候很常犯的錯誤就是: 公開數據不能當事實基礎
尤其是 大眾的數據
,不要去抓大環境的數據當作自己的數據,而是針對本公司的數據做分析。
這有點像我最近這兩天在研究星座。
常常我覺得明明跟前男友的盤特別合,卻還是分手了。由於已經看了各大命理,發現自己吸收過多的資訊,引發了自己反骨的特性,開始會想去打破這些命理的道理。
最近研究到一個理論,他的意思是說 給出一個符合每個人的基本特質 很模糊的文章給受試者,受試者都認為很準,這就是他,殊不知這些模糊的文章是利用心理學的道理,讓受試者覺得這些例句很符合自己。
如此一來大眾的道理是準的,但其實那只是假象,真正的還是個人真正的特性以及個人後天的環境跟努力以及發展。
第四章 - Case 分享
Case 1
一個公司由於今年的商品販售不佳,總經理很著急,並找來各部門開會做協商
業務:這個商品不好賣,每次客戶聽了規格都覺得不錯,可是聽到價錢都拒絕購買 行銷:我們已經盡到最大的能力來做行銷,但跟市場不符 技術團隊:我們已經把公司全部最好的技術都加到這個商品了
當我看完這樣的描述,根據自己最近的經驗,我已經知道大概是技術團隊出的問題。
我們已經把公司全部最好的技術都加到這個商品了
,這就有點像是我主管跟我說的: 程式寫得再好,客戶也不會感激你
也許客戶就是只要那一兩個功能,你卻加了八個功能,然後把價格提高,那他們自然不會覺得說另外新加的幾個功能他們需要,也不會購買。
問題點:
-
技術導向訂規格,規格基本上可以尋求市場跟客戶的討論作定義,而非一昧的把公司全部好的技術都加進來,這就像是技術團隊認為我們這個功能很厲害。可是實際上使用者用不到,那就沒意思了。
-
加了客戶不需要的功能,導致成本夠高。
所以解決問題的根本其實是:
- 拿掉客戶不要的功能,將成本降低
- 多和客戶討論或市場調查,以定出符合賣點的商品
Case 2
當產品賣不出去時,我們要怎麼去做思考?
-
為什麼客戶買我們的產品?
-
我們的產品有什麼好?
-
為什麼去買競爭對手的產品?
-
是不是客戶不了解我們的產品?
解決的方法假說可以是:
- 去跟客戶談,去跟通路夥伴談 (直接找對方談)
以及有可能會發生後續的問題:
- 為什麼客戶不來試用?因為試用成本高嗎?還是產品參與度低?
Case 3
有樣學樣
以及 模仿
就像Apple的產品真的很成功,就開始會出現很多公司想抄襲Apple的商品規格與設計。
比方說競爭對手出了白色外觀,公司也要不要試試看推出白色外觀的商品
問題:
白色商品是賣得很好嗎?還是話題性?
如果真的賣得比較好,為什麼會賣得比較好?
對公司來講,技術達的到嗎,供應商可以配合嗎?
如果白色商品做得出來,符合公司產品價值嗎?我們有競爭優勢嗎?
其實這個問題的本質是:
提供個性化商品
所以要不要推白色商品,不是最重要的問題
最重要的問題是,公司能不能推出符合消費者的個性化商品。
最終章
光有洞察力還不夠,擁有解決問題的能力還不夠,這時候你需要 說服關鍵人物
這就跟你已經做了一堆功課,結果老闆跟CEO 不接受,還是把你打回原形 XDD
NG 說服方法:
- 簡報不夠簡明扼要
- 提案不夠明確
COAST 框架
說服CEO
- Content 觀點內容 :提出觀點內容
- Objective 目的 :了解會面目的
- Audience 目標觀眾 :目標聽眾及主要觀眾的喜好。可以有個
會前會
來和關鍵人物先做討論,並作足功課 - Touch 讓對方有感 :從頭到尾都講cost down,那CEO當然聽不下去。要用妥善的溝通能力然圓滑事實。
- Simple 簡報與內容 簡單明瞭
解決問題雖然很重要,但最重要的還是說服老闆,然後讓整個團隊動起來!