敏捷推廣過(guò)程中帮哈,記錄一些同學(xué)的問(wèn)題和思考,持續(xù)更新芒粹。
Q:為什么要守破離?
A:敏捷一開始推行的時(shí)候免猾,很多團(tuán)隊(duì)并不是大家都能知道為什么要這么做是辕。因?yàn)楹芏酁槭裁词且?jīng)過(guò)大量的實(shí)踐才能回答出來(lái)的,為了能讓團(tuán)隊(duì)能迅速體驗(yàn)到敏捷的好處猎提,這時(shí)候就需要守——先按照教練的方法获三、書上的方法去做,直到團(tuán)隊(duì)悟出了為什么锨苏,知道了為什么疙教,團(tuán)隊(duì)就可以根據(jù)自己的情況調(diào)整實(shí)踐的做法,這就是破的過(guò)程了伞租。最后根據(jù)團(tuán)隊(duì)實(shí)際情況贞谓,確定適合自己團(tuán)隊(duì)項(xiàng)目的敏捷實(shí)踐方法,通過(guò)回顧不斷改進(jìn)葵诈,這時(shí)候就是離的時(shí)候了裸弦。
Q:估算不準(zhǔn)確的話為什么還要估算呢?
A:首先之所以是估算作喘,就是因?yàn)楣啦粶?zhǔn)理疙;其次估算其實(shí)是一個(gè)重在過(guò)程的實(shí)踐,除了能給我們一個(gè)大概的工作量的結(jié)果泞坦,更重要的是能揭示大家的理解和所擁有知識(shí)的不一致窖贤,因而盡早的打破這種鴻溝;可以把團(tuán)隊(duì)成員心里的假想暴露出來(lái),通過(guò)暴露假想赃梧,團(tuán)隊(duì)能發(fā)掘更多的細(xì)節(jié)和問(wèn)題滤蝠,這才是估算的真正價(jià)值。
Q:怎么區(qū)分做正確的事和正確的做事授嘀?
A:很多團(tuán)隊(duì)經(jīng)常會(huì)有這樣一個(gè)情況物咳,大家在激烈的討論一個(gè)技術(shù)問(wèn)題,具體如何實(shí)現(xiàn)粤攒,但是他們卻不知道背后用戶的業(yè)務(wù)邏輯所森,他們到底在試圖解決用戶的什么問(wèn)題。這些技術(shù)問(wèn)題夯接,在用戶看來(lái)只是方案焕济,也就是如何正確的做事,而團(tuán)隊(duì)實(shí)際要解決的是用戶的問(wèn)題盔几,這個(gè)才是團(tuán)隊(duì)的初心晴弃,是團(tuán)隊(duì)的價(jià)值所在,也就是要做的正確的事逊拍。問(wèn)題和解決方案之間是一對(duì)多的關(guān)系上鞠,因?yàn)橛杏脩舻膯?wèn)題,所以我們有軟件的解決方案芯丧。解決方案往往面臨的事技術(shù)問(wèn)題芍阎,往往是我們的問(wèn)題,而不是用戶的問(wèn)題缨恒,所以要時(shí)刻記得用戶的問(wèn)題是什么谴咸,不要沉浸于技術(shù)問(wèn)題,而忘記我們究竟要給用戶帶來(lái)什么價(jià)值骗露,解決什么問(wèn)題岭佳。
Q:Scrum里有個(gè)TEAM的角色,TEAM里面是否還需要分崗位萧锉?
A:敏捷里的TEAM是跨職能團(tuán)隊(duì)珊随,就是為了區(qū)別過(guò)去的職能團(tuán)隊(duì),每個(gè)人只能做職能范圍的事情柿隙。在跨職能團(tuán)隊(duì)中叶洞,每個(gè)人都可以做團(tuán)隊(duì)需要他做的任何事,每個(gè)人都應(yīng)該有架構(gòu)師的視角禀崖,每個(gè)人都應(yīng)該有QA的視角衩辟,所以scrum里一般會(huì)把這些職責(zé)工作當(dāng)做帽子,不會(huì)給團(tuán)隊(duì)成員打上固定的標(biāo)簽帆焕,你做什么就什么(don't label yourself,you are what you do)惭婿。
Q:怎么判斷我們團(tuán)隊(duì)是否在做敏捷了呢?是否使用了scrum叶雹,lean财饥,XP的各種實(shí)踐就可以了呢?
A:敏捷宣言的第一句話:我們一直在實(shí)踐中探尋更好的軟件開發(fā)方法折晦,身體力行地同時(shí)也幫助他人钥星。是否敏捷,更加看重的是我們是否不斷在尋找適合我們團(tuán)隊(duì)效率满着、產(chǎn)品質(zhì)量、產(chǎn)品功能的思維和方法。各種實(shí)踐只是幫助我們更好的達(dá)到這個(gè)目的孙咪,如果團(tuán)隊(duì)使用的方法不在常見(jiàn)的實(shí)踐范圍樊破,但是總是不斷發(fā)現(xiàn)新問(wèn)題,并不斷改進(jìn)魂莫,那么就是在敏捷的道路上了还蹲,不用糾結(jié)各種具體的實(shí)踐。但是這些總結(jié)的實(shí)踐耙考,之所以會(huì)被認(rèn)可和推廣也都是被證明在大多數(shù)情況下能更好的幫助團(tuán)隊(duì)敏捷化的谜喊,所以這些實(shí)踐都是可以借鑒的。
Q:到底什么樣的產(chǎn)品倦始、項(xiàng)目斗遏、企業(yè)適合使用敏捷?什么樣的適合使用傳統(tǒng)開發(fā)方式呢鞋邑?
A:凡是產(chǎn)品需求前期非常明確诵次,并且業(yè)務(wù)類型基本沒(méi)有變化的項(xiàng)目和產(chǎn)品,都適合傳統(tǒng)開發(fā)方式炫狱,這種情況多見(jiàn)在軍工藻懒,金融,航天视译、制造業(yè)中嬉荆,這種失敗成本高,其核心價(jià)值觀是利用需求酷含、計(jì)劃的可追溯性鄙早、一致性,來(lái)達(dá)成對(duì)生命攸關(guān)和潛在重大損失項(xiàng)目的保障椅亚。凡是前期需求不明確限番,在開發(fā)過(guò)程中需要不斷做演示,不斷得到用戶反饋呀舔,功能需求不斷變化的情況弥虐,允許團(tuán)隊(duì)通過(guò)不斷試錯(cuò)扩灯,迅速響應(yīng)需求變化的場(chǎng)景,都適合更多的使用敏捷思維的工具和模型霜瘪。但是無(wú)論哪種模型珠插,溝通、互助颖对、主動(dòng)捻撑、責(zé)任、謙虛等工作態(tài)度在任何情況都是適用團(tuán)隊(duì)的缤底。
Q:敏捷如何幫助我們控制成本顾患?
A:并不是所有的項(xiàng)目都適合用敏捷,關(guān)鍵看我們最后想要達(dá)成的目標(biāo)是什么个唧?如果目標(biāo)是看到某個(gè)產(chǎn)品在互聯(lián)網(wǎng)用戶中的增長(zhǎng)率江解、產(chǎn)品反饋速度、那么敏捷可以非常適合徙歼。但是如果是成本控制膘流,敏捷無(wú)法很好的準(zhǔn)確估算,這個(gè)不是敏捷的強(qiáng)項(xiàng)鲁沥。但是敏捷中的一些實(shí)踐仍然可以幫助我們更好的交付呼股,比如頻繁的溝通和站立會(huì)議,看板等画恰,這些和開發(fā)模式?jīng)]有關(guān)系彭谁,這些依然能幫忙我們提升效率以達(dá)到成本控制的效果;
Q:QA和QC的區(qū)別允扇?
A:QC是測(cè)試找到BUG缠局,QA是預(yù)防產(chǎn)生BUG。QA不應(yīng)該在用戶故事生命周期的后半段才介入考润,而應(yīng)該在一開始就介入狭园,那么也就是我們常說(shuō)的測(cè)試前移;
Q:團(tuán)隊(duì)中很多老資格程序員糊治,每天千篇一律的coding唱矛,難免枯燥,如何讓開發(fā)保持熱情呢井辜?
A:很多團(tuán)隊(duì)經(jīng)常趕進(jìn)度绎谦,枯燥的編碼生活,要保持開發(fā)熱情最重要的是讓他們有成就感粥脚。在平日工作中能不斷學(xué)習(xí)窃肠,每天都能看到自己的進(jìn)步,周圍同事對(duì)他的進(jìn)步能迅速給出反饋刷允,讓大家在這個(gè)團(tuán)隊(duì)中能有更多的成就感這是關(guān)鍵冤留。