做好項目管理,纔是軟件開發的關鍵

 在軟件開發過程中,經常有許多細節和事故使我們的計劃無法跟上變化的步伐。例如,需求、流動性等方面的變化。爲了確保可以控制項目進度,並有效避免項目在開發過程中的風險,可以想象項目管理在軟件開發中的重要作用。

  項目管理一般有兩個方面:項目規劃和開發團隊管理。

  建立項目計劃

  (1)設計總體架構

  根據項目實施的需要,採用比較成熟的適合本項目的框架結構。

  在過去的幾年裏,當我在一家公司的技術部門工作時,公司的產品出現了各種各樣的問題。例如,當該系統每天發佈或訪問次數過大時,該系統就會崩潰,一天內就會收到100多封bug郵件。影響了業務部門的正常使用。

  有這麼多錯誤的原因是因爲無論業務部門要求什麼,技術部門都接受了這一切。這是不合理的,這不會導致如此多的錯誤。技術部門爲業務部門服務。這是正常的。畢竟,公司的主要收入來自業務部門。問題是數據字典是由每個開發人員設計的,導致大多數數據字典的冗餘甚至不合理的設計。他們只關心他們負責的模塊。當模塊相關時,會出現問題。

  當時,公司使用的是ASP。NET+MSSQL服務器技術,沒有使用相應的框架,代碼冗餘,經過兩個多月的整改後,系統幾乎無法正常工作。

  (2)控制可擴展度

  過大的擴展將增加系統的複雜性,延長系統的開發時間;過低的擴展將直接影響系統的二次開發和維護。控制系統的可擴展性提高了系統的開發效率,降低了系統維護的難度。

  我不知道你是否覺得這個項目在早期階段做得不好,複製和粘貼的現象隨處可見,導致代碼越來越多,維護越來越困難。

  (3)建立基礎設施

  合理分配部署軟硬件等基礎設施的時間和成本。

  (4)劃分開發任務

  使用wbs(工作分解策略、工作分解結構)對交付成果進行分類和劃分。每個項目分爲多個不同的階段。每個階段可分爲多個工作包。工作包是wbs中最小的可交付結果。最後,從工作包中分解出多個開發任務。列表,分配給各個開發人員。

  (5)部署開發進度

  從需求研究,總結設計,詳細設計,實施開發任務,測試,聯合調試,SIT部署和生產環境部署往往被推遲,項目經理必須具有協商能力,預測風險能力和控制能力。項目經理推動項目前進,併爲所有利益相關者的利益滿足項目的接受。

  (6)測試項目成果

  每個工作包應該同步部署測試工作,以提高項目的質量。測試人員應以文本格式記錄Bug Bug的工作包,向開發人員顯示Bug所在的位置,並允許開發人員及時修改它們。

  管理開發團隊

  (1)組建團隊

  根據工作任務和項目時間的前提建立團隊,根據團隊職責指派人員,一般團隊控制在6至10人之間。當團隊超過20人時,考慮將團隊分成兩個獨立的團隊,負責不同的開發任務。

  (2)分配開發任務

  在每個迭代週期(通常爲15~30個工作日)中,每個工作包應進一步細分爲多個開發任務。開發任務的開發時間應控制在15個工作小時內,如果開發任務開發時間超過15個工作小時,則應考慮完善任務。應以自由選擇的方式爲每個團隊成員分配開發任務。

  (3)跟進開發進度

  在迭代的早期,召開一個會議,讓團隊瞭解開發進度和過程,並以自主的方式分配開發任務。工具用於記錄開發過程的進度。每個工作包完成後,應進行性功能測試,測試結果應以文本格式記錄。

  每天舉行超過10分鐘的常設會議,讓小組成員彙報昨天完成的發展工作、當日須完成的工作,以及在發展過程中遇到的問題。

  每週末舉行一次例會,解釋整個過程。

  在迭代結束時,召開一次sprint會議,總結項目進度,移交已完成的任務,審查迭代週期中遇到的問題,併爲下一次迭代做好準備。

  不要忽略開發規範和代碼審查。

  對於代碼標準,感興趣,請掃瞄《你見過馬化騰、劉強東編寫的代碼嗎?》

  顧名思義,代碼審查是一個檢查代碼並確保其有效,並儘可能優化代碼的過程。

  有些人會厭惡代碼審查的過程,我寫的代碼會被別人審查,我們是否懷疑我們的編碼能力?

  不,這實際上是一件好事,有人正在檢查我們的代碼,以減少的風險粗心的錯誤。即使是一個好的開發商也可能粗心。

  團隊中的每個人都有自己的優勢,通過代碼進行審覈。有些人可能會想出一個更智能的解決方案,它使用更合適的設計模式來降低複雜性並提高性能。

  通過其他人的回顧,他們可以發現可能的問題並找到需要改進的地方,這對於提高代碼提交者的編碼水平非常有幫助。

  跳棋可以通過閱讀別人的代碼和找到適合自己工作的解決方案來學習大量的新知識和技能。

  (4)系統測試

  對每個已完成的工作包進行及時的測試,以確保系統的質量和性能。測試結果以文字記錄,並將測試結果與績效工資收入掛鉤,以真實數據計算團隊成員的績效收入。

  測試人員應該在文本中記錄錯誤,並與開發人員一起向開發人員演示突出的錯誤,以提高修改的效率。

  在這裏進行績效考覈要小心,可能會導致團隊成員的流失

  (5)解決發展中的問題

  開發人員的預培訓可以根據工作能力合理分配任務,指導團隊成員的發展。遇到問題時,應及時在當天的站立會議上提出,以免影響發展進程。

  (6)流程化管理

  對於it軟件管理,應該做以下四大流程管理:

  編碼標準的制定和實施;

  制定和實施開發任務流程;

  發展進程的制定和實施;

  開發和實施測試結果。

  處理管理減少了團隊成員工作的盲目性和重複性,提高了團隊的工作效率。同時,也提高了團隊管理者的工作效率,提高了管理的便捷性。因此,高效團隊的建設離不開過程管理。

  (七)變更要求,修改項目計劃

  在開發過程中,如果需求發生變化,我們必須對文本進行詳細的記錄,以便客戶瞭解需求變化的實際情況以及開發商爲此支付的成本和成本。與客戶討論改變計劃對項目進度的影響。同時,它還爲開發人員尋找工作量。

  筆者認爲,在項目開發過程中,需求已經發生了變化,但可以給予相應開發人員的工作量沒有變化,這對開發人員來說是非常不公平的,因此開發人員必須加班完成任務。這很容易導致人才流失,完成了項目,團隊成員紛紛辭職。

  軟件開發管理必須提高軟件團隊管理能力。管理者必須利用每一個機會讓團隊成員感受到團隊的力量,這樣他們就不會孤獨和不受委屈,並且能夠通過每個開發任務繼續成長。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章