軟件工程管理問題
時間:2022-04-22 08:36:00
導(dǎo)語:軟件工程管理問題一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
1時美國國防部曾立題專II研究軟件項(xiàng)日做不好的原因,發(fā)現(xiàn)70%的項(xiàng)日是因?yàn)楣芾聿簧埔鸬?,而并不是因?yàn)榧夹g(shù)實(shí)力不夠,進(jìn)而得出一個結(jié)論,即管理是影響軟件研發(fā)項(xiàng)目全局的因素,而技術(shù)只影響局部。這個結(jié)論仆常重要。到了90年代中期,軟件研發(fā)項(xiàng)目管理不善的問題仍然存在。據(jù)美國軟件工程實(shí)施現(xiàn)狀的調(diào)查,軟件研發(fā)的情況仍然很難預(yù)測,大約只有10%的項(xiàng)目能夠在預(yù)定的費(fèi)用和進(jìn)度下交付。針對軟件項(xiàng)目管理不善的局而,我簡要談?wù)勈浖?xiàng)目管理中存在的一些問題。1客戶干不份要全程參與不少軟件企業(yè)認(rèn)為客戶的參與主要在二件事情上:協(xié)議簽訂和需求調(diào)研、客戶需求變更和項(xiàng)目驗(yàn)收簽字,其它事情足企業(yè)內(nèi)部項(xiàng)日開發(fā)管理的事情,屬公司內(nèi)部行為,無需客戶參與。
結(jié)果,企業(yè)經(jīng)常發(fā)現(xiàn)客戶嚴(yán)重拖延驗(yàn)收,而Il在驗(yàn)收期間客戶大量的需求變史,致使項(xiàng)目的進(jìn)展嚴(yán)重推遲。經(jīng)常一個預(yù)期益利的項(xiàng)}」,最后拖的不堪重負(fù)口我認(rèn)為這里邊的一個重要原因就是客戶沒有參與項(xiàng)目的全過程。比方,項(xiàng)目初期的啟動會議、項(xiàng)日過程中所有干系人的知情制度,每周的工作例會、項(xiàng)日階段性工作總結(jié)等等都需要客戶的參與和反饋。否則當(dāng)企業(yè)年之后提交一個無比龐人和復(fù)雜的最終方案時,客戶方根本不了解你的方案的進(jìn)程,由誰敢簽字驗(yàn)收昵?客戶只能花I幾兒個月來完全“肢解”消化整個方案,最終當(dāng)然是發(fā)現(xiàn)大堆問題需要改進(jìn),企業(yè)只能再花上幾個月重新修改,如此往而復(fù)始,惡性循環(huán)。
2如果份求分析很困難,可不可以先做軟件對需求把握得越準(zhǔn)確,軟件的修修補(bǔ)補(bǔ)就越少。有些需求在一開始時很難確定,在開發(fā)過程中要不斷地加以改正。軟件修改越早代價越少,修改越晚代價越人,就跟治病一樣道理。一是在項(xiàng)日的需求分析階段,開發(fā)方與客戶方在各種的問題的基本輪廓上達(dá)成一致即.IJ,具體細(xì)節(jié)可以在以后填充。軟件過程改善是一個持續(xù)改善的過程,需要不斷地學(xué)習(xí),需要知識的積累,特別是當(dāng)主客觀環(huán)境發(fā)生變化時,需要對過程進(jìn)行修改,以適應(yīng)變化了的情況。無論多么細(xì)致的需求分析,兒乎都難以避免修改。實(shí)際上許多軟件項(xiàng)日失敗的最l要的原因就是需求階段對問題的描述不夠細(xì)致,導(dǎo)致后來頂算超出或者時間進(jìn)度達(dá)不到要求。這就要求在項(xiàng)H需求分析階段,開發(fā)方與客戶方必須個面地盡可能細(xì)致地討論項(xiàng)目的應(yīng)用背景、功能要求、性能要求、操作界面要求、與其他軟件的接口要求,以及對項(xiàng)目進(jìn)行評估的各種評價標(biāo)準(zhǔn)。并民,在需求分析結(jié)束以后,雙方還要建立可以直接聯(lián)系的渠道,以盡早地對需求變動問題進(jìn)行溝通。
3軟件項(xiàng)目份求的改變?nèi)菀讓?shí)現(xiàn)嗎在具體實(shí)際中由于種種原因客戶方很難在需求分析階段全面而準(zhǔn)確地描述所有問題。隨著開發(fā)進(jìn)度的推進(jìn),往往會有一此需求的改變。而現(xiàn)代軟件工程理論也利用軟件的靈活性特點(diǎn)通過各種方式來適應(yīng)這種情況。不過,這并不表明“軟件項(xiàng)目的需求可以持續(xù)不斷的改變,而且這此改變可很容易地被實(shí)現(xiàn)”。實(shí)踐表明,隨著開發(fā)進(jìn)度的推進(jìn),實(shí)現(xiàn)軟件需求更改所需要的代價呈指數(shù)形式增長。假定在需求分析階段實(shí)現(xiàn)需求更改需要花費(fèi)1倍的代價;那么,在系統(tǒng)設(shè)計和編碼階段,需要花費(fèi)1.5-6倍的代價;在系統(tǒng)測試階段需要花費(fèi)10-20倍的代價;在軟件版本以后,甚至可能要花費(fèi)60-100倍的代價。由此可見,在項(xiàng)日開展過程中,軟件需求的改變應(yīng)當(dāng)盡量早地提出。這樣才可能花費(fèi)少,容易被實(shí)現(xiàn)。
4項(xiàng)目的質(zhì)f提高是否要依救完普的質(zhì)fm試制度不少企業(yè)把軟件的測試工作定位于提高軟件開發(fā)項(xiàng)目的質(zhì)量。我認(rèn)為質(zhì)量測試制度只是」個補(bǔ)救措施,是來挑出各種因素造成的缺陷,但不能避免新的缺陷的出現(xiàn)。真正有效的質(zhì)量管理是建立在一套質(zhì)量保證體系l幾的全過程質(zhì)量管理方案,每一個環(huán)節(jié)的規(guī)范化管理是質(zhì)量保證的一個基礎(chǔ),除此之外,規(guī)范的項(xiàng)目方案評審制度也是質(zhì)量保證的必備步驟,經(jīng)??蛻魧|(zhì)量的評價首先是方案質(zhì)量的優(yōu)劣。有效的、科學(xué)的測試制度也將有助于在提交客戶之前發(fā)現(xiàn)設(shè)計中的問題。
5所有的內(nèi)部洲試工作是不是全部應(yīng)該由洲試人員完成軟件程序測試可以分為“白盒法”和“黑盒法”兩種方式。由于使用“自盒法”對測試人員各方面素質(zhì)的種種要求,在進(jìn)行程序測試時測試人員總是最優(yōu)先使用“黑盒法”。他們的上作方式往往是先對程序進(jìn)行“黑盒法”測試;如果測試沒有通過,不得已這才考慮對程序代碼進(jìn)行“自盒法”測試。顯然,這種對“白盒法”有意無意的“逃避”,對軟件的可靠性和穩(wěn)定性構(gòu)成了威脅。如何解決這個問題?一方面需要提高對測試人員的要求,另一方向也需要程序員完成部分的“白盒法”測試。
6如果我們落后于計劃,是否可以增加更多的程序員來解決客觀情況是軟件開發(fā)不同J二傳統(tǒng)的農(nóng)業(yè)生產(chǎn),人多不見得力量大。如果給落后于計劃的項(xiàng)日增添新手,可能會更加延誤項(xiàng)日。因?yàn)?
1)新手會產(chǎn)生很多新的錯誤,使項(xiàng)目混亂。
2)老手向新手解釋上作以及交流思想都要花費(fèi)時間,使實(shí)際開發(fā)時間更少。所以科學(xué)的項(xiàng)I-I計劃很重要,不在乎計劃能提前多少,重在恰如其分。如果用“”的方式奔向共產(chǎn)卞義,只會產(chǎn)生倒退的后果。投入項(xiàng)目上的人力,多多益善。在某些業(yè)務(wù)項(xiàng)日卜確實(shí)如此。但在系統(tǒng)項(xiàng)目管理中卻很少是這樣的。人們的技能和知識是不能互換的。如果多一些人加入到系統(tǒng)項(xiàng)目中來,由于協(xié)調(diào)不利和要培訓(xùn)人員以快速適應(yīng)丁:作,通常會減慢項(xiàng)日的進(jìn)度。
7技術(shù)骨千是否應(yīng)該成為項(xiàng)目的項(xiàng)目經(jīng)理項(xiàng)目經(jīng)理一定是所有項(xiàng)目成員中薪水最高的。在“軟件作坊”時代,這是一種普遍使用而目.效果不錯的方法;而在“軟件”時代,這種方法卻帶來各種問題,有時甚至直接導(dǎo)致項(xiàng)日失敗。究其原因這主要是因?yàn)殡S著現(xiàn)代軟件開發(fā)分工的細(xì)化,對項(xiàng)目經(jīng)理的要求也發(fā)生了根本的改變—最注重的不是其對某項(xiàng)專業(yè)技術(shù)的掌握程度,而是其組織、領(lǐng)導(dǎo)、協(xié)調(diào)開發(fā)團(tuán)隊(duì)的能力。至于項(xiàng)目經(jīng)理的薪水問題,這和定薪制度有很大關(guān)系。通常,項(xiàng)目經(jīng)理執(zhí)行的是管理人員的薪酬體系,而其他人員執(zhí)行的是技術(shù)人員的薪酬體系。項(xiàng)目經(jīng)理的薪水在項(xiàng)目成員中是比較高的,但不-定是最高的。有時候,為了激勵技術(shù)人員,項(xiàng)目中的技術(shù)骨干得到的酬勞比項(xiàng)目經(jīng)理要高。