天天看點

代碼大全學習-30-建構管理(Managing Construction)

建構的管理基本可以分為代碼的管理、配置的管理、進度的管理、品質的管理和人的管理。下面分别說。

代碼管理

代碼管理的核心就是鼓勵寫出好的代碼,不管用什麼樣的方式。可以制定代碼标準,用版本控制的工具,可以用各種技巧比如結對程式設計,審閱,張貼好的代碼示例等等。

配置管理

配置的管理就是對變化的管理。各種各樣的變化,需求的,設計的,代碼的等等,怎麼讓它們的影響最小,保證項目可持續完工。方法很多,詳細的可參考下面的checklist。隻強調兩點:一是要分批分階段處理更改請求,這樣可以控制選擇最可實作的去實作;二是要做好備份,電腦,硬碟都是有可能壞的,不怕一萬,隻怕萬一。

Checklist: Configuration Management

General

  • Is your software-configuration-management plan designed to help programmers and minimize overhead?
  • Does your SCM approach avoid overcontrolling the project?
  • Do you group change requests, either through informal means such as a list of pending changes or through a more systematic approach such as a change-control board?
  • Do you systematically estimate the effect of each proposed change?
  • Do you view major changes as a warning that requirements development isn't yet complete?

Tools

  • Do you use version-control software to facilitate configuration management?
  • Do you use version-control software to reduce coordination problems of working in teams?

Backup

  • Do you back up all project materials periodically? 
  • Are project backups transferred to off-site storage periodically? 
  • Are all materials backed up, including source code, documents, graphics, and important notes? 
  • Have you tested the backup-recovery procedure?

進度管理

進度的管理關鍵在于如何準确的估算時間。影響時間的因素很多,可以借助于工具或者專家,也可以靠自己的經驗。一般來說,估算的越細節,準确率越高;越接近于完成,估計的準确率越高。是以可以周期性的重估來提高最終的估算準确率。軟體項目十有八九都會滞後,那麼發現已經滞後了怎麼辦呢?基本上指望後面趕上是不太可能的,絕大多數情況是後面滞後越來越多。增加人手基本也不太好用,除非那個人很熟悉這個項目或者這個項目的一部分可以單獨分出來。比較可行的一個解法是看看是不是有些特性是可以不要的,有些是要求不那麼高的,減少一下工作量。

品質管理

品質的管理最關鍵是要能測量。什麼東西好不好都要有個标準,能測量才能比較,有比較才有提高。是以,定可測量的标準,然後測量,分析結果,想辦法改進。

人的管理

人的管理關鍵就是尊重,把人當人。程式員是人,老闆也是人。人都有七情六欲,各種各樣的需求,要提高效率這些都是要考慮的因素。作者在書中提到一組資料表明客觀實體環境對效率有很大的影響,把環境從最差的25%提高到最好的25%可以使效率翻番。這裡環境是指像私人工作面積的大小,工作場所是不是安靜,幹擾多不多等等。

繼續閱讀