我上次去新加坡已經是約 20 年前的事吧, 那時候是公司同事去民丹島玩, 然後順便去逛逛新加坡. 這次則是自己一個人來新加坡參加研討論. 時間過的真快啊.
 
首先, 要先感謝 Stanly Lau 的邀請, 以及他們團隊辛苦的主辦這次活動. 才讓我有機會體驗到這場活動. 這真的是一場很精彩的研討會. 社群要能成功, 就是需要多些熱情的人的付出, 真的很感謝他們.
 
 
 
以下是我個人的一些簡單紀錄:
 
 
骷髏大兵 勝過 巨人
 
 
 
(1) Scale Out over Scale Up
Mary Poppendieck 的大名我想應該無人不知, 他提到將來的世界是越來越複雜龐大, 那我們的系統要如何因應呢? 很多時候系統很大時, 最難處理的就是 database, 你無法面對幾 T 的資料還能處理得很快, 即使這台電腦運算速度再快再強大, 終究還是有極限存在. Mary 認為要處理這樣的狀況, 架構設計是要改變, 要變成用一堆系統或電腦來處理, 這就是所謂要 Scale Out, 不要 Scale Up. 就像在玩皇家戰爭一樣, 巨人是很棒很強, 但是我可以用骷髏軍團來破解.
 
同理, 如果你贊成一個超級電腦, 是比不過一堆普通電腦所組成的系統. 那團隊呢? 你如果要完成一個很複雜的事業或系統, 你還是要靠一個單一龐大的團隊嗎? 你是不是該考慮如何讓一堆 feature team 來合作呢? 我覺得如果那家公司能越快掌握這樣的組織運作, 它越容易處理更龐大更複雜的事情.
 
下面這張圖或是Mary 演講的 video: https://www.youtube.com/watch?v=ht8W5Bi2H_o, 值得程式開發的人好好瞭解一下
 
 
 
(2) LeSS
Bas 提到一件事情, 當初他們在訂 LeSS 時, 他的信念是保留最必要最基本的, 其他的就留給使用的人去客製化. 也就是:
 
Build your method up
Don’t tailor it down
 
可是, 反觀目前很多方法論或是工具, 老是包山包海, 然後再跟客戶說, 你不必用全部, 你只需要用一部分, 自己客製化想做的部分就行了. 這結果通常使得大家對這個方法論或工具的中心思想不了解, 只有部分破碎的想法存在. 你覺得這樣大家能用好嗎? 
 
 
 
(3) SAFE = Shitty Agile For Enterprises
官僚體系就是把簡單的事情變得很複雜, 導致效率不彰. 方法論就是要簡單, 低級, 和有效率, 這樣大家才會想要用, 才會想要學習. 當方法論演變成越來越複雜時, 通常也就是被世人所遺棄的時刻. 像之前的 Unified process, 個人覺得就是走火入魔了. 那 SAFe 和 Kanban 的 Enterprise Service Planning 會不會呢? 就讓我們看下去 XD
 
 
 
 
對比快重要 
 
敏捷的方法不錯, 像 Scrum 和 XP 都蠻不錯的, 可以讓你開發的過程很有效率, 能夠快速因應改變. 但是就如 Bas 所說的, 如果走的方向是錯的, 走再快也沒用. 相反的, 如果方向是對的, 即使慢些, 終究能夠抵達終點. 
 
個人覺得只有 Scrum 和 XP 是不夠的. 重點是方向要對, outcome 比 output 重要. 在這次研討會, 下面幾個分享都是有關這方面的. 足見大家想法是很一致的.
 
Day 1 09:20 The Future has Arrived
Day 1 14:10 User Experience for Product Managers
Day 1 16:00 Making Better Mistakes Tomorrow
Day 1 17:15 Modern Agile
Day 2 09:00 Value Driven Development - Maximum Impact, Maximum Speed
Day 2 10:15 Learning faster: Scrum's compatibility with Lean UX, Lean Startup, Design Thinking and other discovery elements
 
Mary 提到的 design sprint 數次, 他認為 design sprint 利用雛型來驗證假設, 避免群體的認知偏差. 不是長官或是大家說對就是對, 而是利用驗證結果來調整方向.
 
 
 
Joshua Kerievsky 也認同這樣的走向, 因此他提出新的敏捷宣言, 也就是 Modern Agile:
Make people awesome
Make safety a prerequisite
Experiment & learn rapidly
Deliver value continuously
 
同樣的, Kent Beck 也做了相同的事情: Agile Manifesto 2.0
Team vision and discipline over individuals and interactions (or processes and tools)
Validated learning over working software (or comprehensive documentation)
Customer discovery over customer collaboration (or contract negotiation)
Initiating change over responding to change (or following a plan)
 
另外 Taco 也觀察到, 將來敏捷團隊中, 團隊才是最重要的, Product Owner 只是中間產物. Many 說應該是要由 team 來面對客戶, 來思考解法. 因此, Product Owner 逐漸要會精通 UX 和 lean startup 的手法, 和團隊一起合作去找出洞見, 驗證自己的假設. 所以把 Scrum, UX, Lean Startup, design thinking, 和 design sprint 整合在一起, 會是將來的一個趨勢. 
 
   
 
測試
 
沒想過講測試的場次這麼多, 讓我聽得很過癮. 通常我去研討會時, 我會鎖定一個主方向, 然後就找跟主方向相關的場次去聽, 這樣會讓自己學更快, 收集到更多資料. 像 Star West 2010 鎖定 exploratory test, Scrum Gathering 2014 就集中在 Kanban 相關的. 這次的話就是測試自動化.
 
我想重視測試自動化, 是件很正常的事. 因為 agile 開發過程中, test atuomation 是扮演安全網的角色. 沒有它, 迭代只是會讓品質越來越差, 而 CI/CD 就會變成一文不值. 因此, 如何讓測試自動化, 做得更有效率, 做得更快, 或是如何排除障礙, 這些都會是大家想知道的. 
 
可惜, 測試在台灣並不重視, 更不用講測試自動化這件事. 你跟老闆說要做測試自動化, 老闆說不定還回你說:
"你不是很厲害, 怎麼會寫出有問題的程式"
"我們不允許做沒有產值的工作"
“會動就好, 我們要趕快先搶市場"
 
當場讓你為之氣結. XDD
 
這次跟測試有關的場次有這麼多:
Day 1 10:35 The Future of Test Automation
Day 1 11:30 Unit Test Craftsmanship
Day 2 12:05 Test Automation - A Systems Thinking Approach
Day 2 14:45 Test Driving a React.js UI Component with Jasmine
Day 3 15:40 How to Stop Hating your Tests
 
對於正在做測試自動化的朋友, 如果想要更上一層樓, 我建議可以看看 The Future of Test Automation 的 video, 看看未來或者是目前世界級的人都在玩什麼, 可以讓自己先做好準備.
 
 
 
名作者特多
 
老實說, 一場研討會能有兩個名作者我聽過, 這場 conference 就很值得了. 沒想到這一場居然有八位作者是我聽過的, 我想這應該是新加坡的優勢, 英文是他們的官方語言, 因此他們來演講時, 台上台下會互動比較多. 之前去上海時, 某個名作者講完後, 台下一片安靜, 沒人問問題, 那還真的很堪尬. 講者還是喜歡去會有互動的地方, 這樣會比較有成就感. 
 
所以, 從投資報酬率的角度來看, 如果不想要花太多機票錢或住宿費, 又想語言不要太不方便, 新加坡是一種不錯的選擇. 因此 Scrum Alliance 2017 在新加坡舉行 Global Scrum Gathering, 應該會是一個划算的選擇. 
 
 
以下是這次研討會, 邀請的名作者, 以及他們的著作.
(1) Martin Fowler
     Refactoring: Improving the Design of Existing Code
     Patterns of Enterprise Application Architecture
     UML Distilled: A Brief Guide to the Standard Object Modeling Language
     Planning Extreme Programming
(2) Mary Poppendieck
     Lean Software Development: An Agile Toolkit
     Implementing Lean Software Development: From Concept to Cash  
     Leading Lean Software Development: Results are Not the Point
     The Lean Mindset: Ask the Right Questions
(3) Gojko Adzic
     Specification by Example  
     Impact Mapping: Making a big impact with software products and projects
     Fifty Quick Ideas To Improve Your User Stories
     Fifty Quick Ideas To Improve Your Tests
(4) Gerard Meszaros
     Unit Test Patterns – Refactoring Test Code
(5) Michael Feathers
     Working Effectively with Legacy Code
(6) Woody Zuill
     founders of the "#NoEstimates" discussion on Twitter.
(7) Joshua Kerievsky
     Refactoring to Patterns
(8) Bas Vodde
     Scaling Agile Lean Development 
     Practices for Large-Scale Agile and Lean Development
 
 
 
文化是成功的關鍵
 
我想沒人會反對, 文化是成功關鍵的要素. 在這次的研討會, 我見識到 Titansoft 公司的文化, 他們每天都要進行 retro, 討論今天哪裡做得好, 哪裡需要改進, 因此, 他們第一天 retro 完後, 馬上根據 retro 的結果, 修改了會場的佈置, 這種反應速度我想很少有公司比得上的.
 
Yves 本身在研討會上也有一場很精彩的分享, 是有關於 TitanSoft 自己的演進歷史, 對於想要做組織文化改造, 這將會是一個很好的參考. 很期待 Yves 到時候來 AgileMeetup 分享, 或者大家來 Agile Tour Taipei 2016 也能聽到 Yves 提起另一個引導的故事 XD
 
 
 
 
嗯, 就先整理到這邊, 回來有太多事情要做, 至少要先整理堆積如山的 e-mail XDD
 
 
arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()