什麼是敏捷開發?

2021-02-23 世紀卓越PMP

武漢PMP  漢陽PMP  光谷PMP  武漢PMP培訓認證 武漢PMP考試中心 武漢項目管理培訓 PMP考試中心 武漢ACP培訓認證 武漢ACP考試中心 武漢PMP

我們理解東西習慣從已知連接未知,首先我們來對比一下。我們最先了解到的是瀑布模型,那麼它就是不敏捷的。

瀑布開發模式把開發分成一系列階段,如需求、設計、開發、測試,就像下圖它畫出來的,看起來很像瀑布,所以叫瀑布開發。

問題是需求的交付難道不都是要經歷這些階段嗎?

瀑布開發的本質問題並不是階段,而是批量。需求批量地在一起進行設計,然後是批量地開發,批量地測試、交付等等。

批量有什麼問題? 首先,批量讓價值交付延遲,所有需求在最後的階段才能交付,價值交付比較晚。Google執行董事長施密特提出過反摩爾定律,表述為:

「如果18個月之後我們只能賣出跟今天一樣的東西,我們就只能得到一半的收入。」價值的交付時間將直接影響收入。

敏捷的目標一

敏捷開發有第一個目標就是更快的交付價值,這裡的快指的不是絕對速度,而是更早的交付。


在項目結束的時候,一定是對產品和項目的知識理解最充分的時候。這顯而易見,我們在項目進程中積累了知識特別是當向用戶交付產品後,用戶反饋:

「我要的不是這個啊,我說的明明是……」,這時候你瞬間狂漲知識,並感嘆道「你怎麼不早說呢?」。

這中間可能有溝通問題,但更多可能的是,用戶這時才清楚或能夠描述他們要的是啥,更有甚者,我們可能一開始連用戶是誰也未必能準確地定義。產品和業務開發本來就是一個探索的過程,開始時一定是最無知的時刻。


項目中的大部分決策也一定是在項目開始的時刻做出的,這將有一個重大的悖論,在最無知的時刻,做出了最重要而且是絕大部分的決策,並把它作為隨後執行的依據。面對不確定的技術、市場環境,傳統開發模式已無法適應要求,悖論越發突出。


敏捷開發將通過迭代應對這一問題,只做初始決策,定大致的方向。通過市場反饋不斷修正對產品的認知,增量的決策和調整。

敏捷的目標二

產品開發過程中,技術環境、市場環境、競品策略、團隊認知都會發生變化。面對變化的環境,我們必須承認自己的無知,在開發過程主動有效地學習,不斷地汲取反饋,靈活地調整。

這也是敏捷的第二個業務目標,有效學習和靈活響應變化。

敏捷開發工具


敏捷開發是一種以人為核心,以迭代方式循序漸進開發的方法,其軟體開發的過程稱為「敏捷過程」。

在這一過程中,軟體項目的構建被切分成多個子項目,各個子項目的成功都經過測試,具備集成和可運行的特徵。

在2001年年初,一些業界專家成立了敏捷聯盟,起草了敏捷軟體開發宣言。該宣言針對一些企業的現狀,提出了讓軟體開發團隊具有快速工作、快速應變能力的若干價值觀和原則,其中包括4個簡單的價值觀以及敏捷開發方法應遵循的12條原則 。

敏捷開發的價值觀

1.個人和交互勝過過程和工具。
2.可以運行的軟體勝過面面俱到的文檔。
3.客戶合作勝過合同談判。
4.響應變化勝過遵循計劃。

敏捷開發應遵循的12條原則

1.通過儘早的、不斷地提交有價值的軟體來使客戶滿意。
2.即使到了開發的後期,也歡迎改變需求。敏捷過程利用變化來為客戶創造競爭優勢。


3.以從幾個星期到幾個月為周期,儘快、不斷地提交可運行的軟體。
4.在整個項目開發期間,業務人員和開發人員必須天天都在一起工作。


5.以積極向上的員工為中心,建立項目組,給他們提供所需的環境和支持,並對他們的工作予以充分的信任。
6.在團隊內部,最有效、效率最高的傳遞信息的方法,就是面對面的交流。


7.測量項目進展的首要依據是可運行軟體。
8.敏捷過程提倡可持續的開發,責任人、開發者和用戶應該為能夠保持一個長期的、恆定的開發速度而努力。


9.時刻關注技術上的精益求精和好的設計,以增強敏捷能力。
10.簡單是最根本的。


11.最好的構架、需求和設計出於自組織的團隊。
12.每隔一定時間,團隊要反省如何才能更有效地工作,然後相應地調整自己的行為。

敏捷組織提出的敏捷開發模型的整體框架主要有三個:
Scrum、XP(eXtreme Programming)、OpenUP 這3個敏捷實踐。

敏捷開發的原則

1.凝聚人的力量,緊密協(合)作。包括業務負責人、開發團隊、客戶、管理者之間的關係,所有這些關係在以前都是造成項目危機的原因之一,那麼,在敏捷時代,我們需要這些角色 緊密合作,最大限度的發揮各個角色的力量.


2.聚焦客戶價值,消除浪費(如何聚焦用戶價值,即頻繁的交付用戶可工作的軟體,快速收到用戶反饋)

敏捷團隊運作機制

1.一個團隊有自己的代辦事項,對代辦事項進行拆小。
2.按客戶價值進行優先級排序,產品經理負責價值排序。
3.小而穩定,跨職能團隊。
4.多個團隊鬆耦合(依賴性比較低),對齊迭代時間和戰略目標。

關鍵的團隊角色

產品負責人
Scrum主管(流程主管)
開發團隊

產品負責人(Product Owner)

負責管理產品backlog(代辦事項)的唯一負責人


代表客戶/項目如責任人
定義產品的所有特性
負責產品的投入產出


負責最大化產品和開發團隊工作的價值

Scrum Master(流程主管)

起到教練的職責,領導團隊完成Scrum的實踐以及體現其價值。


排除團隊遇到的困難,使得團隊緊密合作,使得團隊個人具有多方面職能的工作能力。

確保團隊能勝任其工作,並保持高效的生產率。
保護團隊不受到外來無端影響

關鍵的團隊活動

每日例會:每日5分鐘左右的一個簡單例會,儘可能多的開發人員參與進來對緊要問題的討論。


評審會:需要在迭代周期的最後一天召開,1個小時左右就可以了,需要客戶出席,如果客戶不能出席,則需要產品經理出席


迭代回顧會:迭代回顧會是在每個迭代結束時進行,總結工作中的經驗和教訓,時間維持在30-60分鐘內,整個團隊都需要參加(Scrum Master、Product Owner、開發團隊以及客戶)。


迭代回顧會包括兩部分,第一部分是定量分析,第二部分是定性分析。

其中定量分析又包含團隊是否完成了迭代目標,收集並評審迭代度量指標(包括速率、迭代燃盡圖、迭代計劃故事和實際完成故事、計劃發布日期與實際發布日期、客戶滿意度、團隊滿意度、生產環境Bug數、生產Bug解決時間、用戶故事等)。

定性分析包含哪些工作良好(應該繼續保持),哪些做的不好(應該停止)?哪些可以改進(團隊選出1-2條在下一個迭代實現)?

來源:運維自研堂

聲明:世紀卓越所發稿件、圖片均用於學習交流使用,並在顯要位置註明文章出處和來。

若涉及版權,請通過平臺與我們取得聯繫,我們將在第一時間處理。

【世紀卓越近期項目管理培訓】

項目管理PMP培訓(2019年12月考試)>>點擊查看詳情

↑↑長按二維碼一鍵諮詢

相關焦點

  • 什麼是敏捷開發
    已經有很多介紹什麼是敏捷開發的文章了,為什麼還要寫一篇呢。我最近也在思考中,主要有2個原因:現在找到的文章,介紹敏捷開發非常簡短,不夠詳細甚至有一些文章,沒有介紹出敏捷的本質作為一名 Scrum培訓師(CST),有必要為大家澄清一下什麼是敏捷開發。敏捷開發調查介紹敏捷之前,先了解一下背景。
  • 什麼是敏捷開發?一分鐘讓你了解敏捷開發的精髓!
    」一詞,想必大家都不陌生,不過對有些人來說,可能也就是書上見過或者聽說過,事實上,「敏捷開發」並不是一門技術或者工具,而只是一個軟體開發方法,也可以說是思想。那麼,究竟什麼是敏捷開發?敏捷開發是一套軟體開發的價值和原則,倡導演進式開發,提早交付,持續改進,鼓勵對變化做出快速靈活的反應。很多人可能會有這樣一個誤區,即敏捷開發就是快速,越快越好,加班加點寫代碼、趕進度等,而實際卻並非如此,對于敏捷,我們可看作是輕量級、高效。
  • JIRA與敏捷:李小龍教給我們的敏捷開發之道
    ChrisMountford:李小龍教給我的敏捷開發之道敏捷開發目前在國內已經從前幾年的「奢侈品」變成了隨處可見的「日用品」,很多企業和開發團隊都在談論和實施敏捷,但不可否認,「偽敏捷」依然廣泛存在,這源於相當多的一部分開發團隊還不清楚敏捷為何物、其本質是什麼、為什麼要實施敏捷開發等
  • 如何實現敏捷軟體開發?
    敏捷開發究竟是什麼?通俗地講,他就是將項目分為多個獨立運行,但又存在聯繫地小項目,通過分別完成實現快速開發。整體來看,它的優勢就是高效!在軟體工程領域,有過很多軟體開發模型,如瀑布模型、快速原型模型、增量模型、螺旋模型、演化模型、噴泉模型、RAD模型、敏捷軟體開發模型、XP極端模型。
  • 敏捷開發超強指南
    編輯導語:敏捷開發以用戶的需求進化為核心,採用迭代、循序漸進的方法進行軟體開發,也是如今很流行的軟體開發方法,但是你真的知道什麼是敏捷開發嗎?本文作者分享了關于敏捷開發的流程以及團隊內部的敏捷分享,我們一起來看一下。
  • 開發方法:深入理解敏捷開發的常見誤區
    即使到了開發的後期,也歡迎改變需求。敏捷過程利用變化來為客戶創造競爭優勢。  經常性地交付可以工作的軟體,交付的間隔可以從幾個星期到幾個月,交付的時間間隔越短越好。  在整個項目開發期間,業務人員和開發人員必須天天都在一起工作。  圍繞被激勵起來的個體來構建項目。給他們提供所需的環境和支持,並且信任他們能夠完成工作。
  • 應用敏捷開發的 5 個好理由
    最近一個問題,是我在我的一個「敏捷研討會」碰到的第一個問題:「也就是說,敏捷是行業的潮流嗎?」。當時房間裡面擠滿了人,這些人都是需要強制去實施「敏捷」但是卻都還不知道「敏捷」具體意味著什麼的人。 他們參加研討會的原因只是因為管理者強制他們參加,還有些人因為他們渴望知道『敏捷「這一到處都使用的詞彙到底時候什麼意思。
  • Scrum:兼顧計劃與靈活的敏捷開發
    每日站會(Daily Stand-up Meeting)團隊每天進行溝通的內部短會,因一般只有15分鐘且站立進行而得名,Team成員通常會在會議上講述如下3點內容:1) 昨天我做了什麼2) 今天我計劃要做什麼3) 我遇到了什麼問題,妨礙了我儘可能有效地工作Scrum
  • 復盤:服務于敏捷開發的項目文檔
    最近完成了一個敏捷開發團隊使用的項目文檔的產品,來復盤一下。項目文檔是什麼?項目文檔,一個管理項目中產生的文檔的在線文件管理軟體。項目是由需求產生來的,有了需求就方便進行需求分析,業務對象設定,功能拆解等工作步驟,以來指導和記錄整個項目運行的過程。
  • 漫畫:三分鐘了解敏捷開發
    什麼是敏捷開發?敏捷開發(Agile)是一種以人為核心、迭代、循序漸進的開發方法。在敏捷開發中,軟體項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特徵。簡單地來說,敏捷開發並不追求前期完美的設計、完美編碼,而是力求在很短的周期內開發出產品的核心功能,儘早發布出可用的版本。然後在後續的生產周期內,按照新需求不斷迭代升級,完善產品。這一切正如某人的名言:
  • 敏捷項目管理軟體,迅速找到最適合你的敏捷開發的管理工具
    2020-12-28 14:22:31 來源: 小仙 舉報   敏捷開發的管理工具
  • 敏捷開發,是心頭的硃砂痣還是牆上的蚊子血?
    當我拿到敏捷的命題,腦海中浮現出的第一個念頭便是如此。傳統開發團隊花一場2-3萬的價格請敏捷教練做著培訓,真正的敏捷團隊則會搖搖頭說:敏捷開發,其實一點也不「敏捷」。敏捷開發不是開發方法敏捷開發誕生的標誌,是2001年2月,由Martin Fowler,Jim Highsmith等17位軟體開發專家起草的敏捷宣言發表,敏捷聯盟成立。從這個配圖,這個形式,你想到了什麼?
  • 應用軟體的「敏捷開發」模式:從小米MIUI談起
    小米CEO雷軍曾表示,MIUI採用了敏捷開發(agile develolment)的模式,因此可以在短時間內完成開發,實現軟體快速迭代。用戶對MIUI這一ROM的質量或許見仁見智,不過,什麼是「敏捷開發」?作為一種相對新穎的產品開發模式,敏捷開發這一概念提出於2001年2月。
  • 什麼是敏捷項目管理
    首先了解下什麼是敏捷項目管理敏捷技術萌芽的產生已經有很長一段時間,最早可以回溯至1930年代沃爾特·休哈特在項目質量方面的計劃-執行-學習-行動(PDSA)方法。2001年,一組軟體和項目專家聚在一起討論他們項目成功的相通之處。
  • 軟體開發:敏捷開發模式,無論是產品還是運營都要懂
    本文筆者將從軟體工程的角度來聊一聊敏捷開發模式,會涉及瀑布,V字、RUP、迭代、螺旋等開發模型,同時重點分享下敏捷模式的核心思想。文章分兩部分:通過舉例和對標其他行業,聊聊軟體開發模型的發展演進。聊聊敏捷的核心思想。
  • 作為產品經理,如何主導團隊敏捷開發?
    敏捷的概念在網際網路公司越來越流行開來,一些傳統的大型公司也逐步地向敏捷轉型,甚至在產品經理面試的時候,面試官最常詢問的就是你參與過敏捷開發團隊麼?作為一個產品經理,如果你現在還不了解敏捷是什麼,可能幾乎無法融入團隊的工作。但是當我們打算閱讀一些敏捷相關的材料時,卻總是被一些拗口的翻譯詞彙搞得很不明所以。
  • 敏捷開發三次迭代(Iteration Three)
    三次迭代(Iteration Three)是敏捷項目開發管理周期中的一個階段,到達這個階段時,項目已經成功的在某些問題上調整過2
  • 落地敏捷開發的12個建議,打造自定義開發管理模式!
    敏捷開發提到的相關原則,敏捷開發模式應用到實際開發過程中,實施起來或多或少與理論存在差異。所謂理論結合實際,作為開發人員或者開發組織來說,不可完全照搬。敏捷開發實施背景敏捷開發模式,總體來說適合迭代演進的產品項目。
  • 實例解析:敏捷開發項目管理五步走
    這篇文章講產品經理如何進行高效的敏捷開發項目管理。一、背景交代背景,利用公司原有的項目管理方式,產品無法按時上線,產品質量難以保障。老闆決定把項目管理交由產品經理主導,務必保證後續產品的質量並按時上線。
  • 七個垂手可得的敏捷開發工具
    1.Jira/Jira AgileJIRA是Atlassian公司出品的項目與事務跟蹤工具,被廣泛應用於缺陷跟蹤、客戶服務、需求收集、流程審批、任務跟蹤、項目跟蹤和敏捷管理等工作領域。不論在本地還是在雲中,TFS均可支持靈活的開發實踐、 多個IDE和平臺,並為您提供有效管理整個IT生命周期的軟體開發項目所需的工具。