開發種類

一般常見的開發模式可分為這三種:

  1. 隕石開發
    顧名思義就是有隕石來就都接,有東西上來就直接做,這種狀況通常會輕鬆的時候很輕鬆,忙的時候忙得要死,是一把雙面刃,也有可能會發生產品每次在開發的時候沒有明確的目標。

  2. 瀑布式開發
    這種開發模式比隕石開發好一些,開始有一套明確的開發流程,而且有一個明確的目標去完成它。但是一旦開發過程中有什麼需求需要更動,必須要重新跑一次瀑布走流程,時程有會非常攏長也伴隨著很大的風險。

  3. 敏捷開發
    敏捷開發的特色就是迭代式開發,這種開發是永無止境的迭代開發,雖然聽起來好像很可怕,可是事實上對產品本身的好處就是,可以持續地讓產品品質越來越好。透過不斷地與客戶溝通討論,開發持續優化與改善產品,設計出更有價值的產品。

sprint failed沒有關係,延長就是延到下一個sprint,只是沒有達到這次的sprint goal
額外加進來的story不會算sprint failed 做產品測試

Agile和Scrum是什麼

Agile是敏捷的一種理念
Scrum是一種開發模式

開發模式

code review

code review通常是找pair programming的夥伴進行code review,過程中多少會得到一些開發上的回饋,透過這些回饋與改善,也能夠避免日後看不懂或是過濾掉一些不好的寫法。

較多的會議

雖然敏捷開發的開會時間會稍微多一些,但是透過持續討論與持續溝通可以讓大家更了解產品,並且也更能了解其他職位正在著手在哪些地方上。

Stand-up meeting

站立會議的成員是一種日常簡短式開會,這個會議裡面不會有PO, SM, 主管參與,通常會有工程師, UI/UX設計師與其他參與開發的夥伴們參與討論,

人人平等的開發

敏捷開發是以人為本的開發模式,無論是PO或是PD,每個人的loading應該要維持在一定的基準上,如果有失衡的狀況發生,通常都是在估時的時候沒有做到好,那就會需要到回顧會議的時候進行改善與檢討了。

敏捷的缺點

溝通佔很重的比例

如果團隊的成員沒有習慣持續溝通持續開發的文化,那麼開發過程中可能會很常發生資訊不對等的狀況發生。溝通有分很多種,有文字上, 語言上, 文件上……,每一種溝通方式都有不一樣的成效。

對新人的門檻很高

很多新人剛進到一個團隊對基於公司或團隊文化的開發模式不太熟,一定需要花一些時間適應與理解,此外也很吃團隊默契與熟悉。敏捷開發也是基於產品導向進行估時規劃,能夠練功的時間也非常有限。基於種種原因,對於新人來說門檻是非常高的。通常這種狀況需要由Scrum master協助或是夥伴進行資訊同步

一定要跑敏捷嗎

公司文化

不過開發的流暢度很吃公司的文化,如果公司不適合敏捷開發的文化,跑起來會很累,對大家都是一種傷害,所以有些公司會選擇跑半套敏捷取比較適合的方式來跑敏捷開發。


Comment