敏捷開發方法綜述

言凡_發表於2016-03-27

  敏捷開發的出現是由於在2000年左右,許多團隊採用龐大,重型的過程方法的趨勢在逐漸增長,一批自稱敏捷聯盟的業界專家概括出了可以讓軟體團隊具有快速工作,響應變化能力的價值觀和原則。影響至今的就是他們的敏捷聯盟宣言:個體和互動勝過過程和工具;可以工作的軟體勝過面面俱到的文件;客戶合作勝過合同談判;響應變化勝過遵循計劃。

  一種經常用於敏捷開發的方法是scrum,它是一種迭代式增量軟體開發過程。Scrum是一個包括了一系列的實踐和預定義角色的過程骨架(是一種流程、計劃、模式,用於有效率地開發軟體)。Scrum中的主要角色包括同專案經理類似的scrum主管角色負責維護過程和任務,產品負責人代表利益所有者,開發團隊包括了所有開發人員。

  在每一次衝刺(一個15到30 天週期 ,長度由開發團隊決定),開發團隊建立可用的(可以隨時推出)軟體的一個增量。每一個衝刺所要實現的特性來自產品訂單, 產品訂單(產品目標)是指按照優先順序排列的需要完成的工作的概要的需求(目標)。哪些訂單項(目標專案)會被加入一次衝刺,由衝刺計劃會議決定。 在會議中,產品負責人告訴開發團隊他需要完成產品訂單中的哪些訂單項。開發團隊決定在下一次衝刺中他們能夠承諾完成多少訂單項。 在衝刺的過程中,沒有人能夠變更衝刺訂單,這意味著在一個衝刺中需求是被凍結的。

  在衝刺中,每一天都會舉行專案狀況會議,被稱為“scrum”或“每日站立會議”。每日站立會議有一些具體的指導原則:

  會議準時開始。對於遲到者團隊常常會制定懲罰措施(例如罰款,做俯臥撐,在脖子上掛橡膠雞玩具)歡迎所有人蔘加,但只有"豬"(全身投入專案和Scrum過程的人)可以發言。不論團隊規模大小,會議被限制在15分鐘。所有出席者都應站立。(有助於保持會議簡短)會議應在固定地點和每天的同一時間舉行。在會議上,每個團隊成員需要回答三個問題:

  今天你完成了哪些工作?明天你打算做什麼?完成你的目標是否存在什麼障礙?(Scrum主管需要記下這些障礙)

  每一個衝刺完成後,都會舉行一次衝刺回顧會議,在會議上所有團隊成員都要反思這個衝刺。舉行衝刺回顧會議是為了進行持續過程改進。會議的時間限制在4小時。

  Scrum提倡所有團隊成員坐在一起工作,進行口頭交流,以及強調專案有關的規範,這些有助於創造自我組織的團隊。

  Scrum的一個關鍵原則是承認客戶可以在專案過程中改變主意,變更他們的需求,而預測式和計劃式的方法並不能輕易地解決這種不可預見的需求變化。同樣,Scrum採用了經驗方法– 承認問題無法完全理解或定義,而是關注於如何使得開發團隊快速推出和響應不斷出現的需求的能力最大化。

  今天,Scrum的影響已經遠遠超出軟體開發,成為零售、軍事、風險投資甚至學校裡完成各種任務的創新方法,正在改變著世界。

相關文章