Scrum敏捷開發(fā)原則跑揉,包括12項(xiàng):
1.盡早锅睛、持續(xù)地交付有價(jià)值的軟件或產(chǎn)品來使用戶滿意
前使用產(chǎn)品需求說明書或者測試用例來編寫詳細(xì)的需求,敏捷開發(fā)使用用戶故事來羅列需求历谍,規(guī)劃迭代用戶故事時(shí)必須按照優(yōu)先級(jí)安排衣撬。
通過頻繁迭代與用戶形成良好的合作關(guān)系,及時(shí)反饋扮饶,不斷完善和提高產(chǎn)品質(zhì)量具练。敏捷開發(fā)小組關(guān)注的是完成和交付具有用戶價(jià)值的功能,對(duì)于不能給用戶帶來價(jià)值的功能甜无,堅(jiān)決不做扛点。
2.? 即使到了開發(fā)后期哥遮,也歡迎改變需求
傳統(tǒng)的瀑布式開發(fā)最大的缺點(diǎn)之一是對(duì)變化及變更的響應(yīng)比較慢,難度大且成本高陵究。
敏捷開發(fā)過程利用變化來為用戶創(chuàng)造競爭優(yōu)勢眠饮,參與者不怕變化,他們認(rèn)為改變需求是好事情铜邮,因?yàn)檫@些改變意味著他們更了解市場需求仪召,更加以用戶和市場需求為導(dǎo)向,與市場需求保持同步松蒜。
3.經(jīng)常交付可以工作的軟件扔茅,交付時(shí)間間隔越短越好
傳統(tǒng)的瀑布式開發(fā)最大的缺點(diǎn)之一就是產(chǎn)品投放市場的時(shí)間太慢,一款產(chǎn)品的研發(fā)周期太長秸苗,很有可能會(huì)錯(cuò)失市場良機(jī)召娜,而敏捷開發(fā)過程強(qiáng)調(diào)小步快跑,不斷試錯(cuò)惊楼。
4.在整個(gè)項(xiàng)目開發(fā)期間玖瘸,業(yè)務(wù)人員和開發(fā)人員必須天天在一起工作
有過異地溝通經(jīng)驗(yàn)的人都知道,異地溝通成本很高檀咙,而且溝通的效率有時(shí)也很低雅倒,如果業(yè)務(wù)人員和開發(fā)人員天天在一起工作,有什么問題好面對(duì)面地溝通解決弧可,這樣效率高屯断,成本低,也有利于團(tuán)隊(duì)內(nèi)部信息的同步侣诺,減少不必要的麻煩殖演。
5.圍繞被激勵(lì)起來的個(gè)人構(gòu)建項(xiàng)目
業(yè)務(wù)和技術(shù)是引起不確定的兩個(gè)主要方面,人是第三個(gè)方面年鸳,而業(yè)務(wù)和技術(shù)又必須由人來執(zhí)行趴久,所以能夠激勵(lì)人解決這些問題是解決不確定性的關(guān)鍵。要使個(gè)人的目標(biāo)和團(tuán)隊(duì)的目標(biāo)一致搔确,就需要調(diào)動(dòng)每個(gè)人的積極性彼棍,以個(gè)人為中心構(gòu)建項(xiàng)目,提供所需的環(huán)境膳算、支持與信任座硕。
6.在團(tuán)隊(duì)內(nèi)部,最具有效果且富有效率的傳遞信息的方法是面對(duì)面的交談
在十幾或者二十幾個(gè)人組成的團(tuán)隊(duì)中涕蜂,書面文檔是一種比較合適的傳遞信息和溝通交流的途徑华匾,而敏捷團(tuán)隊(duì)一般不會(huì)有很多人,因?yàn)榇髨F(tuán)隊(duì)實(shí)施敏捷方法時(shí)也會(huì)分成多個(gè)小的敏捷團(tuán)隊(duì)机隙,所以大量的文檔交流和溝通其實(shí)并不合適蜘拉,面對(duì)面的交談反而更快速萨西、有效,溝通成本低旭旭,效率高谎脯。
7.工作的軟件或產(chǎn)品是首要的進(jìn)度度量標(biāo)準(zhǔn)
敏捷過程最終關(guān)注的交付物必須是用戶可用的。一般的工作都比較容易衡量任務(wù)進(jìn)展持寄,比如源梭,完成多少百分比了,還剩下多少百分比稍味,在產(chǎn)品功能沒有編碼和測試完成之前废麻,都不能以編寫了多少行代碼,運(yùn)行了多少個(gè)測試用例來度量這個(gè)產(chǎn)品功能是否完成了仲闽。衡量這個(gè)功能是否完成的首要標(biāo)準(zhǔn)就是這個(gè)功能可以工作了,對(duì)用戶來說已經(jīng)可以使用了僵朗。
8.敏捷過程提倡平穩(wěn)的開發(fā)節(jié)奏赖欣,發(fā)起人、開發(fā)者和用戶應(yīng)能保持一個(gè)長期验庙、恒定的開發(fā)速度
在國內(nèi)有很多互聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng)公司顶吮,在沒有實(shí)施Scrum敏捷開發(fā)之前,開發(fā)人員加班加點(diǎn)粪薛、熬通宵是司空見慣的悴了,在實(shí)施了Scrum敏捷開發(fā)之后,開發(fā)人員一到下班時(shí)間就消失得無影無蹤了违寿。敏捷開發(fā)過程希望能夠可持續(xù)地進(jìn)行開發(fā)湃交,開發(fā)速度不會(huì)隨著迭代的任務(wù)不同而不同,這與人在跑步的時(shí)候一樣藤巢,突然加速快跑沖刺肯定消耗大量體力搞莺,也就是說您没,不平穩(wěn)的開發(fā)節(jié)奏消耗的能力會(huì)比較多泞当。
9.不斷地關(guān)注優(yōu)秀的技能和好的設(shè)計(jì)會(huì)增強(qiáng)敏捷能力
對(duì)于在敏捷過程經(jīng)過驗(yàn)證的工具、技術(shù)解決方案集歇、開發(fā)模式等都可以加以總結(jié)绍刮,在后續(xù)的迭代過程中都可以靈活應(yīng)用温圆,提高開發(fā)的效率,增強(qiáng)敏捷開發(fā)的能力孩革。
10.簡單化是根本(不做過度設(shè)計(jì)和預(yù)測)
需求千變?nèi)f化岁歉,我們不可能預(yù)期后面的需求會(huì)如何變化,所以不可能一開始就構(gòu)建一個(gè)完美的架構(gòu)來適應(yīng)以后的所有變化膝蜈,想做到一勞永逸刨裆,也是非常不現(xiàn)實(shí)的澈圈。敏捷開發(fā)團(tuán)隊(duì)不會(huì)去構(gòu)建明天的軟件或產(chǎn)品,而是把注意力集中在通過最簡單的方法完成現(xiàn)在需要解決的問題帆啃。
11.最好的構(gòu)架瞬女、需求和設(shè)計(jì)出自于自組織的團(tuán)隊(duì)
在自組織團(tuán)隊(duì)中,管理者不再發(fā)號(hào)施令努潘,而是讓團(tuán)隊(duì)自身尋找最佳的工作方式來完成工作诽偷。
在經(jīng)歷了初期的磨合后,成員才會(huì)開始對(duì)團(tuán)隊(duì)共同的工作理念與文化形成一個(gè)基本的認(rèn)識(shí)和理解疯坤,團(tuán)隊(duì)內(nèi)會(huì)逐漸形成規(guī)矩报慕,而且這些規(guī)矩是不言而喻的。
自組織團(tuán)隊(duì)是一個(gè)自動(dòng)自發(fā)压怠、有著共同目標(biāo)和工作文化的團(tuán)隊(duì)眠冈,這樣的團(tuán)隊(duì)總是在向它的組織做出承諾。
12.團(tuán)隊(duì)會(huì)定期對(duì)前一個(gè)迭代進(jìn)行反省總結(jié)菌瘫,以便調(diào)整自己的行為蜗顽,提高開發(fā)效率
由于很多不確定性因素會(huì)導(dǎo)致計(jì)劃失敗,比如雨让,項(xiàng)目成員增減雇盖、用戶需求的改變、競爭者對(duì)我們的影響等都會(huì)讓我們做出不同的反應(yīng)栖忠。敏捷開發(fā)不是基于預(yù)定義的工作方式崔挖,而是基于經(jīng)驗(yàn)性的方式,對(duì)以上這些變化庵寞,小組通過不斷總結(jié)狸相、反省和調(diào)整,來保持團(tuán)隊(duì)的敏捷性捐川。