在開發(fā)軟件的時(shí)候遇到最多的事情是什么?是無法預(yù)見的事情。那么,我們就需要在開發(fā)過程中建立一套盡快反饋信息的機(jī)制,盡早建立系統(tǒng)原型,盡早讓客戶參與驗(yàn)證設(shè)計(jì)和測(cè)試的每一個(gè)階段,盡早提供反饋信息,使不可預(yù)見的事情盡早到來;以小步快跑,不斷更新的短期迭代方式進(jìn)行軟件開發(fā),使系統(tǒng)盡量接近可發(fā)布或可運(yùn)行狀態(tài)。
精益思想中首先要消除浪費(fèi),而浪費(fèi)是一個(gè)很廣的概念,任何妨礙迅速滿足客戶需要的事物都是浪費(fèi)。例如:生產(chǎn)了超出需求的產(chǎn)品、開發(fā)工作移交、組件被閑置,這都是一種浪費(fèi)。在軟件開發(fā)中常見的七種浪費(fèi)有:部分完成的工作、額外過程、額外特性、任務(wù)調(diào)換、等待、移動(dòng)、缺陷。這使得我們需要思考一下,是否在團(tuán)隊(duì)回顧會(huì)上就這七種浪費(fèi)逐一進(jìn)行討論?并針對(duì)我們的開發(fā)過程消除這些浪費(fèi)?
開發(fā)是一個(gè)發(fā)現(xiàn)過程,就好比制定新菜譜,而新菜譜是廚師通過反復(fù)嘗試,不斷學(xué)習(xí)而開發(fā)出來的。軟件開發(fā)也需要這樣做才能更好的滿足客戶口味。敏捷開發(fā)要求在推測(cè)的基礎(chǔ)上不斷試驗(yàn)和學(xué)習(xí),以便減少不確定性,是計(jì)劃與現(xiàn)實(shí)相符。敏捷開發(fā)其實(shí)也是一種復(fù)盤的方法,在每一次迭代中都會(huì)針對(duì)上一次迭代進(jìn)行回顧,總結(jié)上次迭代的經(jīng)驗(yàn)教訓(xùn)、優(yōu)點(diǎn)、不足,在學(xué)習(xí)中前進(jìn),讓假設(shè)更接近現(xiàn)實(shí)結(jié)果,提高項(xiàng)目成功率,從而贏得客戶滿意。
我們?cè)谑褂每窗鍖?duì)工作進(jìn)行管理時(shí),發(fā)現(xiàn)價(jià)值流、拉動(dòng)、可視化是核心,這也契合了敏捷開發(fā)的思想?;仡檿?huì)也是一個(gè)很好的方法,能夠激發(fā)組員的熱情和主動(dòng)性,共同努力共同發(fā)現(xiàn)問題解決問題,回顧會(huì)也是一個(gè)迭代的過程,當(dāng)各室都掌握了這樣的方法,持續(xù)開展。結(jié)合敏捷的思想加上看板工具,我相信我們的效率、質(zhì)量會(huì)更上一層樓。