可能性相對(duì)較少。又比如內(nèi)容創(chuàng)建流程的易用性,這個(gè)用戶(hù)使用頻率是非常高的,那么怎么優(yōu)化內(nèi)容創(chuàng)建的用戶(hù)體驗(yàn),這個(gè)功能點(diǎn)優(yōu)先級(jí)也就是很高的,然而它的代價(jià)可能不會(huì)特別高。
3)完整性
要特別注意是功能點(diǎn)的完整性,比如說(shuō)內(nèi)容異常流程的處理,假設(shè)因?yàn)轫?xiàng)目時(shí)間,先不實(shí)現(xiàn)了,那么也不是說(shuō)完全不處理異常了,還是要做到有一定完整性,即使是簡(jiǎn)單的實(shí)現(xiàn)也是需要的(比如說(shuō)記錄日志以供人工查詢(xún)),但是這個(gè)簡(jiǎn)單實(shí)現(xiàn)是代價(jià)最小的,而且是以后可以很快去替代的。
4)可持續(xù)性
功能點(diǎn)的實(shí)現(xiàn)選擇,要考慮的還有可持續(xù)性的問(wèn)題,就是功能點(diǎn)是可以不斷去疊加來(lái)完善的,而不是說(shuō)不斷的推翻后重新實(shí)現(xiàn)一把,這個(gè)是差別很大的。比如說(shuō)內(nèi)容創(chuàng)建功能,現(xiàn)在對(duì)于異常的處理我們暫時(shí)不實(shí)現(xiàn),這個(gè)是沒(méi)有問(wèn)題的;但是如果下次要實(shí)現(xiàn)異常處理的時(shí)候,就要把現(xiàn)在內(nèi)容創(chuàng)建的流程的功能描述推翻重來(lái),這個(gè)可持續(xù)性就有問(wèn)題了,因?yàn)檫@個(gè)意味著以前的功能全部都會(huì)被推翻,很可能是以前的實(shí)現(xiàn)都白費(fèi)了,這就是功能點(diǎn)設(shè)計(jì)的的不可持續(xù)性了。功能點(diǎn)設(shè)計(jì)一定要有持續(xù)性,如果是這樣子,系統(tǒng)的功能就能夠越做越強(qiáng)。
所以我們可以把每一個(gè)的User Story的各個(gè)功能點(diǎn)想的更加完善,這個(gè)是很好的,剩下的只是如何取舍的了,所謂取舍,只是階段性的舍棄和選擇罷了。所以在討論過(guò)程中,不要因?yàn)楣δ艿脑鰪?qiáng),范圍的擴(kuò)大而讓我們感到害怕和困惑,把他們記錄下來(lái),就是很好的逐步改進(jìn)系統(tǒng)的武器,我們只要運(yùn)用上面的一些原則,就能夠讓我們做的更好。
下來(lái)再談?wù)勗O(shè)計(jì)的問(wèn)題。
在Head First Object-Oriented Design的書(shū)中,定義Good Design就是Flexible Design。而The Art of Agile Software Development一書(shū)中,定義Good Design為“A good software design minimizes the time required to create, modify and maintain the software while achieving acceptable runtime performance.”就是軟件的可維護(hù)性。所以Agile Design強(qiáng)調(diào)的功能,基本上都是從如何不斷改進(jìn)軟件的可維護(hù)性和可擴(kuò)展性而努力的,只有軟件具備了良好的可維護(hù)性和可擴(kuò)展性,那么軟件能夠很好的不斷疊加功能,軟件才具有旺盛的生命力。
我們實(shí)際中面向的問(wèn)題呢?其實(shí)還是很簡(jiǎn)單,就是好的設(shè)計(jì)和項(xiàng)目時(shí)間的沖突,好的設(shè)計(jì)是需要時(shí)間考慮的,也是需要時(shí)間來(lái)實(shí)現(xiàn)的(雖然不是絕對(duì),有時(shí)候好的設(shè)計(jì)會(huì)節(jié)省更多的工作量)。
對(duì)于第一個(gè)問(wèn)題,于項(xiàng)目時(shí)間的沖突,這個(gè)可以回到前面開(kāi)始談的內(nèi)部質(zhì)量和外部質(zhì)量的問(wèn)題,前面對(duì)于功能(外部質(zhì)量)的問(wèn)題,我們已經(jīng)談了取舍的方法,那么,內(nèi)部質(zhì)量(設(shè)計(jì)),是不是也可以取舍呢?在“Scrum and XP from the Trenches”書(shū)里面,作者自己是這么認(rèn)為的:
Internal quality, however, is not up for discussion. It is the team’s responsibility to maintain the system’s quality under all circumstances and this is simply not negotiable. Ever.
在這上面我是持一樣的觀點(diǎn)的。
然而我們的問(wèn)題依然存在。和項(xiàng)目時(shí)間的沖突如何平衡呢?我想可以考慮兩個(gè)原則:
<!--[if !supportLists]-->1) <!--[endif]-->足夠好(First Right)
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html