2017-10-18

ORID 肉搏戰應用 - 影片


今天 引導實踐 工作坊
我擔任影片組的引導者
挑了很久
選擇了以下兩部當作今天的材料

放手才能讓他長大



鳳梨的故事


目標

讓大家反思 該用什麼方式教育小孩

流程

O : Vedio 1 (3 mins) 
R : Vedio 1 (3 mins)
O : Vedio 2 (3 mins)
R : Vedio 2 (3 mins)
I  : (8 mins)
D : (8 mins)

問題

[O]
影片的角色有誰?
影片的情節是?

[R]
你從哪一個畫面開始有了情緒?

[I]
影片想要表達的涵義是?
你有認同的地方嗎?
你有不認同的地方嗎?
你偏好哪一種方式呢?

[D]
回到現實面, 身為父母, 你會怎麼做?
如果你要領導一個團隊, 你會怎麼做?

我學到了

1. 一定要開場, 要"聚焦" 
     明確告知目標, 目的, 等下的流程

2. O, R 要快 ; I, D 要慢

3. 先想好具體產出的D是什麼? 再回推 I, R, O

4. 一定要想辦法收斂, 但不一定要有共識 (對話深入就是一種收斂)

5. O要廣收資料, 但如果進去的是豆腐, 那出來的就是豆腐渣!
    如果過程中發現了無效的討論及產出 那就重來吧

6. 過去我都把多組I放在一起討論 但其實可以分開討論
     I1 -> D1
     I2 -> D2
     I3 -> D3

7. 卡片內容很重要, 我應該要要求參與者把內容寫清楚, 這樣才能讓團隊理解這張卡要表達什麼? (這點我真的要反省, 讓團隊寫太多 "單字")

8. 引導者除了設計流程, 也要關注內容

我的反思

1. 開場要聚焦
2. O可以帶領團員讀故事
3. 從R的時候開始寫便利貼, 但要多點內容
4. I, D 很明顯討論度降低了, 也發生了幾次團員透過笑話方式離題, 需要引導回來,以及題目要夠精準
5. 不用討論職場, 家庭教育才是這兩部影片的重點

2017-10-03

[Unit Test][Tips] How to break the "define" in PHP

新團隊是用PHP開發的
所以我剛到這支團隊 第一個任務就是將Unit Test的觀念帶進來

可是PHP 我不熟
沒關係 Unit Test 的觀念都大同小異

" 偷 天 換 日 "

但我今天卡到一個難關
我們的 Production Code 很喜歡使用 static function 及 define
因此在這種情況下 怎麼讓 Production Code 變成 testable呢?

Production Code

原始判斷用了 define
而且在PHP中 define 還不能被替換掉
試了 Mock 等方法都沒效
而且 static function 找不到地方Dependency Injection
所以嘗試在參數上動手腳
希望在不影響原有行為下 能夠讓 Production Code 可以被測試


我在參數列當中加了一個參數 $fromOutside
預設值是null
意思是如果 caller 沒有給這個參數 預設是 null
如果是 null 我就assign define "DEFINESAMPLE" 給它

See ~

是不是跟 Production Code 的行為一致了


那 testing code 怎麼寫呢?

我們想怎麼換就怎麼換了

OK Let's write the unit test in PHP !
GO GO GO !