您好,登錄后才能下訂單哦!
導語:現在每當直接或間接帶一支研發團隊我都會給大家做一次敏捷思想和實踐的培訓(注:軟件方向,復雜的硬件開發流程建議使用IPD思想)。作為一個有近10年的開發編碼工作經驗的資深程序員,作為一個管理者,作為一個還算轉型成功的創業者,我一直有種初心
希望所有研發人員能夠敢于并且會表達自己,讓更多的人了解自己;
希望所有的研發人員不僅僅是機械的寫代碼,也能洞悉市場、了解用戶,讓自己的產出能夠適配用戶和市場的需求,這何嘗不是一種成就感;
希望所有的研發人員不再受困于狹窄的職場方向,而是有更多可能轉型產品、市場、管理
我認為敏捷開發的實踐帶給了我這些:工作的收益、內心的釋放、轉型的機遇以及最重要的自信,所以也想分享給大家這些。
敏捷開發思想
所有人都可以從字面上理解敏捷代表著“快”;
呆伯特老板的理解:沒有什么計劃或者文檔,直接開始寫代碼......
很多業內人士的理解:迭代 開發。
以上理解不能算是錯,但都是盲人摸象式的理解。我們先看看幾種常見的開發模式:
計劃驅動的瀑布式開發;
逐步完善的迭代 開發;
風險驅動的螺旋式開發;
價值驅動的敏捷開發;
除卻外包項目常采用的瀑布式開發外,在很多人印象里仿佛剩下的三種開發方式都該是敏捷開發,其實這里有個文字游戲,就是“***的”這個定語,敏捷開發是由用戶價值(用戶的需求)驅動,這才是區分標準,這種對核心的強調,是在提醒我們需要最重視的是什么。至于用戶價值的意義,不言而喻——如果我們做出的東西并不是用戶需要的,那又有什么意義?在敏捷開發的過程中其實既有螺旋式開發的思維,也有迭代式開發的流程,甚至有計劃式開發的階段。
敏捷宣言—價值觀
很多“保守力量”反對敏捷開發的原因就是說敏捷不注重計劃或者是文檔等等。這里的文字游戲就是“勝過”二字,并不是沒有,而是取舍側重的分別。總結如下:
“自組織團隊與客戶緊密協作,通過高度迭代式、增量式的軟件開發過程響應變化,并在每次迭代結束時交付經過編碼與測試的有價值的軟件。”
勝過
“與客戶確定合同后在初期制定并遵循基于活動的完整計劃,在重型過程和工具指導下,通過完成大量文檔進行知識傳遞,最后交付需求。”
敏捷開發之 12 條敏捷原則
1、我們最優先要做的是通過盡早的、持續的交付有價值的軟件來使客戶滿意。
注:客戶的期望值管理
2、即使到了開發的后期,也歡迎改變需求。敏捷過程利用變化來為客戶創造競爭優勢。
注:歡迎變更需求但不是意味著可以隨時變更,在一個計劃節點內要保證需求不變更
3、經常性的交付可以工作的軟件,交付的間隔可以從幾周到幾個月,交付的時間間隔越短越好。
注:比如scrum,節點周期往往設置為2到4周
4、在整個項目開發期間,業務人員和開發人員必須天天都在一起工作。
注:研發人員對業務的理解可以使產品更具備可用性甚至有卓越的用戶體驗,業務人員對技術的理解也會讓其更專業,還可以加深不同團隊的交融理解
5、圍繞被激勵起來的個人來構建項目。給他們提供所需要的環境和支持,并且信任他們能夠完成工作。
注:比如針對需求和實現性大家的頭腦風暴,鼓勵每個人發言,比如任務采取主動領取,而不是被動分配,倡導民主和開放
6、在團隊內部,最具有效果并且富有效率的傳遞信息的方法,就是面對面的交談。
注:面對面交談不但效率高,而且有利于清晰透徹的了解對方的意圖,直面解決沖突
7、工作的軟件是首要進度度量標準。
注:每一個節點都要保證軟件是可用的,而不是99%的完成但不可用
8、敏捷過程提可持續的開發速度。責任人、開發者和用戶應該能夠保持一個長期的、恒定的開發速度。
注:scrum節點就如同心跳一般讓我們的計劃有規律
9、不斷地關注優秀的技能和好的設計會增強敏捷能力。
注:倡導每個人要有自主學習能力,建立學習型組織
10、簡單----使未完成的工作最大化的藝術----是根本的。
注:書籍 大道至簡 (豆瓣), UNIX編程藝術 (豆瓣) 的核心思想
11、最好的構架、需求和設計出自于自組織的團隊。
注:《失控》中的去中心化,生物般的進化
12、每隔一定時間,團隊會在如何才能更有效地工作方面進行反省,然后相應地對自己的行為進行調整。
注:“實踐——反省——修正——成長......”的正循環
基于以上這些原則和關鍵詞,抽出幾個敏捷開發的核心:“價值”、“客戶”、“人”、“團隊”。
敏捷實踐之Scrum
大家要明白一個區別,敏捷開發是一種思想,下面來講述一下承載這種思想落地的其中一種開發過程Scrum。
從這張開發過程使用的統計圖中可以看出Scrum的流行程度。Scrum本身并不是方法論,它只是一個框架,它只定義了高層次的管理流程,如下圖示
它并不涉及具體開發方法或者人員的有效溝通技巧等。這些沒有涉及的領域需要同其他理論和技能互為補充,以確保項目的成功。
可以看到Scrum的實施過程是建立在敏捷開發思想12原則基礎上的。反過來,對流程的實施也可以加深大家對敏捷原則的理解。
Scrum兼有的價值觀
核心價值觀:承諾、專注、公開、敬重和勇氣
提倡的原則:自我管理、涌現機制、可視性和評估/適應循環
Scrum的要點提煉
Backlog——明晰商業價值,場景化用戶故事
任務估算——精細,可控,準確
會議——專注,高效,開放
目標——清晰,可達成
《硝煙中的Scrum和XP 》
《高效程序員的45個習慣 》
Jira && confluence 項目管理、wiki知識庫
Redmine 需求、原型、協作
jenkins 持續集成
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。