2022-06-27|閱讀時間 ‧ 約 3 分鐘

LeSS in Action - 後記

這系列大概花了快兩個月的時間快速的把學到的一些知識記錄下來,然而還是有許多內容很難用文章簡單的說明。
裡面有許多知識是需要靠著實踐才能夠學會的,因此在課程中我們需要先理解概念、實踐,最後在課後不斷的練習這些技巧內化成自己的技能。

重新思考開發

我認為自己屬於那種相當 Geek 的類型,也因此大多數時候都是在關注「怎麼做」跟「能使用怎樣的技術」這樣的問題上,卻很少思考「為何這樣做」的問題。
然而,每一個軟體被設計出來都是要解決問題。如果在實現軟體的時候只關注技術的部分,就會陷入使用的技巧非常華麗卻一點也不實用的狀況,甚至在未來要進行修改的時候變得非常困難。
這是一個非常值得反思的問題,也就是在探索技術之外,我們所設計的程式是否是真的實用的。

剛剛好的實現

假設我們關注在功能來開發,就能夠開始朝向「恰當」的實作前進。在過去我們會想要完整的考量所有東西、把架構規劃設計完善。然而,很多時候並不符合真實的狀況。
之前有寫過一篇軟體是一種生物的文章來描述軟體開發世界的多變,如果做了過多的設計我們面對「改變」是很脆弱的,因為所有設計都必須要大量的調整跟修改。
然而我們使用驗收測試驅動開發(A-TDD)的想法去看,假設第一個規格是顯示文字,我們只需要實現顯示文字即可。接下來是勇敢的面對改變,跟使用者確認這樣的功能是否符合,不符合就再繼續增加規格(新增測試)擴充,直到所有功能都符合使用者的期望為止。
搭配上測試驅動開發(TDD)的「小步前進」在對應變化的能力就會大幅的提升,這樣一來也能慢慢掌握「剛好」的實現來減少耗費額外的力氣。

總結

這門課程主要不是在學習某種技能,而是去重新了解被我們沒有完整理解的「敏捷開發」並且搭配實踐來更新思考的方式,唯一的缺點大概是會在工作上有些不習慣吧!
目前 LeSS in Action: Developer Practices 這門課程還有在台灣開設下一期的課程,大概是在九月的時候,想要完整學習的話還是推薦大家盡快報名。雖然費用不便宜,然而可以學到的知識很可能會改變未來工作的機會。

封面圖片使用 UnsplashAngelina Litvin 的作品,這系列的文章只是課程的一小部分,因此並無法完整涵蓋所有概念以及精神,看關於技術的主題可以到弦而時習之找找靈感。
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.