曾經(jīng)執(zhí)行了一個(gè)時(shí)間緊独榴,任務(wù)重僧叉,需求還不明確的軟件項(xiàng)目,利用瀑布型的開發(fā)方式是不適合的棺榔,不知道怎么處理而差點(diǎn)驚慌失措的時(shí)候瓶堕,憋了兩天,設(shè)計(jì)出一個(gè)全新的管理框架症歇,和迭代開發(fā)類似郎笆,就是項(xiàng)目團(tuán)隊(duì)和客戶坐在一個(gè)屋子里,也別區(qū)分太清晰的角色当船,每個(gè)人都開發(fā)题画,每個(gè)人都測(cè)試,先利用兩個(gè)兩周開發(fā)一個(gè)核心業(yè)務(wù)流程和功能模塊德频,讓系統(tǒng)運(yùn)轉(zhuǎn)起來苍息。然后每周根據(jù)新的需求,經(jīng)過評(píng)估后認(rèn)為一周內(nèi)可以完成后,制作界面級(jí)的功能原型并進(jìn)行確認(rèn)竞思,然后進(jìn)行開發(fā)和測(cè)試表谊,形成一個(gè)可以使用的軟件,每周五上午向客戶演示完成的功能盖喷,下午交付一部分可以面向用戶使用的功能爆办,如果有問題則放到下一個(gè)迭代周期解決。在那段時(shí)間里课梳,大家非常高效的合作距辆、工作,效果很好暮刃,后來得知這個(gè)方法幾乎和Scrum方法幾乎一摸一樣跨算,Scrum的核心就是關(guān)注團(tuán)隊(duì)互動(dòng),經(jīng)常交付可以使用的軟件椭懊。
按照現(xiàn)在已知的Scrum敏捷框架進(jìn)行總結(jié)诸蚕,當(dāng)時(shí)項(xiàng)目過程中,沒有產(chǎn)品負(fù)責(zé)人和敏捷教練的角色氧猬,只存在這樣的工作背犯,但區(qū)分的不是那么清晰。需求不是用用戶故事模式進(jìn)行的盅抚,而是傳統(tǒng)的需求規(guī)格說明書漠魏,但設(shè)計(jì)確實(shí)是簡(jiǎn)化了,利用界面功能原型的方式進(jìn)行設(shè)計(jì)泉哈。在開發(fā)過程中蛉幸,開發(fā)和測(cè)試并行執(zhí)行的不錯(cuò)。Scrum的幾種會(huì)議也有類似的模式丛晦,每周五系統(tǒng)演示交付和新需求確認(rèn)會(huì)奕纫,說明已經(jīng)完成的需求,還有沒有完成的需求烫沙,像燃盡圖一樣匹层。周一的原型設(shè)計(jì)確認(rèn)和任務(wù)部署會(huì),即將任務(wù)放到TBD列表中锌蓄,并說明完成標(biāo)注升筏,每天的工作完成會(huì)和第二天的計(jì)劃會(huì)∪乘總之您访,真的很神似。項(xiàng)目意想不到的一個(gè)結(jié)果是剪决,客戶積極參與了灵汪,驗(yàn)收付款很快檀训。
貌似項(xiàng)目進(jìn)行的很順利,在當(dāng)時(shí)項(xiàng)目結(jié)束以后進(jìn)行總結(jié)享言,但這種方法沒有被上層經(jīng)理和公司所認(rèn)可峻凫,所以這種方法沒有在公司內(nèi)被繼續(xù)推廣下去,不過這種方法深深影響了我览露,以及后來真正學(xué)習(xí)Scrum敏捷框架的時(shí)候荧琼,也是非常有收獲的。在后來的新公司中差牛,終于使用了Scrum框架命锄,通過快速反饋和持續(xù)改進(jìn)機(jī)制的建立,提升了交付效率多糠。但用的不是很多累舷,大多還是傳統(tǒng)方法。除了Scrum框架本身夹孔,有一些經(jīng)驗(yàn)是可以借鑒的。
1析孽、適應(yīng)變化和不確定的風(fēng)險(xiǎn)搭伤。對(duì)于一個(gè)用IT系統(tǒng)實(shí)現(xiàn)的一個(gè)新業(yè)務(wù)而言,外部的需求并不是那么清晰袜瞬,換句話說怜俐,大家都沒有想好想做什么。往往是客戶邓尤、用戶見到了開發(fā)的成果以后拍鲤,才知道自己想要做什么,雖然不是全盤推翻汞扎,但也是略有不同季稳。只有利用敏捷框架才能適應(yīng)這種變化。
2澈魄、短期迭代迅速交付新功能景鼠。傳統(tǒng)的IT系統(tǒng)交付方式是整個(gè)系統(tǒng)都完工了,然后組織培訓(xùn)痹扇,交付使用铛漓,然后得到了非常多的反饋意見,然后又用很長(zhǎng)的開發(fā)周期去完善鲫构,然后再次交付后浓恶,進(jìn)行驗(yàn)收。有的時(shí)候迫于形勢(shì)结笨,驗(yàn)收后包晰,還得繼續(xù)完善部分功能湿镀。而敏捷方式交付一個(gè)功能以后,用戶的學(xué)習(xí)成本很低杜窄,舉個(gè)例子肠骆,就幾個(gè)功能,容易進(jìn)行學(xué)習(xí)和反饋塞耕。新的功能交付以后也是如此蚀腿,很快就學(xué)習(xí)完畢了,即使存在問題扫外,也很快就能更正莉钙。不僅是在應(yīng)用系統(tǒng)的開發(fā)中可以利用敏捷框架,做其他的事情也同樣筛谚,例如在編寫大系統(tǒng)的驗(yàn)收?qǐng)?bào)告時(shí)磁玉,先完成一個(gè)框架,每周重點(diǎn)突破編寫一部份內(nèi)容驾讲,提交以后讓客戶先審核蚊伞,持續(xù)接受反饋和改進(jìn)。
3吮铭、團(tuán)隊(duì)溝通时迫、共享知識(shí)和開發(fā)測(cè)試工作是交叉的,每個(gè)人都可以做所有的工作谓晌,即使是產(chǎn)品負(fù)責(zé)人或敏捷教練掠拳,都可以作為用戶角色完成一些技術(shù)性的工作。采用敏捷框架還需要一些工具的支持纸肉,溝通的工具溺欧,迭代任務(wù)和任務(wù)分配、Kanban柏肪、自動(dòng)化測(cè)試的工具等姐刁。此外,作為敏捷教練更容易的關(guān)注小項(xiàng)目組中的每一個(gè)人预吆,容易優(yōu)化開發(fā)流程龙填,團(tuán)隊(duì)每天在一起,容易讓關(guān)系更融洽拐叉,工作更默契岩遗。
我認(rèn)為思維觀念的更新和公司層級(jí)的支持是最重要的,也是最不容易做到的凤瘦,往往是因?yàn)檫@個(gè)做不到宿礁,而影響到前面三條都無法做到。敏捷框架蔬芥,不是用一塊白板貼若干個(gè)即時(shí)貼就完成的梆靖,也不是平時(shí)的坐著開會(huì)變成站立開會(huì)就可以的控汉,這需要太多的轉(zhuǎn)變,敏捷不是工作快返吻,不是快速開發(fā)和交付姑子,而是更好的應(yīng)對(duì)不確定,對(duì)不確定的迅速響應(yīng)和應(yīng)對(duì)测僵。如果做不到思維的轉(zhuǎn)變街佑,敏捷也是空談。
總之捍靠,我認(rèn)為敏捷框架是容易讓人進(jìn)步的沐旨,但沒有共同的目標(biāo)和意識(shí)的轉(zhuǎn)變,做起來卻是也不容易榨婆。