如果我當上技術經理如何展開工作(二)
標準工時:假定有一個三年工作經驗的人,1小時的能完成的工作量。主要用於衡量模組的粒度。
-
- 規劃
- 不同階段核心要素不同
- 專案管理核心三要素
- 不同階段核心要素不同
- 規劃
專案管理核心三要素:時間、成本、質量三要素。三者是魚和熊掌的關係,不可兼得。不同階段,不同的側重點不同。
-
-
-
- 競爭策略
-
-
基本競爭策略有三種:成本領先戰略、差異化戰略、集中化戰略。要麼把成本控制到比競爭對手更低的程度;要麼在企業產品和服務中形成與眾不同的特色,讓顧客感覺到你提供了比其他競爭者更多的價值;要麼企業致力於服務某一特定的市場細分、某一特定的產品種類或某一特定的地理範圍。這三種戰略架構上差異很大,成功實施需要不同資源和技能。以公司的實力,只會“涿鹿中原”,不會“偏安一隅”,所以集中化策略任何階段不會選擇。
-
-
-
- 增量市場階段
-
-
此階段核心因素:快(時間),早一天就可以多圈一批使用者。質量是相對,要評價一個產品的質量,必須有一個參照物。而大部分潛在使用者沒接觸過同類產品(如果有同類產品的話),所以無參照物參考。自然對質量沒概念。這個階段,有很多故事可講,所以融資相對容易,公司確實也融到資了。由於目前處於存量市場階段,所以本規劃以增量市場階段為主。
-
-
-
- 存量市場前期
-
-
此階段的核心要素:好(質量)。競爭已經開始了,但軟柿子多,提高質量可以更好地捏軟柿子。已經沒有多少故事可講,融資變得困難,但此時使用者較多,利潤也高,所以還是錢還是好賺。在保證質量碾壓軟柿子的情況下,儘可能的快,這樣能多捏幾個軟柿子。
“好”引申一下,變成差異化戰略。差異化戰略的五種基本途徑:1,產品差異化。主要體現在:形式、特色、效能質量、一致性、耐用性、可靠性、可維護性、風格和設計。2,服務差異化。3,人員差異化。4,營銷渠道的差異化,5,形象的差異化。
-
-
-
- 存量市場後期
-
-
此階段的核心因素:省(成本)。軟柿子被清光了,寡頭壟斷形成了。品牌已經建立,快會損害品牌,且沒好處,所以放棄。在各自的優勢領域,質量已經相對完美,通過質量很難有所突破。萬一有個瘋子打價格戰,大家只能奉陪;寡頭壟斷下幾乎必定出瘋子。
成本領先戰略是企業要在提供的產品的功能、質量差別不大的前提下,努力降低成本來取得競爭優勢。如果上一階段,質量不過關,則需要繼續關注質量,直到質量令人滿意。
-
-
-
- 成熟期
-
-
大勢已定,什麼都不重要。要麼已經形成壟斷,要麼寡頭已經達成默契。
-
-
- 研發部組織架構
- 工種
- 研發部組織架構
-
開發工程師職責:
- 詳細設計。
- 編碼。
高階開發工程師職責:
- 負責核心複雜功能的實現方案詳細設計、編碼實現。
- 負責疑難BUG分析診斷、攻關解決。
- 新人指導,幫新人詳細設計。
開發組長:
- 團隊任務管理:開發工作量評估、開發任務分配。
- 團隊生產質量提升:程式碼稽核、開發風險識別/報告/協調解決。
- 團隊生產力提升:程式碼模板研發與推廣、最佳實踐規範總結與推廣、自動化研發生產工具研發與推廣。
- 團隊專業力提升:招聘面試、領導覆盤總結改進。
部門值日官:
- 行政管理:請假、報銷、值日之類。
- 進度彙總給部門上級。
- 調解各組矛盾,如果不服調解,上報部門上級。
- 配合各組組長完成任務。
部門經理:
- 行政管理。
- 確保進度按時完成。如果不能完成,儘快上報給部門上級。
- 解決部門矛盾。如果不能解決,儘快上報給部門上級。
- 指導各組長完成任務。
- 原則上不再編碼,但要會程式碼審查,防止員工欺騙。
- 如果沒有公共組,則臨時抽調人員完成公共內容。
-
-
- 關於招聘
-
-
開發組長考慮技術,部門經理考慮薪資,技術經理(總監)考慮已有人員技能分佈,年齡分佈等。開發組缺人,向部門經理申請。如果部門經費充足,則向技術經理(總監)申請招人,否則申請借人。
-
-
-
- 兩級架構
-
-
研發部由若干部門組成,部門又由若干工作組組成。正式部門由經理負責,如果工作繁雜,可設值日官;部門太小,也設值日官,不設經理;臨時部門設一名值日官。工作組人員不限,設組長一名,如果超過10人,設副組長一名;超過15人,設副組長兩人,依次類推。如果組員3人(或更少)設定值日生,不設組長。值日官、值日生完全是臨時的,副組長有部分臨時性。
-
-
-
- 增量階段架構
-
-
按產品線劃分部分部門,此階段的部門具有臨時性,故主管是:值日官,如果產品經理,需求分析能力達到良好,業務能力及格,則由產品經理擔任。否則:由願意當值日官的組長輪流擔任。這樣架構的目的:快,所有任務(包括借過來的售前、售後)都可以在部門內解決。
-
-
-
- 存量前期架構
-
-
按開發語言劃分部門,再按產品劃分組。方便程式碼走查、培訓、總結以提高產品質量。此階段:歸還售前、售後人員,稍稍減少產品經理,大幅增加測試員。
-
-
-
- 存量後期架構
-
-
提取各語言的公共開發組,建立培訓機構組建研發中心部,以降低成本。研發中心增加架構師:評估所有任務所需的標註工時。
每條規範都是一個從坑裡爬起來的人總結的,遵守規範可以大幅降低掉坑的機率。遵守一條規範的成本可以忽略,遵守全部規範的成本是巨大的,以至必定虧損。較好的做法:統計掉各種坑的機率,然後針對性的建立規範。
-
-
-
- 規範建議
-
-
程式碼走查發現的問題,不影響軟體工程師的考核。影響考核的因素:完成的任務量(標註工時),測試員或使用者發現的缺陷數量。
-
-
-
- 規範
-
-
目前規範維持原狀,如果沒規範,就暫時沒有規範。我收集使用者和測試人員反饋的缺陷,對產生的根源進行分類,優先針對缺陷最多或影響最大的地方建立規範。
-
-
-
- 規範節選
-
-
|
增量階段 |
存量前期 |
存量後期 |
性質 |
案例為主(類似英美法系) |
規則為主(類似大陸法系) |
規則為主,案例為輔 |
軟體開發人員能否直接和客戶溝通 |
可以 |
不可以 |
不可以 |
能否加班 |
可以 |
不可以 |
隨便 |
使用者、客戶反映的問題 |
儘量修改 |
轉給產品經理決定 |
請使用者、客戶提交給產品經理 |
文件 |
儘可能少 |
CMM3 本地化 |
CMM3簡化版 |
壞程式碼(暫時沒問題,但高几率引發問題) |
容許 |
不容許 |
容許出錯率低的壞程式碼 |
對軟體外包態度 |
提倡 |
儘量少,除非外包公司有我們正好需要的稀缺人才。這種機率太小。 |
質量過得去,便宜就行。 |
|
|
|
|
增量階段:重點關注需求分析人員,砍掉雞肋需求,暫緩次要需求、後期需求,工作量會減少一半到三分之二;要懂得剋制,有所為有所不為,緊跟需求、找準題眼。存量前期,重點關注各組長,尤其是測試組長,他們是提高質量的關鍵,對降低成本也有好處。存量後期,重點關注各部門經理,尤其是研發中心部經理,分析、設計、公共庫、培訓是可以跨語言的。
-
-
-
- 增量階段
-
-
- 深入瞭解顧客需求,減少開發過程中的需求變更與返工。根據國際最佳實踐,改進型的專案在正式開發前應該有80%的需求確定性,突破性的新產品在開發前也至少應有50%的需求確定性。
- 市場與技術人員一起進行產品定義,減少資訊傳遞過程中的失真,減少開發過程中的返工。
- 採用跨職能團隊進行工作,以節省開發、測試、製造和上市等的週期時間。
- 對新產品專案進行開發優先順序排列和資源分配,確保重要的專案得到優先開發。大需求的子需求如果優先順序不同,則分開。
- 採用適當的IT工具提升開發效率。比如:基與AutoCAD(或中望CAD)比直接開發好;基於引擎比從頭開發好。
- 程式碼走查。
- 採用有效的專案管理進行開發專案管理。
- 外包。
-
-
- 存量前期
-
-
- 程式碼走查,以提前發現問題。
- 增加評審力度,以提前發現問題。
- 培訓。
- 採用適當的IT工具提升開發效率。
- 採用有效的專案管理進行開發專案管理。
- 建立技術平臺和共用模組。有研究發現,一個新產品開發專案中平均有40%以上的重複勞動。由於是通過以前產品測試的,所以質量高的多。
- 專業性極強的工作,外包出去。
-
-
- 存量後期
-
-
- 軟體開發人力成本是大頭。培訓,使得員工的技能匹配度高,這可降低平均工資。
- 建立技術平臺和共用模組,縮短開發週期。縮短的不僅僅是開發,還是測試、售後。
- 程式碼走查。
- 採用適當的IT工具提升開發效率。
- 採用有效的專案管理進行開發專案管理。
- 多使用質量過得去,便宜的外包。