敏捷開發作為最近的時髦詞匯,已經迅速席卷了IT界,以前Agile的使用僅僅適用于網站和手機APP的開發范圍,而今傳統企業IT也想引進Agile模式,來打造新的企業IT服務模式。Agile的好處我此處就不再描述了(本人目前主要的工作就是負責在公司內部內部普及Agile和DevOps),我在此主要是說說Agile本身的局限性或者說是她的適用情況,給那些想做Agile轉型的公司做一個參考。
1,當你不能用迭代法開發你的產品時,不要使用Agile。
不是所有的產品都是可以先推出一個簡單的有著很多bug的版本,而后按著用戶反饋逐步的更新和改進的。企業用戶和普通用戶的需求特點十分的不同,如果企業用戶的產品指向生產,銷售和CRM環節,產品的高質量往往是第一位的,高質量往往意味著長時間,目前流行的Scrum方式其實很難打造高質量的產品。
2,當你的客戶不能保證全身心的投入的開發工作時,不要采用Agile。
敏捷的模式不僅僅是針對IT的開發和管理人員,同時也是對客戶或用戶的,還是以Scrum為例,業務部門需要有專門并且全職的人員和開發人員在一起完成工作,不斷做需求更新和排位,不斷收集業務部門的反饋來調整開發目標。業務人員的參與程度的高低直接決定了Scrum方式的成敗。 但是傳統企業中的業務部門是否做好了這個準備,是否有相應的資源來匹配新的交付模式,都值得事先花更多的時間開準備。
3. 當整個團隊的規模太大,并且跨越了不同的時區,不要采用Agile。
俗話說,“船小好掉頭”,只有規模夠小才能敏捷靈活,但是傳統大型企業IT有一個致命的問題,就是IT服務資源的全球化。以前這是一個引以為豪的地方,但是現在卻成為一個絆腳石。大部分的企業會把IT系統架構/方案設計放在歐美國家,把IT運維放在中國或印度,軟件開發和測試也會放在中印等國家,業務關系管理(BRM)則可能緊挨著有業務部門的地點。這種分散的模式很難把Agile模式所需要的資源集中在某一個物理位置,所以企業IT只能采取虛擬團隊的模式來應付這種情況,或者從長遠上來看準備進行大的組織結構調整。
虛擬團隊的工作效率其實無法滿足agile的模式,如果是短期還可以,但是長期來說(以Scrum為例)天天的會議對于跨時區的團隊實際上是挺痛苦的,更不要說當前企業合作服務(比如,電話會議+文件實時共享)和面對面的溝通還是有不少的差距的。我相信經常使用這些服務的人明白我的意思,電話會議作為信息共享還可以,但是用來支持開發項目,效率就要打個大折扣。
原文轉自:https://zhuanlan.zhihu.com/p/24565037