(1)準(zhǔn)備工作的中心目標(biāo)就是降低風(fēng)險(xiǎn):一個(gè)好的項(xiàng)目規(guī)劃者能夠盡可能早的將可能的風(fēng)險(xiǎn)清除掉,以使項(xiàng)目的大部分能夠平穩(wěn)的進(jìn)行。目前軟件項(xiàng)目中最大的風(fēng)險(xiǎn)來自糟糕的需求分析和糟糕的項(xiàng)目計(jì)劃,因此準(zhǔn)備工作就傾向于集中改進(jìn)需求分析和項(xiàng)目計(jì)劃。
(2)作為技術(shù)人員,我們的一部分工作就是培訓(xùn)周圍的非技術(shù)人員,講解開發(fā)過程。
??????觀點(diǎn):在開始編碼、測(cè)試、調(diào)試之前進(jìn)行需求分析和架構(gòu)設(shè)計(jì)——才能保證關(guān)鍵方面都做的正確。
???????“老板就緒”測(cè)試:如果覺得你的老板已經(jīng)明白了“在開始構(gòu)建之前進(jìn)行前期準(zhǔn)備”的重要性,那么可以進(jìn)行以下測(cè)試:a、我們最好立刻開始編碼,因?yàn)閷?huì)有很多的調(diào)試工作需要做。b、我們并沒有為測(cè)試安排太多的時(shí)間,因?yàn)閷聿粫?huì)發(fā)現(xiàn)多少缺陷。c、我們已經(jīng)非常詳細(xì)的研究了需求和設(shè)計(jì),我想不出在編碼和調(diào)試期間還會(huì)遇到什么問題。
(3)絕大多數(shù)項(xiàng)目都不可能完全使用迭代式開發(fā)法或者完全使用序列式開發(fā)法,預(yù)先詳細(xì)說明100%的需求和設(shè)計(jì)是不切實(shí)際的,不過對(duì)絕大多數(shù)項(xiàng)目來說,“盡早把哪些是最關(guān)鍵的需求要素和架構(gòu)要素確定下來”是很有價(jià)值的。
???一條很有用的經(jīng)驗(yàn)規(guī)則:計(jì)劃好預(yù)先對(duì)80%的需求做出詳細(xì)說明,并給“稍后再進(jìn)行詳細(xì)說明的額外需求”分配一定的時(shí)間。然后在項(xiàng)目進(jìn)行過程中,實(shí)施系統(tǒng)化的變更控制措施,只接受那些最有價(jià)值的新需求。另一種替代方案是只對(duì)最重要的20%的需求做出詳細(xì)說明,并且計(jì)劃以小幅增量開發(fā)軟件的剩余部分,隨著項(xiàng)目的進(jìn)行,對(duì)額外的需求和設(shè)計(jì)做楚詳細(xì)說明。
(4)如何在序列開發(fā)法和迭代開發(fā)之間做出選擇:
???????選擇序列開發(fā)法:需求相當(dāng)穩(wěn)定;設(shè)計(jì)直接了當(dāng),而且理解透徹;開發(fā)團(tuán)隊(duì)對(duì)于這一領(lǐng)域非常熟悉;項(xiàng)目的風(fēng)險(xiǎn)很小;“長(zhǎng)期可預(yù)測(cè)性”很重要;后期改變需求、設(shè)計(jì)和編碼的代價(jià)可能很昂貴。
??????選擇迭代開發(fā)法:需求并沒有被理解透徹,或者出于其他原因你認(rèn)識(shí)是不穩(wěn)定的;設(shè)計(jì)很復(fù)雜,或者有挑戰(zhàn)性,或者兩者兼具;開發(fā)團(tuán)隊(duì)對(duì)于這一領(lǐng)域不熟悉;項(xiàng)目包含很多風(fēng)險(xiǎn);“長(zhǎng)期可預(yù)測(cè)性”不重要;或其改變需求、設(shè)計(jì)和編碼的代碼不是很高。
?????????這里我有個(gè)問題:
什么是“長(zhǎng)期可預(yù)測(cè)性”?
posted on 2007-09-18 08:44
探丫頭 閱讀(1044)
評(píng)論(2) 編輯 收藏 引用 所屬分類:
《代碼大全》讀書筆記