常見的問題

1.      用敏捷開發等於加速開發時程嗎?
不.
agile不能加速開發,但可以早一點看到可以動的prototype.

2.      為什麼要用敏捷開發別的方法不都好好的用了幾十年了為什麼要改?
因為世界變得太快,軟體需求一定會改,傳統的方法對於處理改變這方面比較弱;

也可以參考 stacey matrix:
(from: https://www.capgemini.com/blog/capping-it-off/2011/06/paving-the-path-of-scrum-adoption-2-product-people)

縱軸是requirement的改變程度or 不確定性
橫軸是對開發工具或語言或平台等等的掌握程度

假如是simple,用除法來管理進度,像是鋪路.
假如是complicated,用waterfall來做,還勉強OK.
很遺憾的,在現在的世界,軟體專案都大概是complex或是Anarchy的等級的


3.      如何做估計估計不準怎麼辦?
看這篇 http://www.slideshare.net/doyouknowsoftware/on-estimate
估計不準是正常的,估計是為了讓我們能根據結果採取對策.
如果有人說,你們這些事情我早就都算好了,之類的,會很糟.
團隊有小孔明的話,那很糟糕;假如團隊老闆是小孔明的話,那就塊陶啊.


4.      何謂Big Design Up Front? 是好是壞?
在前期做了太多的設計與討論,白白浪費珍貴的開發時間,不管是spec, UI, UX等等.
當然是一件不好的事.

5.      在敏捷開發裡面,系統架構怎麼定由誰訂?
由所有人針對這一個sprint要完成的PBI的架構一起訂.
下個sprint要改的話,就改啊,所以design pattern很重要.

6.      與硬體的開發時程如何搭配?
在EVT DVT PVT MP各階段,PO要決定軟體要做到哪些東西,也就是把各個需求做priority.
至於是軟體去配合硬體,還是硬體來配合軟體,我覺得要看專案.

7.      軟體工程師(ex: App)要幫硬體做些甚麼還是完全獨立,各做各的?
軟體要幫硬體做測試.
硬體工程師交出硬體的時候,軟體工程師要對軟硬體的介面做測試,最好能做到unit test.
在開發過程中,介面還沒有定下來,軟體工程師可以用mock object來先實作,可以趕在硬體前面,搶奪說話權.


留言