1. 程式人生 > >敏捷開發和傳統瀑布式開發的優略

敏捷開發和傳統瀑布式開發的優略

    軟體組開始實現敏捷開發已經半年多了。雖然沒有什麼指導,上級也沒有給予特別的支援(給了塊白板),一路坎坎坷坷的過來。

    開始我還以為去推行敏捷開發會受到開發人員的抵觸,因為任務的時間被卡死了,一個兩天的任務如果做了四天,開發人員在開日會的時候就會不好意思。還好大家也很配合,專案組對一些延期的任務也會給予理解,也有人主動去加班來保證按時完成任務。

    從以往的瀑布式開發到敏捷開發,我估算了,大概專案的時間會減少20%左右。這些時間並不是大家加班加出來的(我最討厭加班了),而是任務的安排根據科學了。

   比如同時有3個任務,A,B,C,A有A1,A2,A3幾個小任務,B有B1,B2,B3,如果按照以往瀑布式開發,3個開發人員(x,y,z)肯定是x一人做A,y一人做B,z一人做C,最後大家整合。但經常遇見的情況是,B1可能要依賴A3,這時候y就在等待著x把A3做完,但x並不知道,他是A1->A2->A3這樣做的。這樣的等待就造成了資源的浪費。

    在敏捷開發中有幾種解決方法:

1、讓y去做A3

如果這些功能每個人都可以做(同一語言,同一架構)

2、讓x先做A3

如果功能是跨專案,甚至跨語言的,A3這個任務y是做不了的,A3又是可以提出來先做的

3、沒有辦法?只能等待?

這就是任務的計劃有問題了,是不是應該把B1放到下個sprint?

    當然,頻繁的任務切換是有代價的,過多的切換會帶來效率的低下。所以我們在一個sprint出來的時候,其實已經初步安排好了每個人的工作和計劃,當然這沒有任何記錄,因為任務會在進行中隨時變化,本來是x的某個任務最後可能是y做了,因為y把自己的工作先完成了。為了保證sprint按時完成,大家會互相幫助的。

    可以說,瀑布式開發就是美國片,每個人都是hero,大家都獨擋一面。但是敏捷開發中的每個人都很平凡,加一起就無敵了(天罡北斗陣)。但是對於人員跳槽頻繁的現在,還是天罡北斗陣安全些。