先敏捷再規(guī)范
編輯日期 2019-04-17 閱讀次數(shù):812 次
先敏捷再規(guī)范,先做到再寫到,先短期利益再長(zhǎng)遠(yuǎn)利益,先實(shí)效再完備。
這個(gè)策略源于實(shí)踐。因?yàn)橐徊降轿恢苯硬捎靡?guī)范的方法,阻力比較大,效果難以持久,很可能事倍功半,敏捷方法以其短期內(nèi)可以見效、對(duì)已有的開發(fā)過(guò)程調(diào)整幅度小等特點(diǎn)易于開發(fā)人員接受,所以可以先敏捷再規(guī)范,將敏捷作為通向規(guī)范的一個(gè)階段。
蕓蕓眾生,大都是凡人。凡人都是注重短期利益的。只有那些領(lǐng)袖、那些思想家才是目光如炬,站的高看的遠(yuǎn)。過(guò)程改進(jìn)要從凡人做起,凡人是體系的執(zhí)行者,所以首先要滿足凡人的需求,讓凡人看到好處,否則,群眾的力量是無(wú)窮的,這力量可以建設(shè)的力量也可以破壞的力量。
敏捷的方法是適應(yīng)變化的一種方法,因時(shí)、因勢(shì)、因事調(diào)整計(jì)劃,它可以處理近期內(nèi)即將發(fā)生或已經(jīng)發(fā)生的變化,它不贊成去為未來(lái)的變化太多花費(fèi)時(shí)間,變化會(huì)導(dǎo)致近期計(jì)劃的調(diào)整,也使長(zhǎng)期的計(jì)劃難以預(yù)期。
采用敏捷的方法并不意味著沒有規(guī)矩,沒有文檔、沒有計(jì)劃、沒有跟蹤與控制并不意味著就是敏捷。敏捷方法在落實(shí)其規(guī)矩時(shí)和重量級(jí)的方法有所不同:
1 敏捷方法減少了中間結(jié)果的記錄、減少了管理與支持類的文檔;
敏捷方法中最常見的是3種角色:教練、客戶、程序員。教練起到了項(xiàng)目經(jīng)理和過(guò)程指導(dǎo)者的作用,客戶實(shí)時(shí)執(zhí)行確認(rèn)與驗(yàn)證的動(dòng)作,程序員去實(shí)現(xiàn)產(chǎn)品。敏捷方法減少了管理與支持文檔的工作量,但并不意味著沒有做管理,只是做的少、文檔也少。比如敏捷方法也要做計(jì)劃、也要估算項(xiàng)目的工作量、也要和項(xiàng)目組的成員溝通計(jì)劃的可能性、也要獲得項(xiàng)目組成員的承諾,只是這些管理活動(dòng)可能只有最終的計(jì)劃書,而沒有中間結(jié)果的記錄。在敏捷方法中很少看到關(guān)于質(zhì)量保證活動(dòng)、度量分析活動(dòng)的系統(tǒng)要求。
2 敏捷方法強(qiáng)調(diào)通過(guò)面對(duì)面的口頭交流減少書面的文字交流;
文檔是溝通的一種方式,口頭交流也是一種溝通的方式。在重量級(jí)的管理方法中強(qiáng)調(diào)了文檔的重要性,而敏捷方法并非沒有文檔,只是它認(rèn)為口頭交流更重要,口頭交流效率更高,因此可以編寫簡(jiǎn)單的設(shè)計(jì)文檔,設(shè)計(jì)的思想可以通過(guò)口頭交流進(jìn)行評(píng)審,用口頭交流彌補(bǔ)文檔簡(jiǎn)化的不足,因?yàn)槲臋n簡(jiǎn)單,將來(lái)的變化也就少,維護(hù)的工作量也相應(yīng)減少。
3 敏捷方法強(qiáng)調(diào)最終的交付物而忽略了中間產(chǎn)物。
關(guān)注最終交付物的質(zhì)量而不是中間結(jié)果的質(zhì)量,采用諸如單元測(cè)試、結(jié)對(duì)編程、代碼重構(gòu)、持續(xù)集成、代碼規(guī)范等手段確保源程序的質(zhì)量,采用迭代的方法盡早進(jìn)入編程,在過(guò)程中通過(guò)溝通進(jìn)行設(shè)計(jì)的實(shí)時(shí)評(píng)審、代碼的實(shí)時(shí)評(píng)審,以便于盡早發(fā)現(xiàn)交付代碼的缺陷,盡早修復(fù)缺陷。作為開發(fā)過(guò)程的中間產(chǎn)物需求與設(shè)計(jì)等文檔則進(jìn)行了簡(jiǎn)化。代碼是必須交付的,所以要采用一切手段規(guī)范之,既然要交付,就要保證其質(zhì)量。而需求與設(shè)計(jì)文檔并非是必須交付的,而需求和設(shè)計(jì)也是經(jīng)常變化的,既然不交付,既然始終變化,干脆就不去花時(shí)間去寫。
4 高效的人比規(guī)范的過(guò)程更重要。
一群精英如果能配合默契的合作,則不需要去監(jiān)督他們是否按照標(biāo)準(zhǔn)規(guī)范去執(zhí)行了,這個(gè)團(tuán)隊(duì)是自我管理的,大家有著共同的價(jià)值觀,彼此能快速協(xié)同,互補(bǔ)合作,最終走向成功。是英雄創(chuàng)造了歷史,還是人民群眾創(chuàng)造了歷史?結(jié)論不言而喻,但是如果沒有英雄呢?如果各位都是英雄呢?
以上種種思想,反應(yīng)了敏捷方法的實(shí)用主義哲學(xué)。如果一家企業(yè)的項(xiàng)目大都在10人以下的開發(fā)團(tuán)隊(duì)完全可以從敏捷方法開始著手進(jìn)行過(guò)程改進(jìn)。但是,軟件開發(fā)是一種非規(guī)模經(jīng)濟(jì)的現(xiàn)象,隨著團(tuán)隊(duì)規(guī)模的增加,上述的手段可能很快就失效,還要回到重量級(jí)方法上來(lái)。