當前,彷佛每一個人都在踐行敏捷。這主要歸功於敏捷可以適應變化並整合客戶反饋的特質。現代社會這二者是很是重要的,由於技術在不斷地革新,且人們獲取信息的方式愈來愈容易——包括公開的客戶反饋。編程
快速響應並將客戶反饋歸入產品和流程,要求自組織團隊不斷調整工做的內容以提升效率。團隊能夠進行按期調整以知足天天出現的新需求。在項目規劃方面,這種波動環境可能會使事情變得棘手:由於幾乎不存在明確的截止期限和可預期的交付成果。併發
所以,若是踐行敏捷的基礎正在快速變化,那麼在不斷迭代項目的同時,敏捷中如何定義完成?咱們如何知道已經真正完成了任務?這是一個有趣的問題。在回答這個問題以前,讓咱們先了解關於敏捷及其方法論。框架
簡單來講,在項目管理中,敏捷用迭代方法來規劃和指導項目過程,這將鼓勵變革。這種方法與傳統的項目管理方法(如瀑布式)截然相反,由於瀑布式設定了嚴格的流程和結構。工具
敏捷是爲短期內進行衝刺(sprint)的小團隊設置的過程,能夠幫助團隊在項目中快速響應變化。小組在衝刺先後按期碰面,根據項目變化調整工做方式。學習
經過敏捷框架,團隊纔可能打造客戶須要的產品,而不是閉門造車,交付不符合市場需求和趨勢的產品。有了敏捷模式,在項目過程當中,團隊可隨時根據須要進行調整工做,從而找到更好的路徑去開發合適的產品。這將使得組織更具競爭力,但當存在無窮盡的功能更新和其餘修復任務時,咱們也很難界定某些任務是否能夠標記爲已經完成。測試
瞭解了相關背景後,讓咱們來回答前面的問題,即如何肯定咱們是否完成了敏捷任務。其中一種答案認爲在完成衝刺後,敏捷任務便可視爲完成。衝刺一般是項目過程當中持續時間較短的任務,一般爲一天、幾天,但最長不會超過一個月。衝刺完成以後,團隊開會並回顧已完成的工做、須要調整的地方和將來的行動規劃。計劃依然存在,但已經被調整以符合實際工做狀況。編碼
理論上,每完成一次迭代就意味着項目的完結。但事實並不是老是如此。一旦出現了必須解決的問題,項目就必須快速對這些變動作出響應。所以,咱們不建議在每一個衝刺(sprint)後發佈產品。但須要確保在sprint階段完成各個功能,以便追蹤項目的進度。設計
所以,完成工做意味着產品的各項功能獲得充分地開發、測試、設計並獲得產品負責人的承認。只有這樣纔可算完成。敏捷中有不少「完成」,但若是有任何存疑之處,sprint就沒有真正完成,所以也不該交付。cdn
在產品真正完成和交付以前,每一個功能是否完工都須要取決於其餘功能的完成狀況。這就意味着須要總體的完成。但每一個sprint都應該在結束是完成某個特定功能。這就意味着若有必要,該功能在sprint結束時能夠單獨交付。blog
但每一個團隊都有本身專屬的完成定義,這從另外一方面說明全部的用戶故事標準已經獲得承認。但不管這個定義是什麼,它要能提升工做質量,並在用戶故事完成時進行評估。
在軟件開發方面,完成指的是某些內容按照標準進行了編碼,通過了審查、實施、測試、整合和記錄。在服務支持方面,指的是用戶故事的每一個任務都已經完成,產品全部者對其進行了審覈,並肯定所交付產品知足了需求。
在敏捷中,完成意味着團隊知道須要交付什麼,而且按要求進行了交付。完成是一種確保透明的手段,可以確保工做的質量符合產品要求和組織目的。
敏捷這種相當重要的管理方法能夠在各種框架中執行,包括 Scrum、極限編程、自適應軟件開發、DSDM、特性驅動開發、看板和水晶方法等。
這些流程是可在敏捷框架內工做的方法,但它們具有不一樣的方法和功能,能夠適用於不一樣類型的項目併發揮最佳的成效。具體哪種更好可能須要取決於具體項目的狀況。但這並不意味着每一個項目只能選擇一種方法。綜合運用一個或多個方法,可能更適合項目的需求。敏捷之因此廣受歡迎,也剛好是由於其靈活性及過程的多樣性。儘管敏捷包含不一樣類型的進程,它們都遵循了一樣的完成定義。
2001年發佈的《敏捷宣言》宣告了敏捷的誕生。宣言的發表是爲了迴應傳統的軟件開發管理方法,它概述了每一個敏捷框架中存在的基本概念。敏捷宣言強調的四個核心價值是:
個體和互動高於流程和工具
工做的軟件高於詳盡的文檔
客戶合做高於合同談判
響應變化高於遵循計劃
敏捷軟件開發還提出了12條原則。這些原則充分體現了咱們對任務或項目什麼時候真正完成的理解:
雖然敏捷誕生於軟件開發,但目前已經應用於更普遍的商業領域。敏捷、精益和組織學習的想法概念已經超越了軟件開發的小圈子,其餘行業也開始採用站立會、優先級和可視化管理。
敏捷從不只是做爲IT項目管理的工具,它還能夠改變其餘企業的管理流程,使用敏捷思想來改變管理項目就是一個很是好的例子。
敏捷某些方面的特徵,如待辦事項等,能夠在企業項目中使用並將成爲最終交付項目的部分功能和特徵。項目中的衝刺或短時間項目,能充分發揮敏捷的快速和高適應性優點。敏捷的另一種應用是跨職能團隊的構建,這能大大提升溝通效率。且持續集成還將有助於提升項目不一樣版塊之間的透明度,從而提升工做效率。此外,還有信息發射源、迭代、增量開發、Scrum會議、時間盒、用例、用戶故事等等,全部這些都可以幫助公司用與傳統瀑布開發不一樣的方法完成工做。
文章來源:Worktile敏捷博客
歡迎訪問交流更多關於技術及協做的問題。
文章轉載請註明出處。