guthub_gist_程式碼區塊

2017年10月29日 星期日

生活中的好朋友,免治馬桶

Childplay


人似乎都喜歡會噴水的東西

家裡的舊免治馬桶是建商送的,雖說基本功能還正常,但已經用了好多年,有些破損。而且這種衛生用品本來就該定期換新,就開始來找找市面上這幾年來新的商品。

查完之後有幾個心得:
A. 要買瞬間加熱式的(也稱瞬熱、直熱),而不要買儲熱式的(也稱儲湯)。長期比較省電。
B. 要買噴嘴有自動清潔功能的、抗菌材質的,盡量保持清潔衛生。
C. 日本的免治馬桶真的是超級便宜,同樣的商品可能比台灣便宜一半以上。

所以最後就選定了TOTO的免治馬桶Washlet TCF8PM32 NW1,但我沒機會自己去日本,只好找代購商買,價格還是比台灣公司貨便宜很多。

買日本水貨,沒有人服務,當然有一些困難需要克服:
1. 原廠安裝固定板尺寸不適用:因為我家不是TOTO馬桶,所以固定孔的尺寸與原廠不同,勢必要找到一片適合我家馬桶的安裝固定板才能安裝。網路上有很多解法:
  • 拍賣網站上有賣適合各種固定孔尺寸的安裝套件,一份NTD 1200左右。
  • 直接拿原廠固定板硬上,只鎖一邊,另一邊自行在安裝板上鑽孔
  • 直接拿原廠固定板用雙面泡棉膠硬貼起來,只要不會滑動就好。
  • 去找到舊款(TCF712F)的零件,剛好可以相容外廠的馬桶,大約只要NTD 400左右。

2. 安裝書都是日文:只好按圖索驥自己嘗試,還好運氣不錯,順利裝好。

3. 細節的設定說明書都是日文:剛好找到一本舊款的中文說明書,參考著看,還能八九不離十。

4. 遙控器最好是能用釘子壁掛在旁邊:
  • 有人建議是用雙面泡棉膠硬貼到牆壁上,但是浴室潮濕,我猜可能黏不久。
  • 但我不想破壞浴室牆壁磁磚,所以是直接放在旁邊的檯子上。

5. 遙控器都是日文:我參考了網路上的圖片,再加上自己拼拼湊湊的翻譯,歸結出下面這張圖當作備忘。



貪便宜買水貨後,一來保固不方便,二來要自己動手。嫌麻煩的人,建議還是可以找國內的代理商,服務應該是做得不錯。
而且TOTO不愧是洗屁屁界的霸主,目前使用得很滿意,買得很值得,免治馬桶的發明人真是該得諾貝爾獎~

2017年10月15日 星期日

如何進行 交通違規申訴

Getting a ticket in Hollywood, California


剛收到紅單時,就如照片上的男子一般的無辜和無奈吧


日前收到一個我開車時被某人的行車紀錄器錄下來並被他以此錄影檔舉發的交通紅單。 

本來是想說只是很倒楣遇上一個正義魔人(交通舉報是沒有舉報將金的,所以我猜這位舉報的仁兄無法忍受當時擁擠的塞車情況,而看不順眼擋在他前面的任何人),繳了幾百塊罰金就算了;但實際上那個被錄下來的情況被罰得實在很沒有道理,所以我展開了交通違規申訴行動。 

不知為什麼,我搜尋網路上的違規申訴經驗談很少;
而且我地毯式搜查後,本來做了很多網路功課去準備的東西實際上都沒用了,應該是近期交通單位的行政作業流程改進很多,在這裡還是整理分享一下小弟實際的經驗與心得。

其實很簡單,完全在網路上搞定,也不用像我傻傻地還特地請假半天到警察局、監理站白跑一趟。

(以下流程實際操作於2017-9月)


  • Step1. 首先在收到紅單後,回想清楚當時的情況,或憑藉著舉發的照片檔,確認一下自己可否為當時的情況提出合理的申告理由,"並把理由以有條理的方式寫下來"(是能否申訴成功的重點)

  • Step2. 請到交通監理站網頁(搜尋關鍵字:監理服務網),找到"意見信箱" (一般是在網頁的最下方)點選進入,再點選"開始填寫"  

  • Step3. 在"您想詢問哪方面的問題?"的選項中,選擇"交通違規申訴"後,按"下一步" 

  • Step4. 把必須要填上的格子(有標紅星星的)都依照你接到的紅單上的資訊填完後,其中在"申訴內容"的"說明"那一欄,把剛剛Step1.中寫好的理由貼進去 

  • Step5. (不是必要)如果有要附上圖形或其他檔案說明,網站上也有上傳的選項,但是只給上傳一個檔案,如果有多張照片就記得要放到同一個檔案裡。 

  • Step6. 接著就是長時間的等待,我自己是等了大約3~4個星期之後,就收到一份交通單位判決的公文說的確罰得沒有道理,結案。(看不太懂公文寫法的人,我自己就是,就可以往下一步驟去確認) 

  • Step7. 再回到交通監理站網頁裡的"交通違規"、"交通罰鍰(含強制險)查詢及繳納",去查查你的那張紅單,如果是成功申訴,那紅單應該就不見了。 



結語:
整個網路上的申訴流程,其實算是方便,只是公家單位作業時間還是拖滿長的;就像開車聽警廣電台時最常聽到的:駕駛人要多多發揮耐心啦~

2017年8月30日 星期三

C語言中,if判斷式後的單一行statement也要加上大括號的有力例證 ( Persuasive points for a C language coding rule about even one line statement for “if/else” keyword should be enclosed in curly braces. )

Rules




    關於這條Coding Rule,雖然Google與Facebook等軟體巨擘們沒有強制要自己的員工加上大括號;並且以我過往的工作經驗看來,同事們對這條規矩的回饋總有雜音,想必大家都很糾結。

    這裡提供一些傾向於要加括號的有力資訊 (而不只是感覺上加了比較好) 給大家參考:


1. 注重安全性的MISRA C的規定:



2. Apple goto fail事件的低級Bug

提出一個發生在2012年關於Apple公司的真實案例,應該更有臨場感,詳細請參考文章 (https://coolshell.cn/articles/11112.html) ,文章中思考的面向頗多,推薦一讀,這裡只節錄一小段:
…如我們強制使用語句塊括號,那麼,這兩個goto fail都會在一個if的語句塊裡,而且也容易維護並且易讀。……還是分多行,加上大括號會好一些。……雖然寫起來有點囉嗦,但利人利己。


3. 很容易產生疑慮的案例

TAB或空白鍵縮排因為不容易顯示出差異,所以很容易被弄錯,下面這種案例其實並不罕見,若能多加了大括號就會少掉很多問題。

總而言之

    就算只有一行statement也加上大括號,相對安全很多,又不大幅影響可讀性(缺點只是讓程式碼頁面稍長),為什麼不加呢?

2017年7月10日 星期一

Excel中判斷儲存格內是否有公式的方法 (How to know if there is a formula in the cell of Microsoft EXCEL ?)




EXCEL是個超級好用的軟體,讓我們一起發掘它無窮的潛力!!
這裡直接放一個範本檔 (https://goo.gl/jHwxXW)


概要

  • [問題]
    一張Excel表格中,數字很多,有的是使用者要直接填值,而且常常需要更改;但有些是用公式去參考別的儲存格作運算,很容易被誤改掉。
  • [思路]
    若是有方法能快速判斷Excel儲存格內是否有公式存在,然後在有公式的儲存格上標出不同顏色或特別的字型,也就能容易避免被誤改掉了。再進一步把有公式的儲存格強制保護起來,也就可以不被誤改了。
  • [實作]
    分成兩大步驟
    • Part 1. 判斷儲存格內是否有公式並標色
      • 待會會提到三種方法,建議用 [方法二] 實作,並可用 [方法一] 快速驗證有無寫錯。
      • 三種方法在下一段”Part 1 詳述”中
    • Part 2. 鎖定儲存格,不給改。要做到下面三個小步驟
      • 把所有的儲存格先都設定成不保護的屬性:Excel 2010 -> 選擇全部的儲存格(直接按左上角) ->右鍵->儲存格格式->保護->鎖定不要勾選->確定
      • 選取內含公式的儲存格設定成要保護的屬性:如[方法一],然後->右鍵->儲存格格式->保護->鎖定要勾選->確定
      • 執行儲存格保護,上鎖:Excel 2010 -> 校閱 -> 保護工作表 ->輸入密碼(若怕忘了密碼也可以留空白不設定)->再次輸入密碼->確定



Part 1 詳述

[方法一] 適用:想用滑鼠快速選出來時

按法
Excel 2010 -> 常用 -> 編輯小項 -> 尋找與選取 ->公式-> Excel會把所有用公式的儲存格圈選起來
Excel 2010 -> (直接按F5也行) -> 特殊 ->公式-> Excel會把所有用公式的儲存格圈選起來


[方法二] 要寫簡單的 VBA 程式碼(給office用的巨集語言)

  • 但存檔時要存成xlsm。優點:可以快速複製給其他儲存格使用。
  • 打開Excel後,按ALT+F11打開VBA編輯器,在活頁簿下右鍵插入一個模組(才能寫Code),然後在右邊代碼框裡貼上下列代碼。

  • 選取想要判斷的儲存格(假設是D4)->點選Excel選單列的常用->樣式->設定格式化的條件->新增規則->使用公式來決定….->填入”=IsFormulaInCell(D4)=TRUE”–>格式–>選個字型顏色–>確定–>確定
  • DONE


[方法三] 用”宏表函數”(巨集函數)來判斷,沒有程式碼

  • 但存檔時要存成xlsm。缺點:步驟最複雜。
  • “宏表函數”–>早期低版本excel 4.0中使用的,現在已由VBA頂替它的功能,但還是能用。(話說目前excel 2010已經是excel 14.0了~)
  • Excel 2010 -> 公式 ->名稱管理員(CTRL+F3, Name Manager)->新增一個名稱叫做「是否內含公式」,它的”參照到(Reference)”內容請寫
  • 然後在一個任意的儲存格上寫下下列文字, (請完全照抄)
  • 最後就此儲存格就會有True or False回報
  • DONE
  • 備註1:工具->巨集->安全性->設置為低或中才可以
  • 備註2:
    GET.CELL函數的詳細用法及實例介紹
Excel中Get.Cell函數的功能就是獲取單元格的信息。
Get.Cell函數的語法如下介紹:
=Get.Cell(類型號,單元格引用)

  其中常用的類型號對應的含義如下介紹:範圍為1-66,也就是說Get.Cell函數可以返回一個單元格里66種信息。
  典型及常用的類型號及代表的意思有:
  6——以文本顯示單元格的公式
  13——單元格填充顏色編碼數字
  20——如果單元格所有或第一個字符為加粗,返回True
  21——如果單元格所有或第一個字符為斜體,返回True
  22——如果單元格所有或第一個字符為單底線,返回True
  23——如果單元格所有或第一個字符中間加了一條刪除線,返回True
  24——單元格第一個 的顏色編碼數字。
  63——單元格填充顏色(背景)編碼數字。
  64——單元格填充顏色(前景)編碼數字。

Get.Cell函數按照常規方法在單元格中輸入是沒有任何用處的,還會提示函數無效。
Get.Cell函數不能寫在公式裡,一般的使用時,都是寫在名稱(Name Manager)。
 比如要獲取A1單元格里的數據格式,結果想顯示在B1,則步驟如下:
  第一,任選一個單元格–>菜單中的插入—>名稱–>定義
  第二,在名稱稱輸入任意名稱(比如為hhh)
  第三,在引用位置上寫入=GET.CELL(7,Sheet1!A1)
  第四,點擊添加;
  第五,在B1單元格里輸入=hhh
  這樣就得到了最終的結果了。

2017年4月17日 星期一

書摘:聯盟世代 - 緊密相連世界的新工作模式




來推薦一本書

美國原版書名:The Alliance: Managing Talent In The Networked Age
中國版本書名:聯盟-互聯網時代的人才變革
台灣版本書名:聯盟世代-緊密相連世界的新工作模式
(感覺原版的外皮設計比較吸引人...)

雖說這篇是書摘,但是我根本沒讀過,我是用"聽"的:https://www.youtube.com/watch?v=JoQxXsYrKPM

聽完之後,對於雇傭關係,以前總覺得很不對勁的地方,想起來都比較順了 (例如:有同事離職,那到底要站在同事那邊,還是要站在主管那邊,立場很尷尬;每次遇到這種時刻,總是會有一段不知如何自處的時間)。

以下偷懶去找了逐字稿,我簡單分段做了提綱,也標出了我認為的重點 (改不了,還是習慣畫重點),如下:


公司不是家,而是球隊

當你把一個公司比喻成一個家的時候,你和你團隊的關係一定會變得很糟糕,為什麼呢,因為你家裡孩子再不好,你也不會把孩子開除了吧,你跟你兒子講,寶貝兒你挺棒的,但是你不太適合咱們家,要不然你去別的家看看,這不可能,所以你跟你的孩子無論他發生什麼樣的問題,你都應該包容他。當你把公司比喻成一個家的時候,公司的員工的期望就認為說既然是家,對吧,你最起碼不能隨意開除我 (註:明顯與現實不合,所以把公司比喻為家,真的是不適合)

公司應該比喻成什麼呢,公司應該比喻成一個球隊,為什麼是球隊,你看芝加哥公牛隊,當喬丹來芝加哥公牛隊來應聘的時候,他絕對不會講我簽一個終身合同吧,你能不能別開除我,不會。總之當你公司是一個球隊的時候,你發現這個球隊上正在打球的這5個人和底下坐著的人,有的是打完這場球就要退役的,有的人是剛剛簽過來的新秀,但是都不妨礙他們一塊兒玩命,為什麼呢,因為我們大家是一個聯盟。 

今天我給大家介紹的這本書,能夠幫我們解決,在管理公司過程當中最大的一個煩惱,就是怎麼樣讓員工真心實意地願意好好工作,這是一個特別難做到的事

而且很多人會講說培養人才是最不划算的一件事,因為一旦花很大的精力培養一個人才起來,這個人才就會離職,他一旦一創業,就會成為你最大的競爭對手,所以這成為了一個中國企業發展的怪局,就是中國的企業大部分不願意培養人才,他們都願意挖別人來,因此這就是中國企業普遍做不大的原因。為更大的市場考慮,要學習聯盟的這個概念。怎麼樣解決這種尷尬的局面呢?(補:讓我們繼續看下去)

如何在職場上實行聯盟

第一步:招聘 (招聘的時候把好關,讓員工知道來這兒是有目標的)

在招聘的時候,當一個人跑來找,你覺得這孩子不錯,打算要他,在你決定要他的時候,
你要問這樣一個問題,你說小張,這次到咱們公司打算幹幾年
小張可能有點愣,說,我打算幹一輩子
凡是打算幹一輩子怎麼回答他? OK,我們這裡不招要幹一輩子的人,想幹一輩子的人是想養老對嗎,所以你招一個人過來想在這兒一直養老下去,那不行。你要告訴他,你說小張,人生很漫長,對吧,咱們互相也不是很瞭解,你這是剛到我們公司來應聘,所以你對我們公司的情況也不太清楚,我希望你對你的人生能夠有一個規劃,如果能夠有一個規劃的話,你覺得這次最起碼在咱們公司能夠幹幾年,讓他想想看。
如果小張是一個有想法的人,他會想,四年吧,我這次我覺得無論怎麼樣,發生什麼事,我最起碼能夠幹四年,
OK,這算是有規劃了,好了。

第二個問題很重要,要接著問他,那四年以後,當你離開咱們公司的時候,你希望自己成為一個什麼樣的人?

各位你們說,一個年輕員工在一個公司裡邊工作了三年,四年,他最大的收穫是什麼,肯定不會是工資和獎金吧,對嗎,就是發的那點工資和獎金早就花光了,所以那點錢對於他來講只是養家餬口,絕對不是他最大的收穫。一個人在一個公司工作了四五年的時間,其實最大的收穫一定是他自己的成長,他成為了一個不一樣的人,他擁有了更多的社會資源,他擁有了更多的經驗,他擁有了更多的技能,他的價值觀得到了提升,這才是一個人在一個公司應該去追求的最大的收穫,對嗎,但是為什麼我們的員工,跟我們一談起來就總是說,這事有沒有錢,這事有沒有加班費,為什麼還不給我補貼?明明我們過來人都知道,那點錢對於一個人來講並不重要,但是我們的員工就總是盯著那麼點兒錢看,原因是什麼,很簡單,因為沒有人告訴他,他還應該有一個更大的目標

所以這時候你要問他說,當你四年以後離開咱們公司的時候,你希望自己成為一個什麼樣的人?

這個孩子可能會愣一下,他會認真地想一想。

我有一個師弟是麥肯錫的合夥人,他就說,麥肯錫的人力資源,招聘一個人的時候,一定要問這樣一個問題,當你離開麥肯錫的時候你下一家公司的目標是哪家公司,一定要問這個問題,凡是有目標,有理想的人,才會珍惜眼下的工作,好好地工作,OK,所以你問他四年以後,當你離開這個公司之後你希望自己成為一個什麼樣的人

這個問題能夠把員工點燃,什麼叫做把員工點燃

稻盛和夫是日本目前唯一活著的經營之聖,他把員工分成3類
第一類叫自燃型,像我跟羅胖這種叫自燃型,就是沒事幹劃個火柴燒著了,我們就今天搞個這項目,明天搞個那專案,覺得特別帶勁,這是自燃型的人,不用你管他,他會自己玩命幹,
第二種叫點燃型,你給他做做工作,談談心,然後劃根火柴燒他一下,他燒著了
第三種叫阻燃型,你拿火焰噴射器噴他,噴完還是那樣,陶瓷做的,叫做阻燃型,

我們作為一個打工的人,老闆只給我8000塊,我能不能幹2萬塊錢的活,然後老闆給我2萬塊錢,我能不能幹10萬塊錢的活,你的價值不取決於老闆給了你多少錢,你的價值取決於你創造了多少價值,你的能力有沒有得到提升,就是我們都知道全世界的教育,不管是蒙特梭利也好,薩提亞也好,各種教育的流派,它的核心都是一件事,叫做塑造一個人獨立完整的自尊體系,就是一個人的自尊是來自於內在的,他的尊嚴感不來自於別人怎麼看我,不來自於跟別人怎麼比較,不來自於別人怎麼對待我,我該做什麼就做什麼,所以當一個人有了獨立完整的自尊體系的時候,他才會去做自己應該做的事,而不是因為別人怎麼對我。所以第二個問題非常重要,把員工點燃,你要問他,你說四年以後,當你離開咱們公司的時候,你希望自己成為一個什麼樣的人?

這孩子想想,4年以後當我離開的時候,我希望我能夠成為一個店長,您覺得行嗎,
很好,你希望成為一個店長,那麼在這4年時間裡邊,我會努力地培養你,儘量地讓你成為一個店長,對嗎,在這個過程當中,我可能會鍛鍊你,可能會安排你出差,安排你培訓,有時候還會加班,這不是一件容易的事

很多公司在做招聘的時候,最常犯的一個錯誤是什麼呢,就是我們在招聘的時候,喜歡給員工把公司描述的特別好,說你看,咱們公司工作其實沒那麼累,咱們公司還有五險一金呢,咱們公司中午午飯都報銷,免費的自助餐特別好,咱們公司男女比例合適,你來了還容易找到對象,ok,當你用這種把公司描述的特別好的方法,來吸引員工加入的時候,請問你找來的是一群什麼人,對嗎,他們是衝著北京戶口來的,他們是衝著有免費午餐來的,他們是衝著說能找著對象來的,他們衝著壓力沒那麼大來的,各位,這群人是來玩的,這群人是來休閒的。

所以我們在招聘的時候,這是馬雲當年講過的一個觀點,我特別認同,他說我們在招聘的時候,一定要對員工壞一點。你要告訴他這個公司不容易幹,這公司事特別難做,而且有時候會遇到屈辱,別人還會誤解你,咱們公司加班是常事,但是我們要一塊兒改變世界,你願意來參加嗎,這時候你招來的人,是那群想跟你一塊兒來改變世界的人,而不是那個衝著免費午餐來的人,所以在這個地方,當這個員工說他想要成為店長的時候,你不要那麼輕易地許諾他,沒問題,我一定讓你當店長,不是(補:不是這麼簡單)。這是一個很困難的過程,這個過程當中我會鍛鍊你,會給你機會,會讓你出差,會讓你加班,然後會讓你培訓,但是我會盡我所能幫助你,達成作為一個店長所需要掌握的知識,可以吧,ok,這是我對你承諾。那麼你要為我做什麼,不是說你想當店長就能當店長,對嗎,你要為我做什麼,好,你現在進到這個店,你要幫我把這個店的業績做起來,你要幫我把這個店的銷售額做高,你要讓這個店的客戶服務滿意度提高,ok,這時候我們雙方達成一個協議,我們簽一紙協定,你注意,這個協議沒有法律效力。為什麼要簽一個沒有法律效力的協議呢?就是這個協定上就記載了員工對此公司的承諾,以及公司對員工的承諾,然後簽個約,這個沒有法律效力,什麼意思呢,你說一個員工他卯足了勁,說我想好好幹,然後進來幹,他有沒有可能幹一干又突然鬆勁了呢,有沒有這種可能性,很多吧,因為很多年輕人他就是這樣的,他的熱情勁過了,他又會慢慢的有點滑坡,有點鬆勁,這是很正常的一件事。然後這時候你「不要」把那個協議拿出來說,你看,你當年跟我怎麼寫的,你對得起我嗎,當你用這個協議來威脅他的時候,你又把他從主動型人格變成了被動型人格這張協定的目的僅僅是起到一個作用,就是備忘,咱倆都記住,咱們互相之間有承諾,好,那麼好好幹吧。

這時候請問,當你在這4年時間裡邊,讓這個員工加班,然後讓這個員工出差,讓這個員工去做一些他覺得壓力很大的事,他會覺得你在整他嗎,他會不會覺得抱怨呢,各位,他知道老闆這是在幹嗎,這是在鍛鍊我。老闆在幫助我,努力地實現成為一個店長的途徑。那好,員工如果遇到了鬆懈,過來提醒一下,還記得咱們的目標嗎,咱們的目標是要做店長哦,加油,夠了,然後讓這個員工不斷地努力,去把這份工作幹好。

這就是聯盟的第一步,就是我們首先得在招聘的時候跟員工把好關,要讓員工知道,你來這兒這4年是有目標的。

在這個地方我特別希望提到另外一本書,叫《商業的本質》,傑克‧韋爾奇老先生寫的,其中有一點我印象特別深,傑克韋‧爾奇說,你一定要對員工的要求足夠的嚴格,為什麼呢,因為這是對員工負責,員工一天24小時,其中還有十幾個小時在吃飯睡覺,所以他一天能夠用來投資的時間,就只有八九個小時。員工把這八九個小時投資在了你身上,員工來這兒打工,各位請注意,他不是來這兒領工資,他是來這兒投資的,他把他的人生的八九個小時,每天投資給這家公司,你要為投資人負責,你要為這個員工負責。你要讓這個員工能夠得到他的投資應得的回報。你要讓他知道說,這4年時間裡邊,你每天投資八九個小時在咱們公司,你要有所回報,你的目標要搞清楚,對吧,所以這時候當員工找到一個目標,說我的目標是要成為一個店長的時候,他不會覺得那些加班是浪費時間。

喬丹和他的老闆有沒有目標,喬丹說,我的目標是成為史上最偉大的球員,很好,老闆說那這樣,你給我得兩個總冠軍,我培養你成為史上最偉大的球員,好了,玩命幹,然後喬丹就玩命地打球,然後這個老闆開開心心地捧他,最後大家達到一個雙贏的結局,對嗎,這是我們說的關於聯盟的第一步。

第二步:認真培養員工

我們講領導力的課程有一個非常基礎的知識,就是什麼叫管理者?管理者的定義就是,管理者是通過別人來完成工作的人,這就是管理者。只要你是一個管理者,你身上永遠都有著一個最重要的責任是什麼呢,就是培養他人的成長,所以在這4年時間裡邊,你的任務就是培養這個人成長,努力地讓他成為他所要達到的那個目標。


第三步:任期截止前半年的談話

4年的時間一晃就過去了,到了3年半的時候你要跟他再談話了。
你說小張,你看時間過得這麼快,轉眼就3年半了,怎麼樣,找著下家了嗎,你不是說好了嗎,4年要走,所以你要問他找到下家了沒有?

3-1:續約。(談下一個任期的目標)

小張說沒有,沒找到下家,我不想走,咱們公司挺好的,我覺得還想接著幹呢,不想走了。
不想走了怎麼辦呢,這時候你要嚇唬他一下,你說世界那麼大,你不想去看看嗎?
他說我不去。
這時候問他,那麼好,這次打算幹幾年,ok,那麼這次的目標是什麼呢,這就叫任期制,一個任期接著一個任期地談下去,讓這個員工得到不斷地發展。一個年輕人身上所蘊含的潛力,是非常巨大的,因此任期制讓他,說他能夠在兩年之內就做到店長,好了,可以提前結束任期。


3-2:跳槽。(推薦信、接班人培養)

另外一種不太順利的狀況是什麼呢,這個員工說,老闆,我找著下家了。
你不是說好了4年讓人家走嗎?所以這時候大氣一點,不要扣人家的什麼保險之類的,好了,很遺憾,你真的要走了,不過這也說明咱們這4年的培養是有效的,最起碼給你店長的待遇了吧,對吧,那沒問題,很好,祝賀你,這樣,我會給你寫一封推薦信,我會親筆來寫這封信,我要把你所有的優點全部都寫出來,要讓他們知道咱們的人有多麼的優秀,去了好好幹,別給咱們丟人,隨時有任何問題,可以回咱們公司聊天,咱們公司是你的大本營,咱們大家永遠都是朋友,還剩半年多的時間,拜託你一件事,幫我培養一個接班人,半年時間讓他培養一個接班人,我覺得這個時間是充裕的,讓他培養接班人。
這孩子會不會幫你培養,一定會,對嗎?

ok,好了,這時候還有一件非常重要的事,說出了這個推薦信之外,我還要通知你一下,就是你可以加入咱們公司的前員工聯盟了,咱們公司有個前員工俱樂部,享受咱們的前員工福利。

什麼叫前員工福利,
比如說我們公司的前員工,可以給我們公司介紹新人加入,獵頭費,他只要介紹一個人加入,我們給他一筆獵頭費,這算是一個前員工福利。我們公司的前員工,可以做我們公司的神秘訪客,因為他對我們公司的業務非常瞭解,他可以假扮神秘訪客,然後來提升我們公司的效率,我們公司的前員工,可以享受我們的員工內購價格,可以吧?我們公司如果有大的Party,有那種什麼聚會,前員工可以來參加。假如咱們公司談下來了一個學校,可以讓孩子們上幼稚園,小學,我們的前員工也可以享受這個福利。

可以嗎,這都是邊際成本很低的事,你讓前員工加入進來,讓前員工感受到他並沒有離開這個公司,ok,這個前員工聯盟就會具有凝聚力,
在這裡邊做得最好的公司應該算是寶潔,寶潔的前員工聯盟,他們叫做寶潔商學院,你知道寶潔的人見了面互相怎麼說話嗎,他們問說:你是哪一級的,他們互相問你是哪一級的,各位,把寶潔當做是一個學校。我認識那麼多從寶潔離職的人,因為你知道寶潔的待遇不算特別好的,所以寶潔的離職率很高,但是寶潔的培養很好,所以寶潔的人出來都幹了很好的工作,我認識那麼多從寶潔離職的人,幾乎沒有聽過一個人跟我抱怨寶潔,沒有一個人告訴我說寶潔是一個爛公司,沒有,所有的人還跟我講說,你還要買寶潔的產品,它那洗髮水就是好等等,還在給我做行銷呢,寶潔的前員工聯盟有25萬人。

中國也有很多做得不錯的企業,就是比如說阿里,馬雲有一句名言,他說一天是阿里的人,就是終身是阿里的人,我很欣賞這句話,就是馬雲在他們的總部,有一個特別大的大廳,據說能夠容納上萬人的一個大廳。然後馬雲每年會做一個前員工聚會,在這個地方,能夠被邀請回來,到阿里巴巴總部進行前員工聚會的人,都會覺得特別的光榮,因為馬雲會親自出來跟他們演講,然後大家吃飯,聊天,然後他們把自己叫做阿里系,就是我們是阿里系,我們大家在一起,我們願意投資互相的公司,因為我們知道大家的價值觀,知道他們做事很拼,這就變成了一個特別大的資源池。

當你能夠這樣去對待你的這個前員工的時候,請問,有一個非常重要的事,對現任員工有沒有影響,對現任員工是好的影響,還是壞的影響?
各位你們可以想一想,如果你們站在員工的角度思考一下,看到老闆是這樣對待一個離開的人的,ok,那麼老闆是一個什麼樣的人,對嗎,老闆的格局足夠大,老闆是真對我們好,所以老闆之前說的話我覺得是可信的,因此咱們現在就好好幹就行了,將來有一天,咱們也可以跟老闆成為朋友,咱們也可以成為前員工聯盟當中的一位

如果你幹得不好,請注意,不是所有人都能夠進到前員工聯盟的,如果你讓我完全失望,你根本沒有達成我們之前設定的這個目標,然後你整天根本不在意你對我的承諾,那麼好,我要告訴你,我給你沒有推薦信,你知道在國外的公司沒有推薦信是一件非常嚴重的事,而且這一點在中國也會變得越來越嚴重,為什麼呢,就是隨著中國的創業者越來越多,我相信中國的企業管理會不斷的升級
招聘的時候是最重要的一步,所以在國外,你拿了推薦信,你拿了簡歷過來,人力資源部的人不光會是給你那個寫推薦信的人打電話,問這是真的假的,他甚至會給你那個公司打電話,然後隨機的找別人問這個人在那兒表現到底怎麼樣,所以一定要做你的背景調查,我這兩天剛從日本回來,日本人就講說,不能理解在中國會有人騙人,為什麼呢,他們覺得在日本騙人是一個非常嚴重的事,一旦你在公司裡騙了老闆,你在公司裡邊兒湊合事,然後讓老闆把你開了,這是特別嚴重的事,你這輩子都完了,為什麼,因為每一個人僱人的時候,都會去上一個老闆那兒打聽,各位,中國一定會形成這樣的商業氛圍,慢慢地人們就要重視他在僱主這邊所獲得的口碑,

所以你要告訴他說不是所有人都能夠進入前員工聯盟的,對嗎?
表現得好才能夠進入這個聯盟,所以這些現任員工也會拚命地好好幹活
那麼同樣的道理請問,這種離開的員工他會不會恨你,他會不會說你壞話呢?

對嗎,當你邀請他加入前員工聯盟還給他這麼多福利以後,他會不會走到哪也說,哎,這家公司是一個不錯的公司,對嗎?各位你們知道,對你們的公司口碑影響最大的人是什麼人,不是客戶,客戶說你的公司不好,別人還有可能不信,對你公司口碑影響最大的人是你的前員工,你的員工說那個公司很亂,那個公司根本不行,那個公司坑人的,別人一聽就信,對嗎,所以怎麼樣讓你離職的員工,依然能夠說你的好話,這是一件非常重要的事,這是你的口碑管理,那麼同樣的情況,這個離職的員工,有沒有可能給你繼續帶來生意呢,他有沒有可能,因為他對你的業務非常熟悉,他出去以後他認識的人更多了,所以他很有可能成為你最大的新的業務員。

讓員工覺得你是真的替他們的發展在著想,各位,這一點是管理上非常重要的一點精髓。我每次講完領導力以後,就會有很多的學生找我問,說老師你看這個案例,這個孩子怎麼不努力,你看這個,我給他提的什麼要求,他怎麼做不到。他老希望對員工提出特別多的要求,讓員工能夠做得到。這時候我就經常會發現一個根本性的問題,就是你有沒有考慮過這些事對這個員工的好處,你有沒有考慮過這個員工在你們公司的發展,還是你只想讓他老老實實的當工具,我們大量的企業都希望員工不要走,都希望員工老老實實地待在一個地方不動,這時候顯得我們公司人力資源的成本就會下降,然後我們公司穩定。各位,你只能留住庸才

矽谷產生了那麼多這麼棒的公司,但是矽谷的人員流動性非常高,基本上一個人幹兩三年全都跑掉了。什麼是矽谷的秘訣,各位,他說矽谷的秘訣就是,每一個員工都有著創始人心態,就是不管你要不要創業,你得有創始人心態,你得覺得我做這件事,我是在創造一個事情,我不是為了養家餬口,坐在這兒混日子的。

所以打造前員工聯盟,對於現任員工和已經離職的員工來講,都是非常重要的一件事,而且可以大幅度地提高你公司工作的士氣,因為大家知道老闆是玩兒真的,老闆不是來假的,所以這是第二種情況,就是員工離職,他要去別的公司工作這種情況。

3-3:員工創業。(孵化員工去創業)

第三種情況,這個員工說老闆,我現在決定了,我要創業,我不打算再打工了,我覺得創業挺有意思的。
這個時候你要問他,需不需要幫助,當然前提是你認為這個員工可以,能不能投資,讓我入一股,我會幫你把它做得更好。
這就是一個創業平臺的搭建,這時候你會發現,當一個老闆的格局是希望員工成功的時候,員工才會不斷的冒出來。

我知道很多人也都想投資,想做點一級市場,想做點股權投資什麼的,你們知道投資給什麼樣的人最靠譜嗎?投資給你的同事最靠譜,因為這些人你是知道他們是怎麼幹活的,你知道他們工作的狀態,你知道他們的思維模式,你跟他們開過會,這時候你才能夠相信他能夠把這事兒做好所以,孵化自己的員工去創業,這是一件最靠譜的方法,所以這時候你可以投資給他跟他形成聯盟的關係

所以一個員工離職無非這麼幾種情況,那4年任期到的時候
無非是接著幹,離職,創業,或者他表現的特別糟糕,被你開除掉不再續約了,那好,沒有前員工聯盟的這些獎勵,然後你不能夠進入我們的這個福利體系。這就是《聯盟》這本書的最核心的精髓所在。


目標族群

有人會問說,那所有的人都這樣對待,那我一天到晚得忙死,我手下管那麼多人,對吧,不是所有的人都要這樣對待的,基本上在這本書裡邊把員工分成了3類:
第一類員工就是合夥人,就是股東,創始的這些人,這些你不用管他,因為他們拿到錢進來的,所以他們就好好幹就ok了。
第二類人是初級員工,初級員工就比如說麥當勞收款的,然後後廚炸雞翅的,這些初級員工你只需要給他足夠的培訓和考核,因為他所做的工作是簡單化的。
我們聯盟這種方法要管理的最主要的物件是誰呢,就是核心的中堅力量
我們的中層人員,當你把這些核心的中層力量管理好的時候,你發現你們公司就會不斷地孵化,不斷地變大。

這就是我們所說的聯盟的概念,所以我希望大家能夠學習騰訊,阿里和華為這樣的公司,去下功夫打造聯盟的這個體系。

然後在考慮公司的發展的時候,不要忘記了員工的發展,就是一定要讓員工知道說,你的目標和我的目標並不矛盾,咱們的目標是一致的,我要得總冠軍,你要成為最偉大的球員。你在咱們公司工作,最大的收穫不是來自於給你的工資,獎金。所以你在這兒最大的收穫,成長,而是來自於你成為一個靠譜的人,你成為了一個可以去創業的人,甚至我可以成為你的天使投資。

這本書對我和我周圍的人的影響都非常的大,在我們讀書會,我跟我的員工們就講,我說如果你們想掙快錢的話,你在咱們讀書會掙的錢,可能還不如出去開UBER掙得多,你玩命開、兩個手機開,一個月掙兩三萬都是有的,咱們這只能給到八千,1萬。那要不要去開UBER呢,這是你自己的選擇,對嗎?但是在這兒如果幹4年下來的話,我希望你能夠成為我們的創始人之一,願不願意跟我們一塊用讀書的方法來改變這個世界?這時候你發現,員工們願意幹這個事的那個激情是發自內心的,他們加班不需要我要求他們加班,他們覺得這事必須得加班把它幹完,他會樂於享受這件事。

當然需要聯盟的説明,讓你知道公司的目標和個人的目標,是可以達成一致的。


另外一本書叫做《重新定義公司》
這本書很厚,這是 Google 的CEO寫的書,然後在這本書裡邊就明確地提到 Google 的人事管理方法就用的是聯盟的思路。他們就是用這樣的方法來管理他們的員工,這是施密特在書裡邊寫到的。

然後《重新定義公司》裡邊有一個特別好的點,就是 Google 認為招聘的時候一定要招創意精英,什麼叫創意精英,創意精英除了很聰明,創意精英有一個特別重要的特色:就是創業精英不會跟別人分辨說,這事歸你管還是歸我管;這事只要是公司的事咱就幹,我不用劃分。比如說這是你的事,我替你幹,你也不會來找我,說你怎麼替我幹活呢,你是不是不給我面子,凡是跟我說面子這事的人,你就不是創意精英。創意精英沒有情緒,他每天不斷地努力,就是我怎麼把事幹得更好,大家努力往前走就好,這是創意精英的特點。

所以你在招聘的時候多下點功夫,你會發現你在後期管理的時候就要輕鬆很多,並且這些人很容易跟你形成聯盟的關係,不要去招那些一天到晚是非多的要命的庸才。


第三本書就是我講的《商業的本質》
傑克‧韋爾奇在退休以後寫的這本書。在這本書裡邊最給我印象深刻的東西就是:他說員工是把他的人生託付給了你,員工是拿他的時間在你這兒投資,所以你要對他的投資回報率要有保證,因此你對他的要求要足夠的嚴格。

如果一個領導有著足夠的領導力的話,員工的執行力就自然會上升。員工的執行力不夠,是因為領導的領導力有問題,我舉一個例子你就明白了,日本人給員工佈置工作的時候,至少要說5遍:
(1,大略講)第一遍,說渡邊君,麻煩你幫我做一件什麼什麼事,渡邊君說,是,轉身要走
(2,確認對方收到)別著急,麻煩你重複一遍,你看,兩遍了,重複一遍,您是讓我做一個什麼什麼事,好,我可以走了嗎,
(3,確認對方理解目的)別著急,我問你,你覺得我讓你做這件事的目的是什麼,做這事的目的大概是為了咱們這次能夠把這個節目錄好,對嗎,把目的講一遍,明白了,
(4,確認對方理解處理原則)別著急,我再問你,做這個事會不會出現意外,出現什麼情況你向我彙報,出現什麼情況你自己決定,這個事大概有這麼幾種情況,那如果出現這種情況我向你彙報,如果出現這種情況我自己做決定,你看行嗎,4遍了,這時我真的要走了
(5,逼出對方的創意)別著急,最後再問你一次,如果讓你自己做這件事,你有什麼自己的想法和建議嗎,如果讓我自己做的話,我的想法是我們可以再怎麼怎麼樣,

5遍講完,各位,這時候這個渡邊君做回來的事,有沒有可能接近於你想要的? 有嗎,有執行力了嘛,對嗎,這時候他做回來的事,就跟你想要佈置的事就差不多了,這叫執行力的提升。

我們不要一天到晚老希望改變別人,對嗎,要想把公司做好,最重要的一件事是改變自己,你得自己能夠提升自己的領導力,提升你的溝通能力,提升你佈置工作的能力,在領導力裡邊兒,這每一個都有工具,它一定是第一步,第二步,第三步,凡是不給你工具的領導力就是耍流氓,大量的領導力告訴你說,你的感覺,你的氣質,那都不重要,重要的是工具,魔鬼藏在細節裡你一定要告訴他,佈置工作的時候,一,二,三,表揚人一,二,三,批評人一,二,三,凡事皆有工具,這就是西方人的方法。

2017年1月12日 星期四

軟體品質指標(Indexes of Software Quality)

quality¿



先寫我的心得:


軟體開發過程中,程式碼是一直在變化的,所以它是一個時變系統(Time Variant),所以無法找到一個簡易的線性方法來控制它的指標收斂。簡而言之,就是不同時期要用不同的方法。

開發初期or建立測項的初期:

基本功能測試(Functional Testing)

  • [Index1] 基本功能覆蓋率(總測試案例數/總基本功能數):
    對於QA這個角色的立場來說,我認為其最低要求應該是基本功能覆蓋率=100%,這代表著開發者努力設計的所有基本功能(可以用API來當數量)都至少被測試過一次。但實際上單一個測試案例常常會覆蓋到幾個功能,所以基本功能覆蓋率會低於100%。而且另外一個缺點是這裡只考慮單一功能,沒考慮到組合後的變化。
  • [Index2] 程式碼覆蓋率(測項跑過的程式碼行數/總程式碼行數):
    這時候可以參考程式碼覆蓋率,這個值愈高,代表程式碼的「結構」有愈多部分經過檢驗。 但是這個方式並不能對程式碼的「狀態」檢驗過,畢竟在程式碼中的變數在不同的狀態所組合出來的變化是可能引入各式各樣的問題。

整合測試(Integration Testing)

為了考量不同的狀態所組合出來的變化,需要引入不同面向的思考,考慮各種不同使用情境來進行不同程度的整合測試,例如:
  1. 多組態測試(Configuration Testing):不同chipset、不同記憶體高低配置、不同零件的組成
  2. 效能測試(Performance Testing):除了一般的效能檢驗,其中還可以包括多使用者負載下的效能檢驗
  3. 壓力測試(Stress Testing):非預期或高CPU Loading、注意記憶體洩漏、多Process下的情況
  4. 長時間測試(Long-Haul Testing):與壓力測試不同,只是在長時間不關機下有無時間的因素會引入的問題,例如某些變數累積量超過預期、特定時間點才會引發的問題
  5. 基於真實使用者資訊所進行的測試(Scenario Testing/Validation Testing)
  6. 權限測試(Privilege Testing):考慮各種安全性因素 g.邊界值測試(Boundary Test)
  7. 正向測試與反向測試
  8. 錯誤處理穩定性測試(Force Error Test):使用故障注入(Fault injection) 的方式,故意去改變一些內部的數值,確認軟體是否能處理錯誤
舉例:若某軟體專案需設計 100 個軟體模組(或元件、class) ,那至少需要 101 個測試案例。其中 100 個是以 class 為單元的單元測試案例,以及 1 個整合後的軟體系統測試案例。但是這樣還是遠遠不足的(也許只達到所有可能性的30%而已)。
所以這個階段的指標應該是
  • [Index3-1] 總整合測試案例數
    數目愈多愈好。
或是
  • [Index3-2] 整合測試佔比(總整合測試案例數/總測試案例數)
    一個經驗參考數值是15%~20%,缺點是毫無理論基礎(呵呵…)。


程式碼穩定期、維護期:

  • [Index4] 測試案例執行率(測試案例總執行數/總測試案例數):來代表測試檢驗工作有無做完整。
  • [Index5] 測試案例通過率(總通過測試案例數/總測試案例數?????):假設上述面向都被好好考慮過了(測
    試案例的完整度很高了),並產出了某個數量的測試案例,那麼就愈來愈可以用來代表軟體品質。
  • [Index6] 近期程式碼動盪值(Code Turmoil)或程式碼翻動量(Code Churn),即變動的程式碼行數(loc: lines of code):引用文章用的風險指標之一
  • [Index7] 近期新發現的問題數:引用文章用的風險指標之一
  • [Index8] 仍未被解決的問題數:引用文章用的風險指標之一
  • 註:
    • P0:致命的 (fatal bug),出貨時一個也不能有
    • P1:嚴重的  (critical bug)
    • P2:一般的 (major/normal bug)
    • P3:次要的 (minor bug)

結論:

綜合以上,測試案例的完整度才是軟體品質管理的適當指標(愈完整則軟體品質愈易被管理,換句話說也就是品質愈沒問題),但實在它是太難度量,所以只能依賴上述那些指標來綜合評估。
引用文章(在下方)用的風險指標算是另闢蹊徑,滿實際可行,且不用花太多心思去收集就可以得到的數據。





引用文章出自 http://www.qa-knowhow.com/?p=1658圖表請到原站觀看

到底目前軟體品質的狀況如何? 軟體品質指標


這篇文章主要說明”軟體品質指標”的一些應用。
軟體開發的過程中,是不是有什麼軟體品質指標可以讓我們知道目前軟體品質的狀態? 甚至用來決定是不是可以到了出貨的品質。這也是 QA team 的挑戰。 因為程式大部分都不是 QA 完成的,但是最終需要對於軟體品質狀態提供一些專業的分析。
定性 vs 定量
要建立軟體品質指標,又分為定性與定量。
定量的資料比較客觀例如:
Number of submitted defects
Number of rejected defects
Number of known issue
Number of P1/P2 cases
Line of Code changes
….
定性的資料可能有些主觀成分,例如:
Uncertain Technology
Cross team collaboration
Legacy code integration
Customer requirement changes
….
這些都會對於整體的軟體品質直接或是間接影響。
因此如果要訂定軟體品質指標,筆者建議,依據專案要達成目標的屬性,針對該目標延伸相關的指標。 舉例來說,這次專案的主軸是 — 根據上一版客戶需求做修改。因此,這次品體品質指標可以專注在於滿足客戶需求的 cases 軟體品質並非追求零瑕疵,而是追求在當下相對穩定,符合客戶需求的品質。 因此出貨時,我們主要需要掌握的是 “風險”。 到底有哪些是已知的風險 (如雷達圖)或是未知的風險我們需要”共同”承擔。
品質是大家一起的責任而非品管部門
到底有沒有一個計分指標,可以客觀的說明整體專案的品質? 沒有 !
但是這邊筆者建議一種方式,可以建立起這樣品管指標的方法。
風險分析雷達圖
這邊筆者建議另外一種方式,為品管風險分析雷達圖。 也就是說在特定的時間點時,目前軟體的品質風險為何?
可以將軟體品管的風險分為五大類 (讀者可自行調整,新增或是修改)
Code Turmoil : 程式碼修改的狀態。如果要快出貨但是還是有大量的程式碼修改,那麼品質風險就相對會提高。
Test complete Rate: 測試個案完成率。最後一個月快要出貨時,但是有大量的測試個案未完成,也表示品質有一些未知的風險。
Test Success Rate: 測試個案成功率。如果有大量的測試個案測試結果都是失敗,也表示品質風險提高。
Total Open Defect: 目前尚未解決的Defects。如果有很多都是 P1/P2 的 defects,也是一個客觀的品質風險。
Defect Found this Week: 這星期新發現的 defects。如果要出貨前夕,還是有大量新的問題被找到,那麼品質風險也相對較高。
這樣的圖如下所示。每一個類別越接近 6分,表示該項目品質風險越高。
例如這個圖表示,現階段有大量的程式碼異動,而且有許多新的問題在這個星期被找到。
Quality Risk Metrics
如果將這五大類別分數加總,就會得到一個整體的品質指標。品質風險最高為 6 x 6 = 36
隨著時間經過,就可以追蹤整體品質指標的狀況。例如這個例子,從一開始高風險 23 一直到最後風險降低為 6。要強調的是,我們不是為指標而工作。這只是方便整體團隊瞭解品質的狀態一個簡便的方式。最終軟體的品質還是以達到客戶與市場的目標為最終目標。而非一昧地追求這個數字。
Quality Risk Metrics over time
那麼要如何將這五大類產生出 0~6分的指標呢? 首先,要定義每一類別 1~5分的標準,舉例如下:讀者可以依據實際專案的狀況作調整。
RD 的工作: Code changes, Defect Found This week, Total Open defects如果這幾項很高,表示接下來的一個星期 RD 工作量會比較大。
QA 的工作: Test success rate , test complete rate,這兩項表示 QA 接下來的工作量。如果完成度很低、測試個案失敗很多,表示專案接下來會有比較多的QA工作要完成。
Quality Rating
小結
軟體品管有沒有一個指標可以代表品質? 沒有!
軟體品管主要在於掌握已知與未知的風險,最終出貨與否還是要客觀的評估市場與客戶對於產品品質的認知與接受度
如果真的要將品質指標量化,這篇文章建議一個雷達圖的方式,可以將軟體品質分為六大類,根據每一類定義 1~6的品質指標,最後加總。
最後,軟體品質是大家的責任,並非一個指標或是一個功能團隊所決定!

2017年1月11日 星期三

Capriccio怎麼發音

 
KAKA_Play_Ball


朋友問我Capriccio怎麼發音,我以前都把它當作英文唸,但是想想應該不正確,所以特地找了一下: 


所以...我決定唸做:卡不理球。
 (走白居易路線:好的作品應是老嫗能解)



補充各種卡球:

頁首那張是(男神)卡卡Play球;緊接著看(女神)卡卡Play球
LadyGAGA_Play_Ball1 LadyGAGA_Play_Ball2


馬桶卡球

籃球卡球

鹿卡球

巴西卡囚(囚犯逃獄卡在牆上)
巴西卡囚

卡達大戰阿聯酋(球衣上的廣告)
卡達大戰阿聯酋



最後,
世界上居然有一種運動就叫做卡卡球,維基百科有記載:https://en.wikipedia.org/wiki/Ga-ga