0%

敏捷Agile

軟件項目成功率調查

  • 需求復雜度

市場的需求瞬息萬變,很難實現產品需求的明確且完整的收集;

  • 技術復雜度

技術是飛速發展,對所定義功能的可實現性也面臨著多重不確定性的因素;

  • 組織復雜度

我們常說的“組織架構決定系統架構”,軟件的架構最后會圍繞組織的邊界而變化,當組織分工不合理時,會產生重復的建設或者沖突;

隨著時代進步,以上幾個緯度的復雜化的增強,在這樣“復雜系統”(Complex System)背景下,如何降低復雜度?

降低復雜度的兩種思路

  • Defined Process (預定義流程)

  • Empirical Process (實驗性流程)

    實驗性流程的三支柱:

    Transparency 透明

    Inspection 檢測

    Adaptation 調整

什么是敏捷Agile?

敏捷是一種通過創造變化和響應變化在不確定和混亂的環境中取得成功的能力。

敏捷代表的是一種方法,是在“以人為核心驅動”(Human-Driven)的“復雜系統”(Complex System)背景下,一個具有適應性的“經驗性過程控制方法” (Adaptive Empirical Process Control)。

什么敏捷軟件開發?

敏捷軟件開發是基于敏捷宣言定義的價值觀和原則的一系列方法和實踐的總稱。

自組織、跨職能團隊運用適合他們自身環境的實踐進行演進得出解決方案。

  • 瀑布式開發所代表的“Fix Scope, Flex time”(固定范圍,彈性時間)

  • 敏捷開發所代表的“Fix time, Flex Scope”(固定時間,彈性范圍)

在市場變化和技術變化的背景之下,既然市場需求和產品定義所代表的“范圍”無法實現固化,因而無法確定應該投入多少成本來完成,那不妨固定好已有成本的,以成本為約束,實現“范圍”的最大化實現。因此從“計劃驅動”轉向為“價值驅動”。

敏捷價值觀(敏捷宣言) Agile Values

Individuals and interactions 個體和互動OVER 高于processes and tools 流程和工具
Working products 可工作的產品OVER 高于comprehensive documentation 詳盡的文檔
Customer collaboration 客戶合作OVER 高于contract negotiation 合同談判
Responding to changes 響應變化OVER 高于following a plan 遵循計劃
  • 個人與互動高于流程與工具

在項目管理過程中,過程和工具是比較重要的。在過程、工具和個人、互動相比較,過程、工具就顯得沒那么重要。這也就是我們常說的:成也蕭何,敗也蕭何。事在人為。天下事,重在商榷。

  • 可工作的產品高于詳盡的文檔

在互聯網、大數據時代下,通過收集有效數據、信息,再進行匯總、分析、挖掘,項目干系人通過移動端即可實時監控項目進展和狀況,這遠比復雜的文件更高效。那么,要想實現這一功能,就離不開可用的軟件產品。

  • 客戶合作高于合同談判

甲乙雙方,在平等互利的基礎上,簽署合同。換句話說:簽訂合同,就是在平等的基礎上,為了實現雙贏。只有彼此合作,才能追求雙贏。這也正是項目管理之所以重視溝通的原因所在。

  • 響應變化高于遵循計劃

項目的特征之一就是漸進明細。人們常說:計劃趕不上變化快。在規劃階段,不論我們的計劃做得多么詳細,在實施階段,總會有意想不到的問題發生。在項目管理過程中,變更在所難免。正確面對變更,是每個項目管理者最睿智的抉擇。

與其右項價值,我們更重視左項的價值,但是右項的價值也是需要的,不可磨去。

敏捷原則 Principles

1、Our highest priority is to satisfy the customer through early and continuous deliver of valuable software。

2、Welcome changing requirements,even late in development。 Agile processes harness change for the customer’s competitive advantage。

3、Delivery working software frequently,from a couple of weeks to a couple of months,with a preference to the shorter timescale。

4、Business people and developers must work together daily throughout the project。

5、Build projects around motivated individuals。 Give them the environment and support they need,and trust them to get the job done。

6、The most efficient and effective method of conveying information to and within a development team is face-to-face conversation。

7、Working software is the primary measure of progress。

8、Agile processes promote sustainable development。 The sponsors,developers,and users should be able to maintain a constant pace indefinitely。

9、Continuous attention to technical excellence and good design enhances agility。

10、Simplicity – the art of maximizing the amount of work not done – is essential。

11、The best architectures,requirements,and designs emerge from self-organizing teams。

12、At regular intervals,the team reflects on how to become more effective,then tunes and adjusts it behavior accordingly。

價值排序,盡早交付

1、我們最重要的目標,是通過及早和持續不斷地交付有價值的軟件使客戶滿意。

擁抱變化,提高優勢

2、欣然面對需求變化,即使在開發后期也一樣。為了客戶的競爭優勢,敏捷過程掌控變化。

持續交付,小步快跑

3、經常地交付可工作的軟件,相隔幾星期或一兩個月,傾向于采取較短的周期。

團隊合作,每日互動

4、業務人員和開發人員必須相互合作,項目中的每一天都不例外。

信任成員,給予支援

5、激發個體的斗志,以他們為核心搭建項目。提供所需的環境和支援,輔以信任,從而達成目標。

當面溝通,高效明了

6、不論團隊內外,傳遞信息效果最好效率也最高的方式是面對面的交談。

成果達成,衡量進度

7、可工作的軟件(系統)是進度的首要度量標準。

各方成員,穩定節奏

8、敏捷過程倡導可持續開發。責任人、開發人員和用戶要能夠共同維持其步調穩定延續。

追求卓越,強化敏捷

9、堅持不懈地追求技術卓越和良好設計,敏捷能力由此增強。

精簡產品,杜絕浪費

10、以簡潔為本,它是極力減少不必要工作量的藝術。

同心協力,自我組織

11、最好的架構、需求和設計出自自組織團隊。

團隊自省,持續改進

12、團隊定期地反思如何能提高成效,并依此調整自身的舉止表現。

layicr 微信支付

微信支付

layicr 支付寶

支付寶