7、和工程開發相比,軟體開發中的“偷工減料”更難發現。
還有很多其它重要的區別,但我們僅從以上幾點就能很容易地發現:傳統的軟體開發方法只能適合部分軟體開發項目,根本不適合用來解決一切問題。
而軟體業界目前正在積極推動的極限編程在很大程度上彌補了傳統的軟體開發方法的以上不足。極限編程從許多方面對軟體開發的方式作了新的詮釋和重構,從而更加靈活有效地解決了上述問題;而且,因為它特彆強調交流、反饋和合作,更加適合我中心這樣規模的開發隊伍。
如果我競聘成功,我的工作思路是:汲取極限編程的思想,強調軟體團隊精神,以客戶為中心,以具體項目為實現手段,全面提升軟體設計與開發的工作效率,加快軟體產品化進程。我將在微觀上有選擇地採用極限編程、強調細節管理,在巨觀上向cmm(軟體過程成熟度)積極邁進。下面我將詳細闡明我的思路:
1、 強調團隊精神
杜絕自命不凡和不能平等待人的工作態度。
所有環節都以“團隊”為單位來進行。所有的“隊員” 對整個項目和設計都有發言權,同時由整個“團隊”來對項目負責。這裡的負責是指所有人對項目中的所有部分負責。而在以往的環境中,很多時候是一個“團隊”中的各個人負責個人設計,這樣就很容易給破壞“團隊”造成合理的藉口,也容易在開發人員之間造成隔閡和誤會等不合作的現象。在各個環節以“隊”為單位進行開發能夠針對性的克服這些弊端。
改變辦公室的布置格局,使之更利於團隊之間的溝通。
以溝通、簡單、反饋、勇氣的準則來指導團隊。
使軟體部的每一個人都成為輕鬆愜意的編寫優秀軟體的團隊的一分子。
2、 客戶為中心
客戶有權制定整體計畫,有權知道什麼時間能完成什麼項目,成本是多少。
客戶有權力從每個星期編程過程中獲得最大收益。
客戶有權在不支付過高費用的情況下改變計畫、替換工程、更改優先權。
客戶有權隨時決定軟體變動範圍並得到有關反饋,也可以在任何時間取消一些項目並保留能反映投資回報狀況的有用工作系統。
3、 具體項目的處理
解決進度延遲,多發布疊代周期,以獲得對進度的詳細反饋。
預防項目取消,讓客戶選擇具有最大意義的最小版本,從而在投入生產前減少發生錯誤的機率,同時軟體的價值也得到最大化。
預防系統惡化,創建並維護一套測試程式,保持系統最佳狀態,不允許累計錯誤。
預防缺陷率,遵從客戶需求,逐個程式進行測試。
預防業務誤解,使客戶成為整個團隊的一部分。在開發過程中,不斷和客戶進行溝通,並且項目的說明書不斷得到改進。
預防業務變更,縮短版本周期,使每個版本開發過程中的變化最少。在一個發行周期中,歡迎客戶用新需求取代仍未製作完成的功能。
程式設計師承擔估算和完成自己工作的責任,並將他們完成工作實際所花費的時間及時反饋給他們,改進並且尊重他們的估算。大家都很清楚應該由誰做出或者改變估算的規則。這樣,就可能更少的因為要求程式設計師作明顯不可能完成的工作而使之感到沮喪。鼓勵團隊成員間的互相溝通,以減少由於對工作不滿意而產生的挫敗感。