星期四, 10月 03, 2024

控制Maven Unit Test及Integration Test

由於integration test不一定有環境跑,所以得區分
目標是unit test一定都會跑,而integration test有指定才跑
這裡利用maven-surefire及tag區分

1.Tag區分Unit及Integration Test

    @Test
    @Tag("UnitTest")
    @DisplayName("UnitTest1")
    public void testCase1() {
        assertEquals(1, 1);
    }

    @Test
    @Tag("UnitTest")
    @DisplayName("UnitTest2")
    public void testCase2() {
        assertEquals(1, 1);
    }

    @Test
    @Tag("IntegrationTest")
    @DisplayName("Integration")
    public void testCase3() {
        assertEquals(1, 1);
    }

2.maven-surefirem區分

在pom.xml裡,找plugins加入以下
...
<plugin>
	<groupid>org.apache.maven.plugins</groupid>
    <artifactid>maven-surefire-plugin</artifactid>
    <version>3.5.0</version>
    <executions>
        <!--mvn test-->
        <execution>
            <id>default-test</id>
            <phase>test</phase>
            <goals>
                <goal>test</goal>
            </goals>
            <configuration>
                <!--run test cases with tag "UnitTest"-->
                <groups>UnitTest</groups>
            </configuration>
        </execution>
        
        <!--mvn integration-test-->
        <execution>
            <id>integration-test</id>
            <phase>integration-test</phase>
            <goals>
                <goal>test</goal>
            </goals>
            <configuration>
                <!--run test cases with tag "IntegrationTest"-->
                <groups>IntegrationTest</groups>
            </configuration>
        </execution>
    </executions>
</plugin>
 

跑mvn integration-test可以發現分別先跑了
1.mvn test
2.mvn integration-test

本想研究怎麼拿掉mvn test步驟
不過想想unit test每次都跑也不錯,就沒理了

星期六, 9月 21, 2024

對話的練習

上周請小孩跟學校拿申請單
結果小孩暴氣表示不關他的事,為什麼要幫我拿
聽完這回覆理智線直接斷裂,想發火罵人時…
回想剛讀完「對話的力量」,便先收起怒火,晚點再談

等自己恢復平靜後,再跟小孩算帳對話
以下便記錄與小孩的對話內容(稍為縮減濃縮)


對話記錄

我:剛才你在生氣,發生了什麼事嗎 (覺察情緒)
孩:…

我:在學校發生什麼事嗎
~ 沈默幾秒鐘 ~
孩:我不想去上課

我:學校發生什麼事
孩:明天有音樂課,音樂課要唱歌跳舞

我:音樂課要唱歌跳舞?
孩:我不喜歡唱歌跳舞,聽到老師跟同學說以後會輪流,我不想要同學面前唱

我:在同學面前唱的感覺是什麼
孩:我覺得厭力很大

我:覺得壓力大? (確認)
孩:我不會唱歌跳舞,在同學面前,我會不自在…


~ 這裡讓小孩有話想說,專心聆聽確認問題,不給建議,讓他全說完 ~


我:很高興你能跟我說這件事,在同學面前,做不擅長的事,的確會感到厭力
我:明天上音樂課,如果要你唱歌怎麼辦?

(讓對方自己想處境,如何面對困境,獨立思索如何面對)

孩:不知道
我:那~ 你有想要解決這個問題
孩:哪有辦法解決!?

我:那你有想要解決嗎?(核對式提問助於聚焦、負責)
孩:怎麼解決?

我:明天的唱歌表演,請你想成我們要比的是「唱的最爛,跳的最差的」,唱的好、跳的好的人輸(註1)

之後我忘記小孩回覆什麼,但感受到他心情變好了
我們也聊了不少東西

這幾天感覺小孩比較會主動聊天
親子感情似乎有再更親密點… 吧!?(自我感覺良好)


心得

一開始的小孩暴氣不願拿申請單,真的令我發怒
當下覺得怎麼會這樣回答,也許小孩有其他事,所以讓他情緒不好,如同冰山

幸運剛讀完「 對話的力量」正好練習一下
過程中,自己能專心聆聽,不給建議
也許在想該怎麼提問,所以讓自己不帶情緒平靜應對
覺得挺有趣的


重點整理

  • 當對小孩吼,小孩就會吼回來的方式對話
  • 專注且和諧,語氣平穩,對方也會共頻

先梳理小孩的情緒,等平緩後,再聊他發生的事
從中瞭解問題後,也覺得小孩已講完,再進行下一步
再確認他是否想解決,沒確認這點,先給建議,對方可能覺得煩
如果他自己能解決問題,就引導他自己解
小孩沒想法的話,就提個方法給他
小孩感到沒自信,那就幫他建立自己的信心

註1:這招 從「 對話的力量」學的,「比爛」還挺有效的,當然前面的鋪陳是需要的

星期四, 9月 12, 2024

Scrum Master的被電旅程


過去在自己組織導入Scrum,覺得頗有幫助
今年突發奇想來找Scrum Master工作
沒想到被鈦坦找去,本來有點猶豫會被電

但想了想…
就去見識見識,被電就當學習唄

結果就...
真的被電了... XD


一方面鈦坦對敏捷的運作已經很成熟
團隊運作會成為現在這樣,都也經過不斷迭代過
提個意見,就會有說人以前試過
自己對運作也不熟悉,一直被覺得狀況外
真有體會團隊是活生生的個體

另一方面是身份轉換
過去自己一直是Team lead角色帶Scrum
而切換專職ScrumMaster反而不知道如何與團溝通

雖然前輩早說過SM沒有實權,需用不同方式協助團隊
道理及書都讀過,不過實際運作就跟自己想像不一樣 Orz
自以為講出問題,大家就會說「好唷~ 我們來解決這個問題」(結果是我被解決了  XD)

細想過去是別人不懂或者是自己有權力,所以大家就被迫上車了
現在團隊運作好好,誰理你在旁邊亂吠


這碰壁的過程,也請教多位過來人

感謝Oakely,之前也遇到相同的問題,聊起來特別有感
感謝Terry指導,「看到的是現像,還是問題」以及「能打裝作不能打」
感謝Sherry,建議引導的小細節,讓會議進行的更絲滑流暢
感謝Maureen,雖然太晚找你了,但是燒腦的提問,還是很有幫助
感謝Leo, Elvier及Sam,多次的談論,從你們身上學到很多不同的觀點
還有感謝Michelle幫忙,另外非常泰好吃 XD

感謝大家~

最後
試著努力,不過覺得還差很多
瞭解Scrum的運作,對工程師是加分,但對專職SM就嫌不足
除了理論外、必需懂很多手法技巧,更需要練習及經驗累績
不是小看SM這角色,而是事非經過不知難呀
所以先退回工程師角色,再繼續修練

p.s. 圖片是半瓶水,提醒自己要多修練

星期日, 11月 13, 2022

CHANGE 31 演講筆記

演講資訊

時間:2022/11/12 13:30

講師實踐家:Fiona

心得

演講內容是針對Z世代,所以對Y世代的我,都是過去式的內容(戀愛與工作),比較沒fu,不過在開頭的「人生就一回,想要怎麼過」有衝擊到,

過去一直都滿順遂,也沒特別去想怎麼過,但提到「人生就一回」,就有點打醒自己,到老臨終那刻回想這一生,自己會覺得甘願嗎?

過去在想怎麼成功,看了電影「三個傻瓜」認為追求卓越,成功自然會追著你跑,但現在覺得如果有個前輩指引你,更能事半功倍,畢竟他已經走過這些路。以前也不懂為什麼需要人脈,以為只是擴展視野,現在看來更能幫助自己。

筆記

  1. 是否滿足現況
    • 有形
      • 工作,薪資
    • 無形
      • 心理壓力,加班,一成不變
      • 家人
  2. 危機意識
    1. 滿足現狀就是最大的危機
  3. 規劃人生
    1. 人生就一回,想要怎麼過
    2. 自己不規劃,就讓老板來幫你規劃
  4. 方向
    1. 前輩就是錢途
    2. 機會就在人群裡(人脈)
    3. 能解決別人困擾的問題,就是商機
  5. 成功是一種習慣


星期六, 10月 29, 2022

原子時間

筆記

  • 晚上有四小時,什麼事都等週未
    • 一週有20小時浪費
  • 蕃茄鐘
    • 重點在專注,專注才有效率,有限時間,反而專注力高力
  • 創造時間自由
    • 開始前
      • 什麼叫浪費時間,要先找到達成目標的意義
      • 需要找尋們我的價值
      • 可長可久動力, 值得奮得終生的目標
      • 目標->意義->方向->行動
    • 表格運用
      • 年度Action Planner
        • 不可以超過7個,不可以是不可控
        • 使用重點
          • 開始/結束日期要落入日/週計劃
          • 每週檢核是否有達標
      • 日計劃
        • 今日目標、區分TODO
      • 晚間計劃(Evening Planner)
        • 掌控好做事的時間,不要浪費
        •   固定時間固定的事
    • 思考像大人,行動像小孩
      • 不要用意志力,用習慣
  • 正面的自我暗示
  • 最後
    • 每天做的事,跟KPI有關嗎

心得

自己人生目標是什麼?不是沒有,但達成的意義還真沒想到... 

想要成為什麼樣的人!!!!!?

星期日, 5月 15, 2022

精實影響力(2022.14)

 


書名:精實影響力:非營利組織的創新 Lean Impact: How to Innovate for Radically Greater Social Good

心得

精實方法讀滿多的,這本不一樣在較多實際情境,也遇到更多真實的問題,更能感受到精實在加速迭代的精神及效果。

創新在非營利單位比一般創業有著更多更困難的問題,在募款、實施推行都有更多的干涉,如投資人想針對市場(選民)、短期目標(治標不治本),政策規範改變廢時、公家機關無效率,即便可行後,不營利的模式也是長期持續推動的一個問題,回饋時間長,要迭代也不易做, 如畢業率、再犯率。

個人在影響力這塊一直推不出去,都停留在自己的小圈圈,作者建議可設定指標,追蹤每個mvp,一來提升團隊參與感,公開透明也可讓stackholder看的到

從大處著眼!但要從小規模做起,努力不懈追求影響力

筆記

  • 啟發
    • 精神
      • 加速迴饋循環
        • 即早調整改善,才能快速看到成效
      • 迭代週期長
        • 改善緩慢,效果自然不好
    • 如何定目標
      • 太小,成果,影響力小
      • 太高
        • 有不同思維,也有挑戰性,可凝聚團隊
          • 但stakeholder看不到進度
      • 原則
        • 設定遠大目標
        • 從小規模做起
        • 持續不懈追求影響力 (非營利重點要放在影響力)
      • 確認問題
        • 從真正的客戶與stackholder找出真正的問題
          • 5why找痛點及願望
            • 紅毛猩猩棲息地, 砍樹是為了賺錢治病,應解決病因而非賺錢
      • 確定假設
        • 哪些事情會出錯(扮演辨護演練) p.123
          • 哪些地方可能出錯,最終導致失敗(遊戲抽水機效率)
          • 尚需準備好哪些面向才能發揮效用
          • 大家是否支持、採行或選擇(愛滋凝膠)
          • 是否比現有的方法更具效益
          • 能帶來持久的正面變嗎
        • 三個假設 p.124
          • 價值
          • 成長
          • 影響力(願意推薦給親友)
  • 驗證
    • 一田百香果
      • 即使可行,也得小量測試
      • 農民不會種,保存運輸方法也不同
    • 不要將自身價觀加在客戶身上
      • 自尊是人類強大驅動力
        • 黃燈溫暖,但貧窮國,冷色才想都市
        • 看的到的東西,不一定會排最便宜或最舒服
    • 驗證成長假說
      • 避免怎麼也做不大的小眾市場
        • 持續成本誰支付
        • 誰來支付
        • 現行系統整合
        • 自己的方法有何不同
  • 改造
    • 有了產品,服務、體制、生態系也會阻礙
    • Waterfall不易變動,太多干預
      • 一旦開戰,所謂作戰計劃統統沒用
      • 好產品必定根據feedbackflp adkv 
    • 表揚失敗
      • 分享失敗經驗

星期六, 5月 14, 2022

[課程] 谷歌創新寶劍: 設計衝刺體驗營

課程資訊 


心得

自己有看書來運用,不過沒被人引導過Design Sprint,既然三叔公都要開課了,就快來學習一下,也來比較自己跟專業的落差(羞)。

先比較了Design thinking及Design Sprint差異,這也是課前我想問了
更清楚瞭解兩者不同,就能掌握應用情境


p.s. 原本是實體課程,但因為疫情創變嚴重,所以改線上課程,原本覺得可惜沒能學習實體引導技巧,但反而可以學習沒做過的線上引導技巧,上完課果然腦補了不少實用技巧,賺翻了。

筆記

  • DS介紹
    • 啟源
      • 做了沒人用
      • Brain Storming不可行 
        • 通常不會有出色的想法,出色的想法通常是討論後,獨立想出來的方案
        • 而且常會挑出不可行的方案
    • DS是framework
      • 給框架,但各自實做,所以都會不太一樣
    • DS步驟
      • 理解(收斂), 速寫(發散), 決策(收斂), 打模(發散), 驗證
    • 應用時機
      • 適合快速驗證想法;不適合需事先大量研究
  • 實做
    • Monday(理解)
      • 訪談調查
        • 事實,不是感受意見(會迎合訪問者)
          • 不方便,麻煩的點,要進一步問why
          • 目前怎麼做
        • 過程中記HMW(機會及挑戰)
          • 量比值重要
          • 邊說明邊grouping比較省時間
        • 投票
          • 大家認為最有問題及機會的點
      • Map
        • 目的:瞭解現在用戶的經驗,挑出焦點的部份(其中一個步驟)
        • 做法
          1. 列出actor  為了達到 goal的步驟
          2.  再把剛HMW投票最高的幾張貼到對應的步驟,即為焦點區域
    • Tuesday(速寫)
      • 用意
        • 團隊迷思(Group think)
          • 不敢講真話,做出錯誤的決定
        • Work alone together
          • 先看現況解決產生idea(lightening demo)
          • 再各自獨立思考(4 step sketch)
          • 再腦力激盪
      • lightening demo
        • 用意:抄idea, 不會是第一個遇到的,看目前有什麼解,供大家參考
      • 4 step sketch
        • 用意:表達每個人的想法,找出可行方案
        • 步驟
          • note
            • 摘要重要資訊及衝刺問題
            • e.g. 知道工作說明影響應徵意願,如何協助填寫
          • idea
            • 連結資訊,思考想法
            • e.g.參考缺乏未寫的工作說明,思考如何協助面試官填寫
          • crazy 8
            • 把一個想法,畫出8個變型
              • 有點難,二個想法,4個變型也可啦
            • 想法品質重於圖案美醜
          • Solution sketch
            • 針對最好的想法繪製
              • 遭遇的問題,體驗過程,美好結果
              • 善用文字說明
            • 重點
              • 比想法,非實做
              • 為每個解法給別名,避免用作者名,免被影響
              • 聚焦在問題是否有解決,不要因有新想法加新功能
    • Wednesday(決策)


      • 黏貼決策(Sticky decision)
        • 用意: No design by committee
          • 很多人設計,沒有統一看法,反而決定出不用好的東西
          • 先沈默投票避免爭辨、推銷
          • 稻草投票讓每個人有機會表達(給老板聽)
        • 步驟
          • 羅浮宮
          • 沈默投票
            • 投票及貼疑問
          • 快速評論
            • 由主持人帶領,避免爭辨、推銷
            • 整理突出構想、賣點
          • 稻草投票
            • 決定方案,及投感興趣的feature
            • 投票時,說明投票的理由
          • 超投票
            • 老板決定,避免做出老板不要的
      • 分鏡腳本
        • 重點
          • 讓人想買單
            • 把客戶,痛點, 解法畫出來講清楚
          • 表達想法
            • 想法示意非細節(e.g. app細節),重點在是否有解痛點
        • 步驟
          • 六個步驟
            • 各自用六個步驟簡述故事
          • 分享腳本
          • 投票
          • 繪製分鏡腳本
    • Thursday(打模)
    • Friday(驗證)
  • Design Sprint 2.0的差異
    • 5天=>4天
    • 先調察再訂Sprint Question
      • 先訂是猜問題,非真正的問題
      • 所以2.0建議先問user 

番外篇 - 線上引導工具與技巧
  • 分組討論用zoom 小組討論功能
    • 由於有不同小組,因此利用了分組討論可以避免被他組影響
    • 雖有定時間,但不強制關閉,因為每組狀況不一樣,所以coach要進入不同小組房間,旁聽提醒討論方向及時間,還有決定是否需延長或提早結束。這點也是當初在Daniel課程提到的,畢竟每次的狀況不同,coach就在邊隨時調整
  • 講義及workshop放一起
    • 通腦遠端只有一個螢幕,在討論的看板已佔用一個,要切換講義就不方便
    • miro上就可以把兩者放在一起,使用起來非常方便
    • 而且miro上看的到大家的鼠標,當某人發表言論時,可以藉由鼠標知道對方在講哪裡,連畫面也不用分享。事實上,分享了佔用畫面反而影響每個人想看的範圍
  • miro倒數計時小工具
    • 雖然分組討論是靠zoom,但畫面其實停在miro上,這時有miro有倒數計數就能提醒大家