2015-09-18

[遊記] 2015.09.05 東京自我修行的旅程

有天突然天上掉下一個驚喜 讓我不得不出國一趟
最簡單的方式就是去之前原本就打算要去的東京了
所以收到驚喜的那天中午 我就已經訂好廉航跟旅館了XD
(不得不佩服我的行動力阿)

總之 因為時間很趕 加上老婆要上班 護照又過期
所以就自己踏上了這段旅程囉
這邊就記錄一下 東京行的點點滴滴

[心得]

  • 安排行程可以用旅行酒吧 - 他可以讓我直接copy別人做好的行程點 變成自己的行程點
  • JR PASS超划算 我這次買關東JR PASS 到哪邊基本上都靠JR 去一趟輕井澤搭新幹線救回本了
  • 乘換案內APP - 怎麼搭車換車 看它就對了
  • 日本人都不跟我講英文
  • 自己的水波爐自己扛

推著水波爐+大行李真不是普通的累欸
下次我絕對要寄到機場!!!


好心的妹妹教我怎麼儲值SUICA

乘換案內可以方便查詢要搭哪班車
搭配車站的月台指示 其實東京交通沒有這麼難~



[住宿]
Nishitetsu Inn Kamata (西鐵蒲田旅館)

打開Booking.com 搜尋三星最便宜的旅館
就找到了這間

雖然位於蒲田 , 離東京車站約20分鐘的火車車程
但對於動輒通勤1小時半的我根本不是問題啊

房間雖小 但服務, 衛生及早餐都很不錯喔
下午3:00~晚上10:00都還免費提供飲料可以喝

<單人房 夠睡就好>

<廁所跟床是開放式的>

<早餐很好吃>

旅館附近是一般的商店街, 離JR車站也只不過5分鐘腳程
如果你是羽田進出的話 還蠻推薦這間旅館的 (雖然我是成田進出XD)

<商店街>

<日本人還蠻愛開這種車的 很常見>


nine hours Narita Airport (成田機場9小時酒店)
因為最後一天是搭早班7點50的飛機
所以最後一晚是跑到成田機場住膠囊旅館

價錢上以膠囊來說偏貴
但還蠻值得的 睡在機場蠻安心的 不怕搭不上飛機

<整理行李必須在這裡> 

<我住在上層> 


<空間還蠻大的 可以坐起來>

只不過9 Hours就是只提供睡覺而已
你要吃飯什麼的 還是得跑成田機場
但是半夜的成田也只剩下7-11

 <7-11的飲料 很多罐裝咖啡 但太晚了我不想喝>

<7-11便當 份量不算少> 

<來成田充電區吃消夜>

[景點]
東京巨蛋


當天是搖滾硬漢矢沢永吉的演唱會
很多聽眾都cosplay呢

野球殿堂博物館
球棒的歷史

挑戰日本職棒 - 沒人揮的中


KANO耶~


遙想當年WBC的王建民大殺日本阿~


懷念的球員卡

Laqua的雲霄飛車&摩天輪 就在東京巨蛋旁邊

台場搭乘百合海鷗線


要搭就要搭第一節車廂

富士電視台
其實我覺得不用浪費錢上來這裡 雖然也不貴啦


富士電視台某個著名的節目吧?


全員逃走中!!! 當初超愛看的


One Piece 魯夫!!!

台場的自由女神像

自由女神像夜景

搭新幹線前往輕井澤 感覺跟台灣高鐵差不多


終於抵達輕井澤站 第一件事要去換回程的座票阿 免得沒位子坐


騎車遨遊輕井澤

輕井澤的美景

從輕井澤一路騎到中井澤山腰上的榆樹小鎮
這裡是個市集的感覺


星野溫泉
因為突然下大雨 只好跑到露天溫泉的星野溫泉去避雨
結果還是淋雨泡溫泉嘛~
也體驗到了 上冷下熱的露天溫泉文化囉~


輕井澤 Prince Shopping Plaza
又漂亮又能shopping的地方哪裡有
下次還要再來 這邊至少可以停留4~5個小時吧


下大雨的晴空塔

其實2小時前應該是這樣


成田機場第三航廈的跑道好特別

[美食]
利久牛舌 - 超級推薦阿
超級好吃~


台場隨便找的美食街拉麵
不推薦 湯很鹹 肉很硬 雖然份量十足

到日本就是要吃消夜阿
回到蒲田之後 隨便找一間來吃也很好吃

三星飯店的早餐也是很美味的

輕井澤ろく亭燒肉的燒肉定食好好吃
怎麼日本的牛肉都好好吃喔


坐新幹線就是要來個火車便當阿
這個陶碗可以帶回家的

傳說中的一蘭拉麵要消夜時段來吃才不用排隊
真的好吃~

中午隨意在蒲田街頭找一家新橋的壽司
沒想到廚師跟服務生都是個很有趣的阿公阿嬤~ 雖然菜單全是日文沒有漢文 看圖說故事也可以點到滿滿一盤的握壽司套餐值780Yen



都到了晴空塔就吃個飯吧
看到利久牛舌免排隊很心動
可是卻選了勝博殿炸豬排


成田第三航廈的餐廳 為了因應廉價航空
早上4點就開囉

本場香川宮武讃岐烏龍麵 早餐吃這個有點多


2015-09-05

快速相對估算的熱身賽 – 進階的動物洗澡Workshop

快速相對估算的熱身賽 進階的動物洗澡Workshop



這星期讓Team Member們體驗了一下快速相對估算,之前就已經用動物洗澡來做過範例了,這次換個方式,讓他們體驗一下更真實的案例。

這次我把整個團隊納入一起估算的行列,所以總共加起來有11個人,算是個稍大的團隊,我其實也想試試這麼多人的情況之下,估算會不會無聊。

今天我擔任PO,跟Team說我們在Sprint1的任務就是要幫以下三隻動物洗澡:
1. 大金剛
          

        這隻大金剛有超乎常人的智慧,能夠領軍所有猴群、猩猩軍團等。他是動物園的大明星,平常有個工作是要跟民眾互動,所以需求是:
    (1) 不能有體臭
    (2) 不能有跳蚤
2. 北極熊

        不愛乾淨、但溫和的北極熊平常也是要跟民眾搭肩拍照,所以需求是:
    (1) 毛色要潔白無瑕
    (2) 熊爪不能抓傷人
3. 河馬
    

    河馬的特色就是下顎非常有力,所以他的工作是讓民眾參觀他的大牙齒
    所以需求是:
    (1) 牙齒要保持乾淨

OK 需求出來了,接下來要讓大家討論Sprint1 要完成這些需求的話,需要做什麼?所以我們透過Scrum Planning Part I的討論,產生了故事卡。
例如:
    (1) 讓動物們吃會睡覺的,讓牠們睡著。
    (2) 透過擠肛門的方式讓金剛不要有體臭 (感謝群眾智慧啊)
    (3) 對北極熊塗上白色油漆
    等等


故事出來了,接下來我們就要對這些故事做快速相對估算囉

Step 1 : 比較大小
我將剛剛的故事放置在桌上,Team Member們要先排隊成一個上台的順序,第一個Team Member隨手抽一張故事,將他貼在白板上,然後去排到隊伍的最後,第二個Member隨手抽一張故事,比較這張故事與白板故事的複雜程度。簡單的擺左邊;困難的擺右邊。然後繼續去排到隊伍的最後。第三個Member先評估白板上的順序是否認同,如果認同就抽下一張故事,如果不認同就改變順序。總之一次一個人僅能做一個動作。如此輪流下去直到大家都達成共識:目前的排序就是大家認可的排序。


Step 2 : 校正基準
如果是新專案,那就將最左邊的故事定義為1點吧。如果過去已經做過不少東西,那就可以拿過來當作一個基準。

Step 3 : 評估程度
我們利用費氏數列的點數卡來做複雜的評估,費氏數列的好處是方便快速分類。1,2,3,5,8,13,20,40,100等等。當複雜度為40時,你不會在意他是39還是41
就算點數小,你保守一點選擇下一級損失也不大。
接著就如同Step1,大家輪流上來給點數。


經過這個動物洗澡的熱身,相信Team Member們對快速估算應該開始有感覺了,對於真實的Project估算來說,就會比較熟悉了。
不過我自己的感想是10幾個人來估真的有點枯燥喔,會有人被晾在一旁,嗯~要再想一下Solution





2015-08-04

[講師] 教導公司暑期實習生 Unit-Testing & TDD Introduction (1)

很榮幸在7月底幫公司的暑期實習生上了一堂課
Unit testing & TDD Introduction

由於Target Audience都是學生
姑且猜測他們寫code經驗比較不足
所以這次就安排了Unit-Testing的基礎課程以及讓他們實作練習的Coding Dojo

今天安排了整整4小時的課程
所以我把課程切分成三部分 : 
1. 聽課
2. 實作
3. 小組報告

課程一開始 我先放個Why TDD的影片
這招是跟Daniel學的
在開頭放影片 讓準時進來的學生不無聊
讓遲到的學生就算沒看到也沒損失XD

接著我讓他們從以下四個問題挑一個來回答


然後就來玩群眾智慧的遊戲了
我請他們隨機配對
兩兩分享一下彼此的答案
然後請兩人協調出這2張答案的分數
兩張答案要共享7
簡言之就是兩者相加要等於7
最後交換手上的故事
繼續下一個配對


今天總共讓學員們隨機配對3
此時大家手上的故事應該就有3次分數的總和了




這活動的目的是為了讓他們自己決定誰的故事值得分享
分數最高的四位 也順便成為了各組小組長

沒想到大家都還蠻客氣的
3 run的總和下來 最高分才12
不過不可否認的
透過群眾智慧選出的這幾位小組長
表現上確實很有潛力喔~

分好小組之後
便開始介紹今天的主題
也透過一些簡單的實作練習讓各組建立下一堂課的實作環境

安裝nunit (unit test framework)
寫出第一個unit test project
執行第一個unit test

第二堂課是要玩codind dojo
Dojo是道場的意思
是一個能夠練習武功的地方
所以coding dojo就是個能夠讓大家安心練習寫程式的地方


今天coding dojo進行的方式是 Randori
各組同一時間只有一台電腦能寫code
各組組員輪流上台寫程式
圖片來源 : httppt.slideshare.netviniciusa1r3sapresentao-coding-dojo-em-10-minutos

各小組會有以下角色:
分別區分成 駕駛區及觀眾席




駕駛區裡坐著:
Driver : 實際下手Coding
Navigator: 可與Driver討論或提供方向
觀眾席裡就是坐著觀眾
Audience: 台下觀眾,不能介入coding

5分鐘一到,角色是會輪替的
如此一直輪替直到活動結束

今天實作的題目是:
網球計分系統

這題目看似簡單,其中卻藏了一些邏輯危機喔
真的蠻適合當作Coding Dojo Kata (練習的套路)

各小組在進行Coding Dojo
我就在各組間走動觀察

 一開始大家都還沒有進入狀況
所以20分鐘後 我中斷了Coding Dojo
請他們反省跟討論接下來的策略
接著 Coding Dojo繼續進行
很明顯地有一組已經知道怎麼玩了
開始按部就班地建立Test Case


其他組則還是在為了通過第一個測試而努力



他們的問題在於忘了Baby Step




於是我要求他們盡可能先通過第一個測試
不要想太多
不要帶太多情境
先求通過第一個測試之後再Refactor



其實TDD雖說先寫測試
但也不是先寫測試這麼地膚淺
他的一個價值在於Focus on 需求
小步小步地完成需求
所以先寫出第一個陽春版的測試並不丟臉
但同學們就是想太多了
想要一次全包
這不就又回到前面介紹的Integration Test了嗎?



最後請各小組上台Demo以及分享他們的經驗
我相信他們一定也有感受到衝擊
希望能在他們心中埋下一顆TDD的種子



下一集我們再來介紹如何寫出第一個TDD !!!

2015-07-28

Visual Studio 2015 的 Refactor 轉移到 Quick Action中囉

因為要教課的關係
今天裝了Visual Studio Community 2015來玩玩

赫然發現之前2013的Refactor的功能不見了



結果是Visual Studio Community 2015把 Refactor 的功能移到 Quick Action

怎麼使用Quick Action執行Refactor呢?
例如我們想要Refactor 以下這段邏輯
跟以前一樣 先反白要抽出來的邏輯
按下右鍵 -> Quick Actions


有沒有看到熟悉的Extract Method阿~


邏輯已經被抽出來成一個新的Method了


來把它 Rename 一下吧

2015-07-17

CSM Test 成為一個認證的Scrum Master

前一陣子上完了Daniel的課
拖到了最近去考了CSM (Certified ScrumMaster®)
很高興終於成為了一個合格的Scrum Master

記錄一下答錯的題目

當PO沒空參與Sprint的結果是?
[Ans]做出來的Product將不會符合預期

我原本以為沒有PO 就沒有人可以確認需求
這樣做出來的東西就是Developer寫爽的 所以才認為該中止這個Sprint
不過不符合預期果然更貼切

PO跟Scrum Master可以為同一人嗎?
[Ans]不可以 他們角色衝突

兩者的角色跟功能性雖然不同 但是有衝突嗎? 有點懷疑

Olivia宣稱她想到一個solution可以解決現在的問題
而且她很想要馬上執行
在Scrum這種需求鎖定的Sprint 該怎麼處理呢?
[Ans] 開一個另外的會議討論 (不要占用Daily Scrum的時間)

其實答案很合理 正常我們也都會這麼做
(我怎麼答錯了呢~ 自以為這是陷阱題阿XD)
PO的職責
[Ans] 決定合適的Release Date

我一直以為要做多久是Team決定的耶~
這題算是英文不好 我誤以為(A)是在說成功的Product必要組成

在Daily Scrum中PO這個角色:
[Ans] PO參加Daily Scrum是Team規定的

好怪? 有點不太理解這個答案
在Daily Scrum中哪個角色表達有碰到障礙
[Ans] Team

這題英文不好 我誤以為是誰要溝通排除障礙

每個Sprint結束要產出什麼?
[Ans] Potentially shippable product increment

這題是我記錯定義了 我一直以為Potentially這個是指有可能要做的所有功能
真是不用功