1. 程式人生 > >如果我當上技術經理如何展開工作(二)

如果我當上技術經理如何展開工作(二)

1             術語、概念、假設

標準工時:假定有一個三年工作經驗的人,1小時的能完成的工作量。主要用於衡量模組的粒度。

2             規劃

2.1     不同階段核心要素不同

一              專案管理核心三要素

專案管理核心三要素:時間、成本、質量三要素。三者是魚和熊掌的關係,不可兼得。不同階段,不同的側重點不同。

二              競爭策略

基本競爭策略有三種:成本領先戰略、差異化戰略、集中化戰略。要麼把成本控制到比競爭對手更低的程度;要麼在企業產品和服務中形成與眾不同的特色,讓顧客感覺到你提供了比其他競爭者更多的價值;要麼企業致力於服務某一特定的市場細分、某一特定的產品種類或某一特定的地理範圍。這三種戰略架構上差異很大,成功實施需要不同資源和技能。以公司的實力,只會“涿鹿中原”,不會“偏安一隅”,所以集中化策略任何階段不會選擇。

三              增量市場階段

此階段核心因素:快(時間),早一天就可以多圈一批使用者。質量是相對,要評價一個產品的質量,必須有一個參照物。而大部分潛在使用者沒接觸過同類產品(如果有同類產品的話),所以無參照物參考。自然對質量沒概念。這個階段,有很多故事可講,所以融資相對容易,公司確實也融到資了。由於目前處於存量市場階段,所以本規劃以增量市場階段為主。

四              存量市場前期

此階段的核心要素:好(質量)。競爭已經開始了,但軟柿子多,提高質量可以更好地捏軟柿子。已經沒有多少故事可講,融資變得困難,但此時使用者較多,利潤也高,所以還是錢還是好賺。在保證質量碾壓軟柿子的情況下,儘可能的快,這樣能多捏幾個軟柿子。

“好”引申一下,變成差異化戰略。差異化戰略的五種基本途徑:1,產品差異化。主要體現在:形式、特色、效能質量、一致性、耐用性、可靠性、可維護性、風格和設計。2,服務差異化。3,人員差異化。4,營銷渠道的差異化,5,形象的差異化。

五              存量市場後期

此階段的核心因素:省(成本)。軟柿子被清光了,寡頭壟斷形成了。品牌已經建立,快會損害品牌,且沒好處,所以放棄。在各自的優勢領域,質量已經相對完美,通過質量很難有所突破。萬一有個瘋子打價格戰,大家只能奉陪;寡頭壟斷下幾乎必定出瘋子。

成本領先戰略是企業要在提供的產品的功能、質量差別不大的前提下,努力降低成本來取得競爭優勢。如果上一階段,質量不過關,則需要繼續關注質量,直到質量令人滿意。

六              成熟期

大勢已定,什麼都不重要。要麼已經形成壟斷,要麼寡頭已經達成默契。

2.2     研發部組織架構

一              工種

開發工程師職責:

l  詳細設計。

l  編碼。

高階開發工程師職責:

l  負責核心複雜功能的實現方案詳細設計、編碼實現。

l  負責疑難BUG分析診斷、攻關解決。

l  新人指導,幫新人詳細設計。

開發組長

l  團隊任務管理:開發工作量評估、開發任務分配。

l  團隊生產質量提升:程式碼稽核、開發風險識別/報告/協調解決。

l  團隊生產力提升:程式碼模板研發與推廣、最佳實踐規範總結與推廣、自動化研發生產工具研發與推廣。

l  團隊專業力提升:招聘面試、領導覆盤總結改進。

部門值日官:

l  行政管理:請假、報銷、值日之類。

l  進度彙總給部門上級。

l  調解各組矛盾,如果不服調解,上報部門上級。

l  配合各組組長完成任務。

部門經理:

l  行政管理。

l  確保進度按時完成。如果不能完成,儘快上報給部門上級。

l  解決部門矛盾。如果不能解決,儘快上報給部門上級。

l  指導各組長完成任務。

l  原則上不再編碼,但要會程式碼審查,防止員工欺騙。

l  如果沒有公共組,則臨時抽調人員完成公共內容。

二              關於招聘

開發組長考慮技術,部門經理考慮薪資,技術經理(總監)考慮已有人員技能分佈,年齡分佈等。開發組缺人,向部門經理申請。如果部門經費充足,則向技術經理(總監)申請招人,否則申請借人。

三              兩級架構

研發部由若干部門組成,部門又由若干工作組組成。正式部門由經理負責,如果工作繁雜,可設值日官;部門太小,也設值日官,不設經理;臨時部門設一名值日官。工作組人員不限,設組長一名,如果超過10人,設副組長一名;超過15人,設副組長兩人,依次類推。如果組員3人(或更少)設定值日生,不設組長。值日官、值日生完全是臨時的,副組長有部分臨時性。

四              增量階段架構

按產品線劃分部分部門,此階段的部門具有臨時性,故主管是:值日官,如果產品經理,需求分析能力達到良好,業務能力及格,則由產品經理擔任。否則:由願意當值日官的組長輪流擔任。這樣架構的目的:快,所有任務(包括借過來的售前、售後)都可以在部門內解決。

 

五              存量前期架構

按開發語言劃分部門,再按產品劃分組。方便程式碼走查、培訓、總結以提高產品質量。此階段:歸還售前、售後人員,稍稍減少產品經理,大幅增加測試員。

 

六              存量後期架構

提取各語言的公共開發組,建立培訓機構組建研發中心部,以降低成本。研發中心增加架構師:評估所有任務所需的標註工時。

2.3     規範

每條規範都是一個從坑裡爬起來的人總結的,遵守規範可以大幅降低掉坑的機率。遵守一條規範的成本可以忽略,遵守全部規範的成本是巨大的,以至必定虧損。較好的做法:統計掉各種坑的機率,然後針對性的建立規範。

一              規範建議

程式碼走查發現的問題,不影響軟體工程師的考核。影響考核的因素:完成的任務量(標註工時),測試員或使用者發現的缺陷數量。

二              規範

目前規範維持原狀,如果沒規範,就暫時沒有規範。我收集使用者和測試人員反饋的缺陷,對產生的根源進行分類,優先針對缺陷最多或影響最大的地方建立規範。

三              規範節選

 

增量階段

存量前期

存量後期

性質

案例為主(類似英美法系)

規則為主(類似大陸法系)

規則為主,案例為輔

軟體開發人員能否直接和客戶溝通

可以

不可以

不可以

能否加班

可以

不可以

隨便

使用者、客戶反映的問題

儘量修改

轉給產品經理決定

請使用者、客戶提交給產品經理

文件

儘可能少

CMM3 本地化

CMM3簡化版

壞程式碼(暫時沒問題,但高几率引發問題)

容許

不容許

容許出錯率低的壞程式碼

對軟體外包態度

提倡

儘量少,除非外包公司有我們正好需要的稀缺人才。這種機率太小。

質量過得去,便宜就行。

 

 

 

 

2.4     關注點

增量階段:重點關注需求分析人員,砍掉雞肋需求,暫緩次要需求、後期需求,工作量會減少一半到三分之二;要懂得剋制,有所為有所不為,緊跟需求、找準題眼。存量前期,重點關注各組長,尤其是測試組長,他們是提高質量的關鍵,對降低成本也有好處。存量後期,重點關注各部門經理,尤其是研發中心部經理,分析、設計、公共庫、培訓是可以跨語言的。

一              增量階段

l  深入瞭解顧客需求,減少開發過程中的需求變更與返工。根據國際最佳實踐,改進型的專案在正式開發前應該有80%的需求確定性,突破性的新產品在開發前也至少應有50%的需求確定性。

l  市場與技術人員一起進行產品定義,減少資訊傳遞過程中的失真,減少開發過程中的返工。

l  採用跨職能團隊進行工作,以節省開發、測試、製造和上市等的週期時間。

l  對新產品專案進行開發優先順序排列和資源分配,確保重要的專案得到優先開發。大需求的子需求如果優先順序不同,則分開。

l  採用適當的IT工具提升開發效率。比如:基與AutoCAD(或中望CAD)比直接開發好;基於引擎比從頭開發好。

l  程式碼走查。

l  採用有效的專案管理進行開發專案管理。

l  外包。

二              存量前期

l  程式碼走查,以提前發現問題。

l  增加評審力度,以提前發現問題。

l  培訓。

l  採用適當的IT工具提升開發效率。

l  採用有效的專案管理進行開發專案管理。

l  建立技術平臺和共用模組。有研究發現,一個新產品開發專案中平均有40%以上的重複勞動。由於是通過以前產品測試的,所以質量高的多。

l  專業性極強的工作,外包出去。

三              存量後期

l  軟體開發人力成本是大頭。培訓,使得員工的技能匹配度高,這可降低平均工資。

l  建立技術平臺和共用模組,縮短開發週期。縮短的不僅僅是開發,還是測試、售後。

l  程式碼走查。

l  採用適當的IT工具提升開發效率。

l  採用有效的專案管理進行開發專案管理。

l  多使用質量過得去,便宜的外包。