來參加。一個個的過流程。因為在需求調(diào)研期間,去的只是調(diào)研人,可能有想不全的地方。如果這樣就直接進行開發(fā),無疑會有很多漏洞。這樣給開發(fā)、測試,都帶來了返工修改,給項目管理也帶來了項目進度、任務(wù)分配的調(diào)整,計劃的打亂也間接影響了質(zhì)量管理。
根據(jù)大家討論補充后的需求分析說明書,就比較容易得到我們下面環(huán)節(jié)的文檔。
首先我們會出功能點文檔。
我們會把需求分析說明書中的業(yè)務(wù)功能都列出來清單,屬于組織結(jié)構(gòu)建立、組織角色、權(quán)限分配、登陸驗證、基礎(chǔ)數(shù)據(jù)維護之類的都歸類到系統(tǒng)功能中。系統(tǒng)管理,各個企業(yè)管理軟件差不多,我們又有公共的系統(tǒng)管理模塊,就不需要重新發(fā)明輪子了。所以,我們主要重點是分析業(yè)務(wù)功能。
根據(jù)需求分析說明書中的每個流程,都先提出來成為一個功能點。然后針對現(xiàn)在整理出來的功能點,再一個個對照流程,如果這個流程復(fù)雜,就拆分,把這個功能點拆成幾個復(fù)雜性和預(yù)估工作量差不多的功能點。經(jīng)過這樣的拆分,就形成了最終的功能點文檔。
而功能點之間,根據(jù)上述方法的拆分,就形成了功能群。
功能點就成為功能權(quán)限控制的最小單位。功能群就成了軟件菜單中的一項。幾個相關(guān)聯(lián)的功能群就成為了一個業(yè)務(wù)子系統(tǒng)。
就這樣的方法,使子系統(tǒng)-功能菜單-功能點(可能是某個功能窗口上的功能按鈕)三級分開,與組織結(jié)構(gòu)-員工-角色-用戶-權(quán)限結(jié)合。一個軟件,未來會成為什么樣子,大框架就出來了。
做功能點清單,就類似于跑馬圈地,這個項目到底多大,我先把項目邊界框起來,而不要讓這個項目無邊無界,那自然也不會有可落實的項目進度和項目管理。知道了項目最大做到多大,就能決定是虧是賺,是做還是不做,能不能做了,有可用的時間和人力來做否。
然后,我們會根據(jù)功能點清單,為每一個功能進行優(yōu)先級的標示。我們通常會把優(yōu)先級分為三級。這就意味著一個項目,大致分為三個階段。一級是必須要做的,即使延期也要做,必須調(diào)度多加人手多加班也要完成。一級做完后,如果有時間,就把二級完成。如果時間超期,有適度的盡量去完成二級,可以延期,但也要根據(jù)預(yù)算和時間。如果適當(dāng)延期也無法完成,我們會給客戶去上線實施,變實施邊并行開發(fā),使實施團隊和開發(fā)團隊進行并行工作。所以,二級也是重要的功能。三級就是如果時間用完,三級的功能就要舍棄掉不開發(fā)。
一般是,按功能的重要性來劃分優(yōu)先級,我們在之前已經(jīng)講過,我們調(diào)研需求的時候,就把常用業(yè)務(wù)和異常業(yè)務(wù)分開,把每天做的業(yè)務(wù),和每周、每月、每季、每年做的業(yè)務(wù)分開。幾個結(jié)合特別緊密的,互相關(guān)聯(lián)的,我們也會把他們劃分在同一個優(yōu)先級,需要單獨開發(fā)的基礎(chǔ)數(shù)據(jù)維護界面,我們也會放在同一個優(yōu)先級。這樣,只要我們項目到期,或者我們迫于競爭突變,我們會隨時推出一個可以完整使用的系統(tǒng)。雖然這個系統(tǒng)可能功能簡陋,但可以完整處理整個常用業(yè)務(wù)流程,而不會造成中斷,無法處理下去。
很多開發(fā)團隊,開發(fā)的方法是先字典功能,然后是業(yè)務(wù)功能,然后是報表。這種開發(fā)方法就導(dǎo)致了很多業(yè)務(wù)系統(tǒng),客戶上線使用了,光輸入數(shù)據(jù),沒有輸出,業(yè)務(wù)系統(tǒng)成了一個悶葫蘆,用戶得不到使用價值,可能只是減輕了工作量,加快了工作效率,提高了部門間的自動配合。更有甚者,業(yè)務(wù)功能開發(fā)了一半,到處都是斷路,走不下去,無法成為一個完整的系統(tǒng),就是個半成品,上不上下不下,無法適應(yīng)競爭變化。