競聘軟體部的副經理

l客戶有權隨時決定軟體變動範圍並得到有關反饋,也可以在任何時間取消一些項目並保留能反映投資回報狀況的有用工作系統。

3、具體項目的處理

l解決進度延遲,多發布疊代周期,以獲得對進度的詳細反潰

l預防項目取消,讓客戶選擇具有最大意義的最小版本,從而在投入生產前減少發生錯誤的機率,同時軟體的價值也得到最大化。

l預防系統惡化,創建並維護一套測試程式,保持系統最佳狀態,不允許累計錯誤。

l預防缺陷率,遵從客戶需求,逐個程式進行測試。

l預防業務誤解,使客戶成為整個團隊的一部分。在開發過程中,不斷和客戶進行溝通,並且項目的說明書不斷得到改進。

l預防業務變更,縮短版本周期,使每個版本開發過程中的變化最少。在一個發行周期中,歡迎客戶用新需求取代仍未製作完成的功能。

l程式設計師承擔估算和完成自己工作的責任,並將他們完成工作實際所花費的時間及時反饋給他們,改進並且尊重他們的估算。大家都很清楚應該由誰做出或者改變估算的規則。這樣,就可能更少的因為要求程式設計師作明顯不可能完成的工作而使之感到沮喪。鼓勵團隊成員間的互相溝通,以減少由於對工作不滿意而產生的挫敗感。

l共同擁有代碼,更有效的減少人員調整後對軟體項目的負面影響。

4、多項目的整體運作

l整體軟體部門劃分為b/s工作組,c/s工作組。

l實行分時多任務的開發方法。以一個星期為一個開發周期,每一個開發周期都交給客戶一個已經發布的軟體。適時建立並以專業團隊為開發單位,全面實現客戶權利。

l促進軟體項目之間的溝通,尋求編程風格、習慣、標準的統一。

5、軟體部崗位設定

l項目管理員負責跟蹤各個項目,反饋給質管部門並生成相關文檔;分配資源,協調軟體團隊與客戶和用戶之間的關係;輔助教練確定客戶需求。

lb/s教練、c/s教練,指導具體技術,與市場部門共同商定技術方向,協助項目管理員管理和跟蹤各個項目。與客戶一起確定需求。衡量一個教練稱職與否的標準,不是他做出了多少關鍵性的代碼或者決策,而是他輔助整個團隊做出了多少正確決策。教練不負責許多開發任務,他的主要職責是:

i.充當開發夥伴,特別是對於那些剛開始承擔責任的新程式設計師或者困難的技術任務來說。

ii.明白長期的重構目標,鼓勵小規模的重構來實現一部分長期重構目標。

iii.用個人技術、技巧幫助程式設計師,如測試、格式和重構。

iv.向上層管理人員解釋過程。

v.輔助與客戶溝通。

l程式設計師是軟體項目的核心,他們的工作並不是僅僅讓計算機明白客戶的需求。最重要的準則,是和別人進行溝通。如果程式能夠運行,但還有重要的部分沒有溝通,程式設計師的工作就沒有完成。需要盡力為客戶開發最有價值的軟體,並且把問題規模減到足夠小的程度。程式設計師必須學會重構、學會單元測試,放棄對系統的某個部分的個人所有權的想法。對於一個程式設計師來說,你必須承認你的恐懼,因為我們每個人都在害怕:怕自己看上去很蠢、怕被認為是廢物、怕跟不上時代、怕不能勝任。然而你可以在團隊的幫助下,克服這些恐懼、獲得勇氣。