軟件開發(fā)資源不足(軟件開發(fā)的資源中什么是最重要的資源)
本篇文章給大家談談軟件開發(fā)資源不足,以及軟件開發(fā)的資源中什么是最重要的資源對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
軟件開發(fā)的制約因素有什么呢?
大多數的軟件項目都是失敗的。實際上,Standishgroup報告表明,80%以上的項目都是不成功的,或者是因為超過預算或延期未完或缺失功能,或者幾種因素都有。此外,30%的軟件項目執(zhí)行得十分糟糕以至于在完成之前就被取消了。根據我們的經驗尺譽好,即便使用了諸如Java、J2EE、XML及Web服務的現(xiàn)代技術,軟件項目都無一例外的應驗了這條規(guī)律。本文概述了有助于提高軟件開發(fā)項目成功率的最重要的十點因素。StandishGroup等業(yè)界領頭羊也為軟件項目提供了重要的成功因素文檔。?
?項目成功的因素?
?1.招募技術熟練、經驗豐富的人員—現(xiàn)在的環(huán)境要比以往的任何時候都要復雜。?
像WebSphere?Studio這樣的工具是很有用的,但在經驗不足的員工手里結果往往最多不過得到普普通通的成效,大多數時候還是失敗,這是因為他們不懂什么是好的項目管理以及應用新技術的最佳實踐。優(yōu)秀的項目經理和項目架構師或技術指導將結成項目的領導力量。他們決定了這個項目將如何開展,并且對項目最終是否成功有著巨大的影響。如果您擁有這樣的人員,對待他們要好,而且要非常好。項目經理和技術指導有必要面試其他小組成員并決定誰可以加入這個小組。小組的其余成員同樣需要具有平均水平以上的技能和經驗。表現(xiàn)不好的人需要不斷去關注,但他們通常總是“達不到要求”。最終,他們總是會拖小組的后腿,使得項目進展緩慢。然而,這并不意味著小組中不能有任何初級水平的人員。通常,這種成員如果獲得機會就會受到更大激勵,會盡力把事情做到最好。例如,在一個20人的小組里,可能有2個領導,6個高級人員,9個中級人員和3個初級人員。這樣20人的小組可以再細分為4或5個小組,每個組有一個組長。IBMSoftwareServices和IBMGlobalServices(IGS)有經驗豐富的項目經理、項目架構師、技術指導和顧問,他們可以為您的項目提供幫助。?
?2.應用前沿的、但非極端前沿的技術?
《財富》雜志500強中的許多公司已經在軟件項目中成功地應用了成熟技術(如J2EE和WebSphere產品系列),這些項目對公司的商業(yè)經營模式產生了巨大的影響。在某些情況下,應用前沿技術是有必要的,這有助于幫助您在競爭中獲得顯著的優(yōu)勢。但是,這樣一種策略是需要承擔風險的,在這種情況下更重要的是擁有優(yōu)秀的項目人員。由于幾乎沒有人具有這類前沿技術方面的經驗,所以獲取外部專家的幫助同樣重要。項目若采用極端前沿的技術或還未測試通過的技術就必須自行考慮研究計劃。這也許對新興技術中的概念進行早期驗證會有所幫助。然而,與使用更成熟技術的項目相比,要用相同陵鉛的方法或以相同的成本來交付基于這樣一種技術的項目是不現(xiàn)實的。?
?3.運用正確的開發(fā)流程?—現(xiàn)代軟件項目的特性要求使用一種螺旋式的開發(fā)流程(如Rational統(tǒng)一流程(RationalUnifiedProcess,RUP))、某種反復式IGS方法甚或是靈活方法(如極端編程(eXtremeProgramming))。?
螺旋式的開發(fā)流程具有多個開發(fā)階段,可以逐步地降低項目風險。在每個階段結束時都需要決定繼續(xù)還是停止。在初期階段,原型可以用來供小組研究新技術,也可以用來研究用戶界面。舉例來說,RUP方法定義了每個階段的角色、任務和構件,這些在項目小組在考慮項目相關事宜時起到提示作用。對任何項目而言,最重要的一點并不是用哪一個流程,而是流程應用得有多好。項目經理和技術指導需要重視并懂得如何根據碰到的問題調整流程,以及如何應用最佳實踐來執(zhí)行流程。流程為需要做什么提供了指導和提示。另一方面,偏離流程原則太遠也會導致災難性的結虛肆果。相關文章軟件開發(fā)項目的最佳實踐中有詳細的內容。?
?4.提供適當的工具?—任何的軟件項目都需要有適合的工具來幫助小組提高生產力。?
這些工具包括適當的硬件設備以及設計、編程、和測試工具。工具成本的合理性解釋起來相對比較簡單。例如,假設像WebSphereStudioApplicationDeveloper這樣一個IDE環(huán)境可以節(jié)約一個程序員一個星期5個小時的時間,平均下來,這個程序員對公司而言成本為50美元/小時。很容易看出,這樣的投資回報(returnoninvestment,ROI)是值得的。同樣的道理,要保證小組使用最新的和最快的PC用于開發(fā),還要為質量保證、用戶確認和部署測試提供適當的測試環(huán)境。進行應用新工具或新技術的培訓對于完全發(fā)揮這些工具或技術的優(yōu)勢是必需的。IBM擁有一個巨大的培訓資源庫,包括在線及課堂課程。IBMSoftwareServices和IGS的顧問還可以提供專題討論、咨詢和現(xiàn)場培訓。?
?5.應用源文檔控制管理?
在項目一開始就要應用源文檔控制管理(SCM)系統(tǒng)。不僅是源代碼,所有的文檔都要實施SCM系統(tǒng)的版本控制。這使得小組可以回顧項目的歷史記錄,并獲取項目早期版本的所有相關文檔,如用例、體系結構和設計文檔、以及測試腳本和測試計劃。我推薦您使用企業(yè)級的SCM產品,如RationalClearCase/ClearQuest。?
?6.應用有效的評估方法?
多數項目在執(zhí)行時都會超出預期的時間的25%到100%,但也有一些項目比較準時,與進度相差的時間不到10%。如果不能準確地估算進度,就沒有辦法有效地進行計劃。但是,在項目的初期階段所估算出的用時和工作量是非常模糊的。這些估算包含了許多偶然性并且可能使估算的值要翻上一倍。軟件開發(fā)是一個逐步求精的過程,估算也是如此。隨著項目的向前進展,估算也會更加精確。在項目結束時即可獲知項目實際的用時和工作量。多數軟件工程師往往會估計不足,項目的成本自然就很可能有所增加。當估算進度時,注意不要過多地壓縮進度。小組如果不能按照緊湊的進度執(zhí)行,最終很可能與預期進度相差很遠。?
?7.將工作細化為小的目標?
小目標就是大目標細化后的結果。主要的目標是一個階段或一段增量的末尾。要達到那一點,項目需要在整個進程中都設立細化的目標。小目標一到兩天的工夫就可以達到,以小時為單位。它有這樣的好處:可以改善狀態(tài)報告;因為可以知道一個小目標是否沒有完成所以能夠實現(xiàn)細粒度控制;因為大約每天都可以完成一個小目標所以會更好地激勵員工;還有可以降低執(zhí)行進度超時的風險。為了避免項目中的各種問題,建議小目標的設定從項目一開始時就著手實施。最好的辦法是用電子表格記錄和跟蹤小目標的執(zhí)行進度。由工具(如MicroSoft?Project)生成的項目計劃最好只用于更上層的任務。當然,只當前的階段才劃分多個小目標任務。后面的階段在需要時再進行劃分。盡管開發(fā)人員認為設定小目標是個麻煩,但是這個問題補償了小組領導和單個開發(fā)人員定義他們自己的目標并分散項目管理和跟蹤項目的工作量的能力。通常一個由技術指導定義的任務,一旦由開發(fā)人員將其細化為多個小的目標,則任務就會變得更大。有時技術指導會提供備選的、更快、更易維護的方案,在其他一些場合他也同意任務的分解并分配給任務更多的時間。盡早地實施小目標計劃的工作可以避免潛在的災難性結果的發(fā)生。?
8.以小時為單位跟蹤所有的項目時間?
不僅要跟蹤以小時付薪的顧問和立約人所花的時間,每個項目成員所花費的時間同樣很重要。這樣做的好處是可以對照個人所用的時間與項目計劃的時間。如果個人已經轉向其他任務就要采取一些步驟。同樣,實際的時間也可以對照估算的時間,估算的時間可以依次地為項目的下一個階段或下一個項目的時間估算方法提供反饋。對小目標的全部時間的估算可以限制時限的超出,因而這些時限是可以修正的。應用小目標技術要求來自各方面的包括技術指導、小組領導和每個開發(fā)人員的時間和努力。至少每個星期,每個開發(fā)人員要以電子表格的方式提交他的工作狀況,讓項目主管可以在每個更上層的任務中更新完成進度的百分比。這樣將使項目管理的工作量分散到其他的小組成員身上。跟蹤項目時間會耗費更多的時間,但這能實現(xiàn)非常有效的項目管理。?
?9.應對不斷出現(xiàn)的變化?
對于大多數項目,每個月項目的需求變化不會大于5%。這些變化的產生有多方面的原因,例如沒能在正確的時間提出恰當的問題、正在處理的問題發(fā)生了變化、用戶改變了他們的主意或觀念、商業(yè)環(huán)境發(fā)生了變化或者是市場發(fā)生了變化。功能特性蠕變都會輕易使得成本和執(zhí)行進度超出預先的估計。在項目的初期階段,項目需求中有許多纏雜不清的地方。當執(zhí)行到某個階段(通常在第二階段的末尾)時,項目需求就必需確定下來并鎖定其核心內容。一個變化的管理過程由一個所謂的“變化委員會(changeboard)”來執(zhí)行,變化委員會由項目所涉及的每個領域的代表組成,例如業(yè)務、市場、開發(fā)、質量保證、用戶文檔、客戶支持和項目管理等。變化委員會負責將所要做的改變交由適當的人去完成、對改變作出說明并測定來自各方的估算值的大小。在獲得足夠的信息后,變化委員會就可以決定接受還是拒絕這項變化。一旦接受一個變化,它將被加入到計劃當中并且執(zhí)行進度也要做出改變。伴隨有變化的項目要比原先沒有變化的項目提交得晚,但是它仍然是成功的,因為它仍然滿足修正后的執(zhí)行進度和股東的期望。一個項目如果在啟用變化委員會之后有超過5%的改變,則表明項目制定得非常糟糕或者已失去了控制,最終很可能會失敗。?
?10.項目領導?
公司的管理者委任一個執(zhí)行者承擔軟件項目成果的責任是至關重要的。這個關鍵的執(zhí)行者不僅要總覽全局,還要獲得和控制項目所需的資源來幫助和支持這個小組。同樣重要的是,執(zhí)行者不需要去干涉、管理小組中的一些瑣碎的事。執(zhí)行者要相信小組是可以委以重任的。?
?結束語?
本文列出了幫助提高軟件開發(fā)項目成功率的十點因素。遵從這些指導原則,您可以在預算和預定時間范圍內更好地完成項目、保持一個高效率的小組并盡量不改變功能特性。
實際上,采用何種方法開發(fā)軟體取決于很多因素,同時受到環(huán)境的制約軟件工程開發(fā)方法編輯國外大的軟件公司和機構一直在研究軟件開發(fā)方法這個概念性的東西,而且也提出了很多實際的開發(fā)方法,比如:生命周期法、原型化方法、面向對象方法等等。
軟件開發(fā)程序員因缺乏經驗耽誤項目進度造成嚴重損失
這個屬于項目管理的問題與程序員是無關的。項目管理就需要根據項目鍵陪老調研,給產品定位定邊界然后項目評估包括用時風險,以及手上資源等評估,并根據已有資源安排和推進項目。如果產生損失也應有項目管理者承稿升擔,這是他的嚴重失誤,軟件開發(fā)程序員只是根據已有需求來完成相應的東西。與項目的成敗亂段以及相應損失是關系非常微小的,安排不合理,資源不足就算通宵達達的也是不可能實現(xiàn)的東西
軟件開發(fā)資源不足的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于軟件開發(fā)的資源中什么是最重要的資源、軟件開發(fā)資源不足的信息別忘了在本站進行查找喔。