程式設計師是這樣幹的嘛
畢業至今,從事it行業已有4年工作時間.
這一路走來,做過編碼,做過測試,做過實施工作,
有過喜,有過憂.喜是克服了編碼過程的難度問題.
憂的是軟體是這樣幹的嘛,是不停的去修補,不停的產生bug,在生產線上不停的修改bug嘛
我親身經歷乙個千萬的系統整合工程,而這個千萬的系統整合過程也是邊編碼邊修改,沒有採用軟體工程思想,
憑程式設計師的經驗幹.乙個有經驗的老程式領著一班剛畢業的大學生開始幹.
這個系統從編碼到上線花了半年的時間.
在整個系統過程中,我很少參與編碼,主要是實施,現場調式bug,不停的給系統公升級,更新.
就是幹這活.
在這個崗位上我做了將近1年的時間,我深刻領會了同一套系統,產品系統比服務系統的**高那麼多的理由.
服務系統就是不斷公升級,不斷修改,軟體公司會安排乙個初級程式設計師現場維護,不斷的維護,不斷出錯,最後系統到使用者不能接受為止.
這種服務的模式結果導致軟體公司失去客戶,客戶失去對軟體公司的信任,客戶不斷的試用其他企業的軟體,這樣客戶永遠處於試驗期.
而軟體公司也不斷尋找新的客戶.
應用軟體的開發最大的難點:是適應業務變化,適應需求變化.
但如何解決這些問題了.
大中型系統一定需要採用正規化路線開發,不能打游擊戰.
打游擊戰術只適合非規模化開發,可以採用英雄主義路線開發.
對軟體專案的團隊的開發,個人的專案管理思想是權力集中與民主討論.
乙個團隊必須有精英,有領導者.對於領導者應該下放權力,權力應該集中,不應該民主決定.
討論應該民主討論,而且需要設立獎勵制度,有突出建議貢獻的應該獎勵,這樣才能發揮團隊中每個人的積極性.
乙個大中型系統如果n個人設計,那麼系統整合的難度會增加n個百分點.出現的問題也會增加n個點,專案失敗的風險就提高了n個點.
專案經理應該這樣認為團隊:團隊中成員的角色應該分:分析員\程式設計師\設計人員\測試人員幾個層次.
分析員主要精力在於整體,考慮整個系統,考慮的問題是整體性,是熟悉業務的,是如何讓軟體的結果適應業務變化.分析員的工作:
將需求轉化開發中明確\具體的開發模組\,撰寫的文件是給程式設計師看的,程式設計師拿著文件就能編碼的.
分析員與設計人員設計的圖紙應該遵循的原則:
1.程式設計師是乙個不懂業務的成員原則
2.模組設計粒度最小化原則
3.涉及業務知識最小化原則
4.溝通最小化原則
程式設計師考慮問題應該是最區域性的,考慮的是自己分到的模組功能,不需要考慮業務邏輯,
重點精力是保證**的\健壯性\穩定性\高效性\安全性.程式設計師不應該幹別的,應該這麼認為程式設計師角色.
程式設計師就是乙個照著圖紙施工的工人,不需要程式如何考慮整個工程的問題,整個業務問題.不需要有其他的功能.
程式設計師涉及的業務知識越少越好.
測試員應該是很喜歡挑毛病,有喜歡挑毛病的習慣.
程式設計師應該怎樣幹,程式設計師的重點精力是保證**的\健壯性\穩定性\高效性\安全性.照著圖紙施工的工人.
程式設計師是這樣煉成的 8 1 1 2
今天加班到10點才回家,最近整個專案組鬧鬧哄哄的,原因是出現了不水產的聲音。原本的安排的是 a,b兩組人分別完成兩個專案,卻因為開始工作任務分配的不合理,終於惹出了麻煩。a組的任務是 做乙個客戶的專案,計畫是6月份完成,人員投入工作量60 b組的任務是 開發出乙個平台,用來支援一系列a組未來的客戶專...
程式設計師是這樣煉成的 8 1 1 2
今天加班到10點才回家,最近整個專案組鬧鬧哄哄的,原因是出現了不水產的聲音。原本的安排的是 a,b兩組人分別完成兩個專案,卻因為開始工作任務分配的不合理,終於惹出了麻煩。a組的任務是 做乙個客戶的專案,計畫是6月份完成,人員投入工作量60 b組的任務是 開發出乙個平台,用來支援一系列a組未來的客戶專...
程式設計師是這樣煉成的 8 1 1 2
今天加班到10點才回家,最近整個專案組鬧鬧哄哄的,原因是出現了不水產的聲音。原本的安排的是 a,b兩組人分別完成兩個專案,卻因為開始工作任務分配的不合理,終於惹出了麻煩。a組的任務是 做乙個客戶的專案,計畫是6月份完成,人員投入工作量60 b組的任務是 開發出乙個平台,用來支援一系列a組未來的客戶專...