自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

小型軟件項目中的規(guī)范管理

開發(fā) 項目管理
小型軟件項目一般具有項目需求相對較少、人員較少、開發(fā)周期較短的特點。人們往往忽視了小型軟件開發(fā)的管理,其實這是一種誤解。

一個企業(yè)的管理,大公司有大公司的方式,小公司也有小公司的做法。如果把別人的經(jīng)驗生搬硬套到自己身上,可能會適得其反。同樣,管理一個軟件開發(fā)項目也一樣,大項目和小項目的方式也完全不一樣。如很多人認為小型軟件開發(fā)項目不需要嚴格的管理,但事實上卻恰恰與此相反,小型軟件項目不單需要進行項目管理,而且不能完全照搬大型軟件項目的管理方式和開發(fā)模式,應該要遵循一種適合小型軟件項目的管理方式。

近期,我在負責的一個小型軟件開發(fā)過程中忽視了小型軟件項目的特點,結(jié)果是麻煩事情特別多,差點兒項目要以失敗告終。但從另一個角度來看,項目的大與小并沒有本質(zhì)的區(qū)別,很多方法是共通的,但必須要切合實際來靈活運用。本文結(jié)合我在這個小型軟件開發(fā)項目中得到的經(jīng)驗和教訓,首先分析小型軟件開發(fā)項目中常見的問題,然后提出相應的解決辦法。

一. 小型軟件開發(fā)項目中常犯的錯誤

小型軟件開發(fā)項目一般具有項目需求相對較少、人員較少、開發(fā)周期較短的特點。因此,小型軟件開發(fā)看起來都比較簡單,比較容易成功,因而人們往往忽視了小型軟件開發(fā)的管理,其實這是一種誤解。例如,由于人員較少就分工不明確或由于開發(fā)周期較短就忽視項目計劃和進度表的控制,結(jié)果是經(jīng)常會出現(xiàn)開發(fā)流程混亂,重編碼輕設計,甚至到編碼完成后再回頭編寫各種文檔資料等現(xiàn)象。從我這次的開發(fā)經(jīng)驗看來,在小型軟件開發(fā)管理中最容易犯以下的錯誤:

(1)沒有重視項目計劃,做一天和尚撞一天鐘

往往由于項目較小,便很草率地制定一個開發(fā)日程表,也沒有認真地估計項目難度,結(jié)果是實際完成時間與估計完成時間往往有較大差別。還有人是這樣說計劃的:"計劃、計劃,紙上畫畫,墻上掛掛,計劃不如變化"。因此,由于觀念的不正確使到計劃管理經(jīng)常成為空話,特別是在小型軟件開發(fā)中影響計劃的因素太多時或加上想省事怕麻煩,結(jié)果計劃管理就形同虛設了。

但是,軟件進行項目管理的目的就是綜合各種因素,制定合理的計劃,并通過計劃的實施,使其規(guī)范化,從而提高人員效率,降低項目成本。因此,軟件開發(fā)無論項目大小,其實都需要計劃過程。只是對于小型軟件項目來說,計劃階段可能切換的很快。例如,有時候項目負責人只是腦海里想一遍就把計劃確定了。但項目負責人必須心里要清楚:有時候想省事兒,可能反而會更加費事兒。俗語有云:一年之計在于春、一日之計在于晨。其意義不是說越早做越好,而是闡述一個目標的實現(xiàn)需要盡早做規(guī)劃。

(2)沒有完整的開發(fā)文檔,無意之中增大項目風險

一個完整的軟件開發(fā)項目應包括有相當多的相關(guān)文檔:例如項目開發(fā)計劃、軟件需求說明書、概要設計說明書、詳細設計說明書、開發(fā)進度月報、測試計劃和開發(fā)總結(jié)報告等。而在實際中,許多小型軟件項目只有簡單的流水帳式的開發(fā)日志。最常見的借口往往是以文檔滯后來解釋文檔的不健全,這似乎沒有什么不妥,而且好象還理直氣壯的。但如果將軟件項目叫做"工程"的話,再將其與建筑工程相比較,那我們也就可以說:大樓有了,圖紙滯后,這是很可笑的。還有許多開發(fā)人員認為軟件設計已經(jīng)在其腦子里完成了,在其意識里工作就只是一堆需要敲出來的程序,既然能直接敲得出來,自然沒必要再做寫文檔的重復工作。

這樣做的結(jié)果使到設計思路和實現(xiàn)細節(jié)在項目團隊內(nèi)的交流很困難,開發(fā)過程會由于需要大量嘗試性、重復性工作而變得緩慢,而且會出現(xiàn)許多意想不到的大大小小的問題,狼煙四起之時最重要的工作就變成了"救火"。所以,在小型軟件項目里會"救火"的技術(shù)人員會成為大家推崇和依賴的英雄。但這種"救火"式的行為最終結(jié)果卻是項目延期成了普遍現(xiàn)象,產(chǎn)品質(zhì)量也得不到保證。另外,如果這個英雄半途離開,那沒有任何文檔支持的中間結(jié)果對其它人來說基本上就是"一堆垃圾"而已,項目被迫中斷就成了家常便飯。

(3)人員沒有技術(shù)分層,職責不清分工不明

許多小型軟件開發(fā)項目一直采用個人主義式的開發(fā)方式,決定了規(guī)范化開發(fā)方式的不被認可。對規(guī)范化管理的淡漠,抑制了團隊工作效率的提高,甚至扼殺了其生命。所以,小型軟件項目往往要求主要的項目人員從各個方面都得是非常出色的,不僅要全面地掌握系統(tǒng)架構(gòu)知識、具有業(yè)務分析和系統(tǒng)設計能力,而且還得是多種流行開發(fā)工具的專家、數(shù)據(jù)庫的專家、網(wǎng)絡配置的專家等,但這樣的全才和通才往往是可遇不可求的。
因此,小型軟件項目更需要做技術(shù)分層,例如系統(tǒng)分析員、需求分析師、程序員、測試員等。在項目開發(fā)中相應的角色必須要有相應的專業(yè)人員來擔當,當然可依據(jù)項目規(guī)模大小和現(xiàn)有人員來合理配置。這里強調(diào)技術(shù)結(jié)構(gòu)分層和技術(shù)人員劃分,更多的是技術(shù)責任的明細,而非具體個人的技術(shù)定位,將技術(shù)任務和相應的責任劃分到具體的崗位、將崗位落實到具體的人,這與具體技術(shù)人員身兼數(shù)職是不矛盾的。
而我們經(jīng)??吹降氖窃谠S多小型軟件開發(fā)過程中,人員職責不清、分工不明的現(xiàn)象非常嚴重。有的甚至從調(diào)研到分析、設計,到開發(fā)、調(diào)試,再到測試一氣呵成。先不說工作量有多大,僅從項目的風險來說就是非??膳碌模挥谜f最大限度發(fā)揮開發(fā)人員的長處了。

二. 小型軟件實行項目管理的方法和步驟

為什么小型軟件開發(fā)項目卻會面臨更多的失敗風險呢?在我所負責的項目面臨下馬前的每一個夜晚,我的腦袋里一直在思考這個問題。也許是多日思考的沉淀,也許是思緒在不停的四處游蕩后的突發(fā)靈感。使我明白到原來決定小型軟件項目成敗的核心因素,是有沒有堅持進行實行項目管理?,F(xiàn)總結(jié)為以下幾個要點:

(1)樹立小型軟件開發(fā)也需要項目管理的理念

但凡專業(yè)的軟件開發(fā)人員都學過《軟件工程》這門課,縱觀這些指導性的理論以及建議。我們應該要樹立即使是小型軟件開發(fā)也應該在一定程度不要違背開發(fā)理論,必須要遵從于工程化軟件理論的原則和方法,落實規(guī)范化的管理。否則,失敗的風險將伴隨著整個開發(fā)過程,而且越到后期失敗的可能性會越大。

對小型軟件項目而言,最急需的不是設計方法,也非分析方法,當然也不是開發(fā)方法,而是管理方法。因此,無論項目大小都必須要遵循一定的項目管理步驟。從概念上講,軟件項目管理是為了使軟件開發(fā)能夠按照預定的成本、進度、質(zhì)量順利完成,而對成本、人員、進度、質(zhì)量、風險等進行分析和管理的活動。實際上,軟件項目管理的意義不僅僅如此,進行軟件項目管理還有利于將"英雄"式的開發(fā)人員的個人開發(fā)能力轉(zhuǎn)化成團隊的開發(fā)能力,團隊的軟件開發(fā)能力越高,就越能減小項目的開發(fā)風險。

(2)項目需求的確認

在軟件開發(fā)中,最重要的活動是要明確項目的范圍、需求和提出至少一個可用的軟件架構(gòu)方案。在明確項目范圍的過程中,不能認為是小型軟件開發(fā)項目就馬馬虎虎的、想當然的認為已經(jīng)了解了客戶的真實需求。項目經(jīng)理應要就項目的邊界、功能、限制條件等與客戶進行協(xié)商,并應以需求說明書和功能說明書的形式把客戶的需求記錄下來,并且和客戶達成一致的認識和理解。在此基礎上,再提供至少一個合適的軟件架構(gòu)方案,并且完成原型系統(tǒng)。原型系統(tǒng)的目的不但是為了驗證技術(shù)上的可行性,而且是為了給客戶一個感性的認識,更好地完善對需求的理解和確認。

(3)人員角色的安排和定義

角色定義包括個人或團隊的行為和職責,包括設計人員、編程人員、測試人員、項目管理人員和輔助人員。比較小的項目往往是幾個人來完成,這幾個人基本上從頭到尾參加開發(fā)。而且由于項目小,項目負責人除了負責分析、設計和協(xié)調(diào)的工作外,也要參加編程。但在此過程中必須要合理進行人員角色的安排和定義,將技術(shù)任務和相應的責任劃分到具體的崗位,再將崗位責任落實到具體的人身上,避免推卸責任或由不專業(yè)的人馬虎應付了事。例如,一個人可以同時擔當幾個角色,一個角色也可以由幾個人來共同承擔,但前提都是要有責任的、有專業(yè)技能的。

(4)建立合理的開發(fā)流程,注重過程的銜接

一句話形容就是"麻雀雖小,五臟俱全"。也就是說即使是小型軟件的開發(fā),仍然應該遵循軟件開發(fā)的一般規(guī)律,必須的步驟和合理的開發(fā)流程還是不能省略。不但要建立合理的開發(fā)流程,而且還要注重分析與設計過程的銜接。當然,小軟件項目也有它自身的一些特點,實行起來可以相對靈活些。

例如:①要強調(diào)協(xié)調(diào)幾個人的工作比某一開發(fā)人員完成一段編碼更重要。因為在協(xié)調(diào)上出了漏洞,就可能導致很大的問題。②是給每個開發(fā)人員要有明確的任務書,也就是說每個開發(fā)人員必須非常明確自己的任務,而且這些任務是采用文檔來表示。③是要讓每個開發(fā)人員都清楚自己所做的工作在整個系統(tǒng)中處于什么地位,避免各人的代碼編寫完畢之后又要重復修改。

(5)重視文檔化過程

在小型軟件項目中有兩個特點:①是由于人員少,意味著不同人員的程序之間交互、接口相對少一些;②是由于人員少,往往是同樣的幾個人從頭到尾負責這個項目。但這兩個特點會讓人容易犯錯誤,就是往往是幾個人碰一下頭,討論一下最基本的任務分工便分頭去做自己的工作了,沒有一份較正式的開發(fā)文檔。當有人對任務理解有偏差時或有誤解時,就可能會造成返工。因此,小型軟件開發(fā)項目也不應該忽視文檔化過程的作用。

文檔化有三方面的作用:①是有助于團隊溝通,能給別人一個交待以及給自己一個備忘。②是有助于自我理解,一般來說如果你不能寫下它,你就可能沒有真正的理解它。③是有助于連貫一致性,它會使團隊擁有可重復的優(yōu)勢。雖然文檔是如此重要,但在小型項目中有用的文檔最好也不要太冗長繁雜,一般1-2頁的過程說明就足夠了。

(6)使用好制度與紀律這個工具

有效的團隊制度與紀律是非常有利于團隊有序工作的。也許在一、二十年前經(jīng)常聽到某位大俠單獨完成了某種創(chuàng)舉,成了人們崇拜的對象??山裉爝@種以自我為中心的大俠已經(jīng)很難有生存空間了,取而代之的是要發(fā)揮團隊力量才能攻克難關(guān)。

因此,軟件開發(fā)雖然是一項創(chuàng)造性的智力活動,但無可置疑的是制度與紀律對于能否成功也是至關(guān)重要的。如果因為項目小、人員少、周期短,在管理上可以一目了然就失去了制度與紀律的觀念,必將會導致開發(fā)過程混亂不堪。所以,使用好制度與紀律這個工具,將有助于小型軟件團隊改進開發(fā)過程,遵從紀律來構(gòu)建軟件將會得到大大的益處。

總而言之,大中型軟件開發(fā)項目事情會是很多,例如需求分析、概要設計、詳細設計、編碼、測試、安裝及維護等。但事實上,小型軟件開發(fā)項目的事情也并不少,同樣也需要管理好這些事情。雖然可根據(jù)實際的簡易程度進行適當?shù)娜∩幔挥袌猿謶庙椖抗芾磉@個工具才是正道,才會取得成功。

 

【編輯推薦】

  1. 小型軟件項目開發(fā)流程探討
  2. 軟件項目管理總體流程設計
  3. 應用軟件項目的配置管理實例
  4. 淺析軟件項目進度管理中的積習流弊
  5. 十六招成為大型軟件項目的開發(fā)英雄
責任編輯:佚名 來源: IT168
相關(guān)推薦

2011-07-08 08:37:05

軟件開發(fā)

2009-07-15 10:24:25

小型軟件項目開發(fā)

2009-06-24 14:18:47

資源管理敏捷項目

2011-01-19 10:45:34

信息系統(tǒng)項目管理師

2011-06-21 11:05:04

軟件項目

2022-03-08 06:31:41

DebugRelease

2011-05-19 08:57:41

軟件開發(fā)項目

2011-07-22 11:02:01

軟件項目

2011-10-11 09:27:25

軟件項目

2010-05-25 10:08:29

SVN權(quán)限管理

2009-04-03 13:09:12

小型項目制度化管理

2023-07-11 09:22:54

2011-07-11 09:31:34

軟件項目管理

2012-07-04 10:47:56

軟件項目項目管理項目流程

2024-04-03 09:03:05

項目分支管理

2021-03-06 19:45:23

項目文件代碼

2012-09-10 09:22:07

PHP項目開源

2011-07-04 09:39:31

項目管理

2023-05-30 07:50:56

項目管理權(quán)限

2011-08-03 09:18:36

軟件項目管理
點贊
收藏

51CTO技術(shù)棧公眾號