軟件開發的制約因素有什么呢?
大多數軟件項目都是失敗的。事實上,Standishgroup的報告顯示,超過80%的項目是不成功的,要么是因為超出預算,推遲完成或缺少功能,要么是幾個因素的結合。此外,30%的軟件項目執行得非常糟糕,以至于在完成之前就被取消了。根據我們的經驗,即使使用了Java、J2EE、XML和Web服務等現代技術,軟件項目也無一例外地實現了這一規則。本文總結了幫助提高軟件開發項目成功率的十個最重要的因素。像StandishGroup這樣的行業領導者也為軟件項目提供重要的成功因素文檔。?
?項目的成功因素有哪些?
?1.招聘有技能和經驗的人員——環境比以往任何時候都更加復雜。?
比如WebSphere?Studio之類的工具非常有用,但是在沒有經驗的員工手里,結果往往最多得到普通的結果,很多時候還是失敗,因為他們沒有我不知道什么是好的項目管理和應用新技術的最佳實踐。優秀的項目經理和項目架構師或技術總監將形成項目的主導力量。他們決定這個項目將如何進行,并對項目的最終成功有很大的影響。如果你有這樣的人,好好對待他們,要很好。項目經理和技術總監有必要面試其他團隊成員,決定誰可以加入團隊。其余的團隊成員也需要具備高于平均水平的技能和經驗。不喜歡的人。;表現不好的人需要持續的關注,但他們通常can不符合要求"最后,他們總是拖團隊的后腿,使得項目進展緩慢。然而,這并不意味著團隊中不能有任何初級人員。通常這樣的成員如果得到機會會更有動力,會盡力把事情做好。例如,在一個20人的小組中,可能有2名領導、6名高級職員、9名中級職員和3名初級職員。這樣一個20人的小組就可以細分成4、5個小組,每個小組都有一個組長。IBM軟件服務和IBM全球服務(IGS)擁有經驗豐富的項目經理、項目架構師、技術指導和顧問,他們可以幫助您的項目。?
?2.應用尖端技術,但不極端尖端技術?
《《財富》》雜志500強中的許多公司都在他們的軟件項目中成功應用了成熟的技術(如J2EE和WebSphere產品系列),這對他們的商業模式產生了很大的影響。在某些情況下,有必要應用尖端技術,這很有幫助。你在競爭中獲得顯著的優勢。然而,這樣的策略需要承擔風險。在這種情況下,擁有優秀的項目人員更為重要。由于很少有人有這種尖端技術的經驗,因此獲得外部專家的幫助也同樣重要。如果項目采用了極其前沿的技術或者尚未通過測試的技術,就必須考慮研究計劃本身。這可能有助于新興技術中概念的早期驗證。但是,與使用更成熟技術的項目相比,以相同的或相同的成本交付基于此類技術的項目是不現實的。?
?3.使用正確的開發流程?現代軟件項目的特點要求使用螺旋開發過程(如Rational統一過程(RUP))、重復的IGS方法甚至靈活的方法(如極限編程)。?
螺旋式開發過程有多個開發階段,可以逐步降低項目風險。在每個階段結束時,需要決定是繼續還是停止。在初始階段,原型可以用于團隊研究新技術,也可以用于研究用戶界面。例如,RUP方法定義了每個階段的角色、任務和組件,這些角色、任務和組件起到了促使項目團隊考慮項目相關事宜的作用。對于任何項目來說,最重要的一點不是用哪個流程,而是流程應用的有多好。項目經理和技術主管需要注意并知道如何根據遇到的問題調整過程,以及如何應用最佳實踐來實現過程。該過程為需要做什么提供了指導和提示。另一方面,偏離過程原理太遠也會導致災難性的結果。相關文章"軟件開發項目的最佳實踐內容詳細。?
?4.提供合適的工具?任何軟件項目都需要合適的工具來幫助團隊提高生產力。?
這些工具包括適當的硬件設備以及設計、編程和測試工具。工具成本的合理性解釋起來比較簡單。例如,假設像WebSphereStudioApplicationDeveloper這樣的IDE環境每周可以為程序員節省五個小時。平均來說,這個程序員每小時花費公司50美元。很容易看出這樣的投資回報(ROI)是值得的。同理,要保證團隊使用最新最快的PC進行開發,還需要提供合適的測試環境進行質量保證、用戶確認和部署測試。應用新工具或技術的培訓對于充分發揮這些工具或技術的優勢是必要的。IBM有一個龐大的培訓資源庫,包括在線和課堂課程。IBM軟件公司服務和IGS顧問還可以提供專門的討論、咨詢和現場培訓。?
?5.應用源文件控制管理?
源文件控制管理(SCM)系統應該在項目開始時應用。不僅僅是源代碼,所有的文檔都應該由SCM系統進行版本控制。這允許團隊回顧項目的歷史,并獲得項目早期版本的所有相關文檔,例如用例、架構和設計文檔,以及測試腳本和測試計劃。我推薦你使用企業級的SCM產品,比如RationalClearCase/ClearQuest。?
?6.應用有效的評估方法?
大多數項目將比預期時間多執行25%到100%,但也有一些項目是按時執行的,比計劃落后不到10%。如果你能如果你不能準確地估計進度,你就不能。;不能有效地計劃。但是,項目初期的預計時間和工作量非常模糊。這些估計包含了大量的偶然性,可能會使估計值翻倍。軟件開發是一個逐步求精的過程,估算也是如此。隨著項目的進展,估計會更加準確。項目的實際時間和工作量可以在項目結束時知道。大多數軟件工程師往往會低估,項目的成本很可能會自然增加。在估計進度的時候,注意不要把進度壓縮太多。如果團隊可以如果你不按照緊湊的時間表行事,最終很可能會與預期的時間表相差甚遠。?
?7.把工作分解成小目標?
小目標是大目標細化的結果。主要目標是一個階段或增量的結束。為了實現這一點,項目需要在整個過程中設定詳細的目標。小目標可以在一兩天,幾個小時內實現。它有以下優點:可以改進狀態報告;可以實現細粒度的控制,因為我們可以知道一個小目標是否沒有完成;因為一個小目標大概每天都能實現,會更好的激勵員工;也可以降低加班執行的風險。為了避免項目中出現各種問題,建議從小目標的設定開始實施。最好的方法是用電子表格記錄和跟蹤小目標的實施進度。通過微軟等工具?Project)最好只用于更高級別的任務。當然只是把現階段分成多個小目標任務。后期必要的時候會分。雖然開發人員認為設定小目標很麻煩,但這個問題補償了團隊領導和個人開發人員定義自己目標的能力,分散了項目管理和跟蹤的工作量。通常技術指導定義的一個任務,一旦被開發者細分成幾個小目標,就會變大。在其他情況下,有時技術指導會提供替代的、更快的和更容易維護的解決方案。他還同意分解任務,分配更多的時間給他們。盡早實施小目標計劃可以避免潛在災難性結果的發生。?
8.以小時為單位跟蹤所有項目時間?
不僅要跟蹤按小時計酬的顧問和承包商所花費的時間,還要跟蹤每個項目成員所花費的時間。這樣做的好處是,您可以將個人花費的時間與項目計劃的時間進行比較。如果個人已經轉向其他任務,應該采取一些步驟。同樣,也可以將實際時間與預計時間進行比較,進而為項目的下一階段或下一個項目的時間估算方法提供反饋。對小目標總時間的估計可以限制時間限制的超出,因此這些時間限制可以被修改。小目標技術的應用需要各方面的時間和努力,包括技術指導、團隊領導和每個開發者。每個開發人員至少每周要以電子表格的形式提交自己的工作狀態,以便項目主管更新每個更高級任務的完成進度百分比。這將把項目管理的工作量分散給其他團隊成員。跟蹤項目時間將花費更多的時間,但它可以實現非常有效的項目管理。?
?9.應對不斷的變化?
對于大多數項目來說,項目的月需求變化不會超過5%。造成這些變化的原因有很多,比如沒有在正確的時間問正確的問題,正在處理的問題的變化,用戶的變化。;想法或概念,商業環境的變化或市場的變化。功能特性的蠕變很容易使成本和執行進度超出預估。在項目初期,項目需求中有很多容易混淆的地方。當它到達某個階段時(通常在第二階段結束時),必須確定項目需求并鎖定其核心內容。變更管理流程由所謂的"改變董事會和,由參與項目的各個領域的代表組成,如業務、市場、開發、質量保證、用戶文檔、客戶支持和項目管理。變更委員會負責將變更移交給適當的人員,解釋變更,并衡量來自各方的估計值。在獲得足夠的信息后,變更委員會可以決定是接受還是拒絕變更。一旦更改被接受,它將被添加到計劃中,并且實施進度將被更改。有變更的項目比沒有變更的原始項目提交得晚,但是它仍然是成功的,因為它仍然滿足修改后的實施時間表和股東期望。如果一個項目在變更委員會啟動后變更超過5%,說明這個項目制定的很差或者失控,最終很可能失敗。?
?10.項目負責人?
對于公司的經理來說,任命一名執行官對軟件項目的結果負責是非常重要的。這關鍵執行者不僅要有全局觀,還要獲取和控制項目所需的資源,幫助和支持團隊。同樣重要的是,執行人不需要干預和管理群體中的一些瑣事。實踐者應該相信團隊可以委托一個重要的任務。?
?結束語?
本文列舉了幫助提高軟件開發項目成功率的十個因素。通過遵循這些指導方針,您可以在預算和預定時間內更好地完成項目,保持一個高效的團隊,并盡量不改變功能特性。
有什么適合女生玩的手機單機游戲?
第一
Toka游戲系列,沒有wifi,占用內存很少。
各種小人簡直可愛不我不想要它們。
在這里你可以隨意做很多有趣的事情。
這個游戲有很多場景:醫院,城市,農田等等。
It這真的很有趣。各大網站都可以找到下載。
