-
行業(yè)資訊
INDUSTRY INFORMATION
軟件開發(fā)組織強(qiáng)大,開發(fā)人員也不少,為什么軟件開發(fā)效率低下,做出來的軟件產(chǎn)品也不盡人意呢?是什么原因造成了軟件公司開發(fā)人員對(duì)客戶“需求”的理解偏差呢?軟件開發(fā)組織為什么對(duì)企業(yè)的需求不敏感呢?要搞清楚這種現(xiàn)象的原因,必須要了解一下軟件公司現(xiàn)有的組織與結(jié)構(gòu)的構(gòu)造方式和與這種構(gòu)造相配的組織職責(zé)。
開發(fā)組織斷帶
國內(nèi)許多的軟件公司都已經(jīng)走過了創(chuàng)業(yè)階段,已經(jīng)從過去的三、四十人發(fā)展到現(xiàn)在的五、六百人,甚至數(shù)千人。公司的銷售渠道在加強(qiáng)、開發(fā)隊(duì)伍在加強(qiáng)、實(shí)施隊(duì)伍也在建立和完善之中,公司完整的組織體系慢慢地建立起來,過去許多原有的工作的方式方法,隨著機(jī)構(gòu)的建立,逐步的消失了,在消失的東西之中,同樣存在著許多好的工作作風(fēng)與方法,這些東西已經(jīng)無法再找回來了,軟件設(shè)計(jì)人員對(duì)于企業(yè)需求的感覺在這個(gè)變化過程中幾乎消失殆盡,由于這種消失,逐步地使軟件公司背離了面向用戶的宗旨,使這一宗旨成為了說教。那么促成這種現(xiàn)象的快速演變的核心本質(zhì)的組織體系究竟是怎樣的呢?為了把這個(gè)病灶的根源說清楚,在這里給大家展示一下現(xiàn)在國內(nèi)大、中型軟件公司的常用結(jié)構(gòu)示意圖和在開發(fā)工作方面的職責(zé)。
這是目前軟件公司常用的組織體系結(jié)構(gòu)。在這里之所以使用“體系”二字,是為了消除某個(gè)體系下可能存在多種不同類型的部門:如多個(gè)行業(yè)部門、如多個(gè)產(chǎn)品部門,在這個(gè)結(jié)構(gòu)中有三個(gè)體系涉及商品化軟件建設(shè),第一個(gè)體系就是渠道和銷售部門,他們的基本職責(zé)是使用商品化的軟件獲取客戶,同時(shí)向?qū)嵤w系和開發(fā)體系傳達(dá)用戶的核心需求。第二個(gè)體系就是實(shí)施部門,他們?cè)诘谝浑A段實(shí)現(xiàn)客戶需求的調(diào)研,并將用戶現(xiàn)實(shí)需求傳達(dá)到開發(fā)體系,當(dāng)然在部分軟件公司中,偶爾會(huì)派出開發(fā)體系下的需求分析部門的人員參與需求調(diào)研工作;而另一個(gè)方面在軟件交付給實(shí)施部門后,實(shí)施部門將根據(jù)企業(yè)需求的調(diào)研結(jié)果,開始軟件的實(shí)施工作。第三個(gè)體系就是開發(fā)部門,他們實(shí)現(xiàn)需求分析與定義,實(shí)現(xiàn)商品化軟件概要設(shè)計(jì)與向詳細(xì)設(shè)計(jì),實(shí)現(xiàn)軟件代碼的編制,實(shí)現(xiàn)商品化軟件的測(cè)試,直到軟件測(cè)試通過、并提供軟件交付。
在這種結(jié)構(gòu)中有兩個(gè)層面和兩個(gè)斷帶,第一個(gè)層面是渠道體系、實(shí)施體系的需求調(diào)研過程,接下來是一個(gè)明顯的斷帶,通過這個(gè)斷帶轉(zhuǎn)入到第二層開發(fā)體系的需求分析階段。最后經(jīng)過商品化軟件測(cè)試后的交付,又通過第二個(gè)斷帶將軟件傳遞給第一層實(shí)施體系的實(shí)施過程,直到完整交付為止。通過這個(gè)過程可以明顯感到信息傳遞的錯(cuò)位與斷裂,在這種狀況下所實(shí)現(xiàn)的商品化軟件必然會(huì)導(dǎo)致在適應(yīng)企業(yè)實(shí)際需求方面的不足。并且目前這種現(xiàn)象,如果不在其它方面實(shí)現(xiàn)有效調(diào)節(jié),必然會(huì)導(dǎo)致更大的斷帶,和人員能力的急劇衰退。
從圖中可以看出一個(gè)正常的開發(fā)運(yùn)作方式應(yīng)當(dāng)是相當(dāng)平滑的,首先是只有一個(gè)層次,而且也不存在斷帶,在第二層中的無字虛框就是要將第一層次的內(nèi)容牽引下來,只有這樣的開發(fā)結(jié)構(gòu)才是真正懂得企業(yè)現(xiàn)實(shí)需求的商品化開發(fā)結(jié)構(gòu)。
軟件的基礎(chǔ)能力
這種方式的產(chǎn)生是由于軟件產(chǎn)品規(guī)模化生產(chǎn)所帶來的弊端,這個(gè)弊端在這種體系建立之初并沒有被軟件公司的管理層所注意,但當(dāng)發(fā)生軟件產(chǎn)品與解決企業(yè)現(xiàn)實(shí)管理問題不相匹配的時(shí)候,一切都已經(jīng)積重難返。這是一種商品化軟件公司常用的結(jié)構(gòu),如果要實(shí)現(xiàn)軟件公司的規(guī)?;\(yùn)作,必須制造出標(biāo)準(zhǔn)的商品化軟件,如果沒有軟件公司的規(guī)?;袊钠髽I(yè)也就無從看到今天眾多的知名管理軟件公司的存在。但是在規(guī)?;倪^程中,卻忽視了對(duì)于企業(yè)需求的完整傳遞。
軟件要實(shí)現(xiàn)商品化,必須要滿足60%以上的同類企業(yè)需求覆蓋率,如果沒有達(dá)到這個(gè)比例,那么這種軟件可以說幾乎沒有太多的用戶和市場(chǎng)(在這里提請(qǐng)讀者注意:商品化軟件是一種根據(jù)不同企業(yè)要求的細(xì)分性市場(chǎng),簡單可以把管理軟件劃分成適合于“迷你型”企業(yè)的超小型管理軟件,適合于小型企業(yè)的小型管理軟件,適合于中型企業(yè)的中型管理軟件,適合于大型企業(yè)的大型管理軟件,讀者不難看到這個(gè)市場(chǎng)對(duì)于軟件公司而言是比較龐大的,同時(shí)也無法做到一種軟件可以適合于不同規(guī)模的企業(yè),因此這里談到的60%,是以一種企業(yè)規(guī)模為基準(zhǔn)的),所以小于60%覆概率的軟件,可以認(rèn)為無法滿足企業(yè)管理的基本需求,而商品化軟件為了贏得企業(yè)市場(chǎng)的需求之外,為了競(jìng)爭(zhēng)需要還必須建立超越現(xiàn)實(shí)企業(yè)需求的一部分功能,這種功能,對(duì)于管理先進(jìn)的企業(yè)可以嘗試使用,對(duì)于常規(guī)企業(yè)它的價(jià)值只是錦上添花。軟件公司為了達(dá)到既滿足60%以上的現(xiàn)實(shí)需求,又滿足未來可能的需求,必須要建立強(qiáng)大的需求分析與需求定義隊(duì)伍。這支隊(duì)伍要承載企業(yè)調(diào)研所獲得的企業(yè)各種需求的同時(shí),還要承載將這些需求匯總、分析、定義之后向系統(tǒng)設(shè)計(jì)人員的轉(zhuǎn)達(dá)。所以他們的責(zé)任對(duì)于軟件公司而言是重大的。
人員能力的警告
在研究了國內(nèi)許多商品化軟件公司之后,現(xiàn)實(shí)會(huì)告訴你,這是一件非常遺憾的事情,目前還很難找到這樣一支訓(xùn)練有素的需求隊(duì)伍,這是因?yàn)榇蟛糠值某蓡T還沒有完全理解企業(yè)的需求、也沒有理解需求對(duì)于商品化軟件的重要性,產(chǎn)生這種現(xiàn)象的一個(gè)直接原因、就是這些人員由于現(xiàn)有軟件公司的開發(fā)結(jié)構(gòu)所至,使他們很少有機(jī)會(huì)與企業(yè)直接交流,久而久之,慢慢地習(xí)慣于鉆研西方管理軟件的流程設(shè)計(jì)方法、控制方法,還有更加喜歡的是、對(duì)西方軟件的結(jié)構(gòu)研究,他們喜歡在軟件結(jié)構(gòu)上創(chuàng)造完美,而忽視了對(duì)于國內(nèi)企業(yè)現(xiàn)實(shí)的管理研究,這就造成了對(duì)于企業(yè)管理需求的不理解,最終導(dǎo)致了慢待企業(yè)需求,漸漸地把自己打扮成為一個(gè)技術(shù)專家的角色。在后來一次偶然的機(jī)會(huì)我見到了上面所談到的那位技術(shù)總監(jiān),他的工作方法證實(shí)了我的判斷,那時(shí)他正在這家企業(yè)開展需求調(diào)研。
“你們?cè)瓉碜鲞^類似的系統(tǒng)嗎?你們準(zhǔn)備調(diào)研幾天,有沒有調(diào)研提綱”我問道。“我們是提供商品化軟件的公司,以前我們很少到企業(yè)去作調(diào)研工作,只是在實(shí)施階段由實(shí)施人員根據(jù)企業(yè)的一些具體情況,做一些非常簡單的調(diào)研和了解工作。而這個(gè)系統(tǒng)對(duì)于我來說是一個(gè)新系統(tǒng),與我們?cè)瓉硭霎a(chǎn)品有很大不同,過去我們總是在學(xué)習(xí)和模仿外國公司的一些管理軟件,那些軟件對(duì)于我而言,只是理清他們的設(shè)計(jì)思路,選擇一些比較重要的和我認(rèn)為比較基于國內(nèi)現(xiàn)實(shí)的內(nèi)容,柔和起來做成需求,我們同時(shí)還比較一些西方軟件在軟件設(shè)計(jì)結(jié)構(gòu)方面的異同,比如那種語言、那種操作系統(tǒng)、是基于局域網(wǎng)的(C/S結(jié)構(gòu))、還是基于互聯(lián)網(wǎng)(B/S結(jié)構(gòu)),如何實(shí)現(xiàn)制造過程與制造成本管理等等這類問題。我們計(jì)劃在這里調(diào)研3、5天,到今天已經(jīng)是第3天了,明天我們打算回去。調(diào)研提綱,在來之前我們沒有,我們調(diào)研的時(shí)候主要是和不同部門的管理人員談一談,了解一些基本情況,另外我也在介紹一些計(jì)算機(jī)方面的基本功能,總體上感覺調(diào)研很不輕松,確實(shí)令我感到無從下手”。
對(duì)于他的回答我很驚訝,我又接著問道:“你原來參加過企業(yè)信息系統(tǒng)建設(shè)嗎、今年多大了、其它軟件需求人員有比你大的嗎”?他的回答讓我徹底明白了國內(nèi)軟件公司在企業(yè)信息化建設(shè)過程中由于操作能力造成失敗的原因。
“今年28、9左右,其它需求人員都比我年輕。這是我第一次與企業(yè)管理與業(yè)務(wù)人員面對(duì)面的打交道,原來沒有調(diào)研的經(jīng)歷,這次如果我不來,我們公司更不會(huì)有其它人能夠出來了,這次只是因?yàn)槲夜镜能浖俏以O(shè)計(jì)、也是我組織開發(fā)的,所以別人不會(huì)比我更加的了解軟件整體功能”。
這次交流時(shí)間并不長,在與這位技術(shù)總監(jiān)的交談過程中,他總是自覺與不自覺地把話題轉(zhuǎn)入到技術(shù)的方面上去,也許這已經(jīng)成為了習(xí)慣,我那時(shí)隱約感到他們無法完成需求,這是因?yàn)樗麄兌继夹g(shù)化了。果然,在看到了他們提供給企業(yè)的需求報(bào)告之后(企業(yè)提供給我,希望幫他們把一下關(guān))的感覺是:不看還好,看了之后有說不出的苦澀,他們對(duì)于需求的概念不但理解上不夠,而且對(duì)于企業(yè)的管理看來也缺乏必要的了解,好像他們從來沒有到企業(yè)調(diào)研過一樣,一切都沒有企業(yè)的特點(diǎn)和內(nèi)容,更象是一份給開發(fā)人員看的需求,企業(yè)的人員拿到這樣的需求報(bào)告是無法讀懂的。后來我沒有辦法,只好把我原來做的一份需求提供給這家企業(yè),讓他們轉(zhuǎn)交給這位技術(shù)總監(jiān),要他們?cè)賹?duì)企業(yè)作一次調(diào)研,并且按照我所提供的需求報(bào)告方法把這家企業(yè)的需求寫出來。后來幾經(jīng)多次修改,終于算是完成了這份需求報(bào)告。
在這個(gè)例子中所談到的不僅僅是這家公司,國內(nèi)的商品化軟件公司中或多或少都存在這種現(xiàn)象,軟件公司的管理者在設(shè)計(jì)這種結(jié)構(gòu)時(shí),基本的依據(jù)是社會(huì)化大生產(chǎn)方式下的流水作業(yè),讀者們都沒有忘記流水作業(yè)對(duì)于工人技能的提升是非常有害的,每個(gè)人只能夠長期不間斷地完成著一種工作,沒有多少人去關(guān)心上一道工序的情況、也沒有人去關(guān)心下一道工序的情況,如果這種現(xiàn)象在商品化軟件業(yè)中重現(xiàn),那將是一種災(zāi)難,這種方式在短期內(nèi)對(duì)于推動(dòng)軟件開發(fā)是有效的,長期卻只能夠處于低效狀態(tài)。
人員能力導(dǎo)致軟件能力低下
這是否能夠讓我們?nèi)ニ伎家粋€(gè)問題,工業(yè)品制造的流水過程如果要改造成軟件制造的流水過程,流水的方式是否也需要做出相應(yīng)的調(diào)整,答案是肯定的,必須有一個(gè)核心群體控制著每一個(gè)環(huán)節(jié),他們負(fù)責(zé)需求的傳遞、知識(shí)的傳遞、技能的傳遞,那么對(duì)于這個(gè)群體能力的要求是很高的,目前在軟件公司中,實(shí)際上極為缺乏這種人才(幾乎平均一家公司很難找出1個(gè)這樣的人),因此說這種流水的結(jié)構(gòu)沒有高水平人員的加盟,事實(shí)上是很難有太大作為,在這種人才結(jié)構(gòu)下,做一些簡單的管理軟件是可以的,但如果要開發(fā)中、大型管理軟件將會(huì)遇到?jīng)]有核心人員的苦惱。
遺憾的是,這種結(jié)構(gòu)本身也無法培養(yǎng)出優(yōu)秀的軟件需求人員、設(shè)計(jì)人員,在我們看到了這種流水方式之后,這個(gè)結(jié)論已經(jīng)可以下了,由于沒有高層次人員所作的傳遞工作,軟件公司必然會(huì)發(fā)生開發(fā)結(jié)構(gòu)層次的錯(cuò)位與需求傳遞的斷帶,所以造成了需求人員不但缺乏企業(yè)管理需求經(jīng)驗(yàn)、也缺乏從事開發(fā)性項(xiàng)目的經(jīng)驗(yàn),他們只能夠參考管理技術(shù)方面的書籍和西方的管理軟件去模仿和微縮西方管理軟件的一些功能,以此來滿足企業(yè)的需要。在這種狀況下,軟件公司的需求人員,與其說是與企業(yè)客戶打交道,不如說是在與西方的管理軟件打交道、在與軟件詳細(xì)設(shè)計(jì)人員打交道,他們已經(jīng)喪失了與客戶交流的能力,他們的需求文檔不是與客戶交流的工具,反而成了與軟件設(shè)計(jì)人員交流的工具,他們不會(huì)用用戶的語言去表達(dá)事務(wù),反而只會(huì)用計(jì)算機(jī)的語言去表達(dá),他們已經(jīng)忘記了需求人員的職責(zé),而似乎在從事著產(chǎn)品假設(shè)性的定義(忘記了實(shí)際情況)。由于軟件與實(shí)際的脫離,在實(shí)施的時(shí)候勢(shì)必造成企業(yè)信息化管理的不理想、甚至失敗。所以我們必須注意:
1.企業(yè)需求不是對(duì)西方軟件研究結(jié)果的模仿與微縮
2.企業(yè)需求不是對(duì)管理技術(shù)性書籍的囫圇吞棗,必須與現(xiàn)實(shí)結(jié)合
3.企業(yè)需求必須來自于現(xiàn)實(shí)的工作需要,并將這些需求傳遞到開發(fā)的全過程,并在需求定義階段完善并提升需求內(nèi)涵
4.需求人員必須修煉自身與企業(yè)人員的溝通能力、需求寫作能力,要向企業(yè)人員提供能夠看得懂的需求報(bào)告
5.詳細(xì)的分工協(xié)作這種流水性的傳遞工作方式,必須建立在經(jīng)驗(yàn)豐富的開發(fā)管理團(tuán)隊(duì)的基礎(chǔ)上,沒有這個(gè)基礎(chǔ),軟件制造過程將沒有靈魂。
這種軟件開發(fā)組織結(jié)構(gòu)存在著弊端:組織細(xì)分帶來職責(zé)細(xì)分,最終導(dǎo)致人員職責(zé)細(xì)分,體系是為實(shí)現(xiàn)商品化軟件服務(wù),所以與其說是需求分析、定義,還不如說是產(chǎn)品定義與分析。需求面向的不再是企業(yè)用戶,而是軟件公司內(nèi)部的開發(fā)人員。