經過幾年的工作秘蛔,也擔任過幾個團隊的的負責人妻熊,想總結下技術管理探索的思考拧篮。
技術管理的主要工作
0. 取得上級信任
無信任深员,不成行
看到過很多有想法的管理,最終的成果都不太好宏浩。也見過很多管理水平低的技術管理,下面人老有不滿靠瞎,卻小有成績比庄。究其原因,我覺得就是一點乏盐,有能力的人大多容易一意孤行佳窑。而沒能力的人,卻更懂得借力父能。
舉個例子神凑,你認為當前團隊的中心是構建出一套開發(fā)體系,進而后續(xù)開發(fā)工作進展更快何吝。而領導認為當前的開發(fā)重點是趕緊實現某些功能溉委。這個時候就會出現一些分歧,一意孤行的后果就是爱榕,而在關鍵時候得不到領導的支持瓣喊,進而什么事情都沒做好。
所以黔酥,我的技術管理很重要的一件工作就是取得上級的信任藻三。在一個組織內洪橘,公司資源一般由上級掌握。在這個時候棵帽,做出成果的一個前提條件就是爭取到足夠多的資源熄求。而要爭取資源,首先得取得上級的信任逗概。達成信任可以粗略認為有一下幾個目標:
- 團隊當前首要目標一致
- 對于產品戰(zhàn)略的思路一致
- 對于團隊人員配備的想法一致
- 對于團隊發(fā)展階段的理解一致
- 對于技術棧和工具鏈的重視度一致
總結起來就是弟晚,需要讓上級對你管理的團隊能做成事情有信心,與這個整體目標一致的相關事情都是工作的主要內容逾苫。
那么怎么做到呢卿城,我覺得就是多溝通+做扎實。工作中多溝通隶垮,事情做扎實藻雪。不知道怎么做就可以采用一個原則:事前做計劃、傳到到意圖狸吞、溝通后執(zhí)行勉耀、進度多匯報、出事商策略蹋偏、原則要堅持便斥、事后需總結。
很多年輕的技術人員威始,第一次做技術管理時都不知道怎么取得領導的信任枢纠,往往各行其是。其實黎棠,對于上級領導來說晋渺,他需要思考的是大的方向,考慮的是全局脓斩。他并不關心你的細節(jié)問題木西,但是對于你們團隊當前的狀態(tài)他需要明確知道。對于出現了情況随静,他比你還需要知道事情的影響范圍八千。而他最擔心的也就是你容易各行其是,往往這種情況就會被限制燎猛,反倒無法施展手腳恋捆。
1. 產品戰(zhàn)略
對于任何一個技術團隊,都需要對產品進行長期規(guī)劃重绷。這里的產品不是狹義的軟件產品的意思沸停,它代表著技術的可持續(xù)性和團隊在某一特定應用領域的積累。就需要技術管理根據不同團隊情況论寨,通過行為去支撐公司在商業(yè)行為上的收益星立,用好的規(guī)劃去降低在開發(fā)投入上的成本爽茴。
技術管理就需要注意的是不斷的思考和積累技術的可持續(xù)性葬凳,在特定應用領域進行積累绰垂,讓技術團隊在應對可能面對的軟件類型(如:項目開發(fā)、產品研發(fā)火焰、合作研發(fā)劲装、DevOps開發(fā))有足夠的技術積累,讓團隊擅長某個應用方向(如:電商昌简、ERP占业、管理系統(tǒng)、云計算等)纯赎。這樣谦疾,在持續(xù)面對這些方面的問題的時候,我們就會越來越得心應手犬金。
我在兩個團隊中做過這方面的工作念恍。
第一個團隊中,我和老板溝通后認為產品發(fā)展的方向必然是:交互簡單化晚顷、功能場景化峰伙、數據可視化,就像瑞士軍刀一樣多樣功能该默,每個功能都能應對不同的場景瞳氓。以產品為核,項目作為主的收益模式栓袖。所以這時的技術管理需要的就是怎么樣去調整團隊工作中心有效減少項目周期(不是通過大量加班哈匣摘,這個毫無能力),并且積累產品能力裹刮。所以音榜,我從幾個角度去改變現有團隊:
- 在工作中通過職責明確界定人員分工:產品經理、研發(fā)人員必指、項目開發(fā)囊咏。由產品經理和前端研發(fā)負責交互的簡化設計,技術管理和產品經理一起規(guī)劃主要的應用場景并映射其對應的功能塔橡,改變思維從應用場景上思考功能梅割。
- 剝離項目需求為產品需求和定制化需求。有產品人員開發(fā)共性功能葛家,項目開發(fā)人員基于產品基礎之上編寫客戶的定制化需求户辞。
- 帶領研發(fā)人員構建一個小但是滿足需求的產品框架,通過行業(yè)業(yè)務理解來設計框架功能癞谒,多份需求只干一份事底燎,減少重復開發(fā)工作量
- 組織研發(fā)攻關客戶關注的功能的優(yōu)化刃榨,如:提升數據可視化的幀率、分辨率双仍,降低程序性能枢希、優(yōu)化穩(wěn)定性,更新新的圖形控件
- 改變瀑布式的開發(fā)模式為敏捷迭代朱沃,用于快速響應客戶的意見苞轿,提供可用的版本,進而通過反饋快速調整
- 構建開發(fā)工具集逗物,制定簡化的使用規(guī)范搬卒,減少開發(fā)人員的一些流程制度化操作對于狀態(tài)的干擾
- 制定測試的的流程和最簡原則,減少開發(fā)與測試人員扯皮的時間翎卓,讓測試回到幫助提升開發(fā)質量發(fā)現問題的軌道上
第二個團隊中契邀,我以設計人員的身份入職,負責一個項目失暴,實際干著軟件開發(fā)技術管理的職責坯门。面對CTO的技術管理體系和行政管理體系。兩個頂頭上司不懂技術锐帜,所以我和CTO溝通后認為田盈,我們當前的戰(zhàn)略方向是,從無到有構建產品團隊缴阎,形成一定的能力允瞧,結合硬件打造一個系統(tǒng)級別產品。所以這時的技術管理的工作重點就是蛮拔,如何在沒有軟件開發(fā)經驗的組織中構建起一個團建團隊述暂,并制定規(guī)則,構建技術生態(tài)建炫,并開發(fā)完成棘手的項目畦韭。所以,我從幾個事情上去入手:
- 進行系統(tǒng)架構設計肛跌,明確出軟件未來的工作內容
- 分析團隊所需工種艺配,提交招聘名額申請,并自己參與招聘
- 分析項目的需求衍慎,剝離共性和定制化需求转唉,對于共性需求進行模塊化設計,定制化需求進行框架上的兼容設計
- 構建開發(fā)環(huán)境稳捆,并結合環(huán)境制定開發(fā)流程
- 制定開發(fā)的規(guī)章制度赠法,用以規(guī)范開發(fā)人員行為
- 構建迭代開發(fā)模式,用以在初期階段快速產出功能
- 和客戶溝通開發(fā)節(jié)點(其實就是討價還價)乔夯,并在有一定小成果后向客戶演示砖织,讓他們對我們這個新團隊放心
通過以上內容其實可以看出款侵,我們整個團隊的工作,其實都是圍繞我們的產品戰(zhàn)略來的侧纯,服務于當前階段我們要奔向的目標新锈。所以,作為技術管理茂蚓,產品戰(zhàn)略的工作很重要壕鹉。
2. 人才管理
做任何事情剃幌,人是根本聋涨。依靠人才能做好事情。
有很多管理者認為人才管理都是HR的事情负乡,實則是一種誤解牍白。對于任何團隊的管理者,團隊內的人才管理永遠都是他的主要工作內容抖棘。HR是幫助我們進行這項管理的專業(yè)人才茂腥,不是招人和開人的白手套。
對于一個團隊來說切省,人員的活力和氛圍是前進的引擎最岗,發(fā)展空間和人才梯隊是團隊的保鮮劑。所以朝捆,依靠人才梯隊找人般渡,根據團隊氛圍選人,通過老帶新留人芙盘,通過規(guī)章制度取信于人驯用,通過發(fā)展空間凝聚人,好聚好散留情于人儒老。應該足夠總結起來了蝴乔。
3. 提升團隊開發(fā)效率
很多管理者認為團發(fā)進度過慢,進而責怪具體的開發(fā)人員驮樊。固然有可能存在有人會懈怠的問題薇正,但在大家都是職場人的環(huán)境中,做出這種事情是不合理的囚衔。所以挖腰,不管怎么樣,當你意識到出現問題了佳魔,其實都是你自己的問題曙聂。
我認為團隊的開發(fā)效率緊關聯著大家的幸福指數,呈正相關鞠鲜。而開發(fā)效率中宁脊,個人只占比一半不到断国。而通過團隊互信、開發(fā)設施的構建榆苞、知識的積累稳衬、合理的流程、明確的目標等等都會成為另一半提升效率的武器坐漏。作為技術管理者薄疚,需要處處為團隊的方便做考慮,與人方便赊琳,與己方便街夭。這樣效率自然就會提升,不用你強制大家加班躏筏。
我認為大部分導致效率底下的原因反而是管理者人為制造的板丽,比如:
- 將整塊時間中插入事件,讓團隊成員碎片化
- 目標在執(zhí)行過程中輕易改變
- 開發(fā)過程中需要使用很多上古系統(tǒng)才能完成一件工作
- 根據自己喜好將需要頻繁溝通的工種位置分開
- 遇到任務延遲趁尼,不解決問題埃碱,反而進行諷刺
- 性格反復無常
- 不能以身作則,言行不一
- etc.
其實很多看似只是個人修養(yǎng)的小問題酥泞,卻容易因為你是管理者在團隊中放大它的影響砚殿,進而影響到團隊的效率。我認為堅持一個事情就可以做到不因為自己的原因降低效率:
君子行事以直芝囤,人必信之
上句翻譯過來就是似炎,就事論事,言行一致凡人,就能得到團隊成員的信任名党。
解決了因為管理者自身帶來的問題,接下來就要考慮的是挠轴,如何通過一些基礎的開發(fā)設施來提升效率传睹,我覺得可以做以下嘗試:
- 構建簡便的代碼管理和版本管理,方便合作開發(fā)岸晦,避免開發(fā)中的大量問題
- 構建BUG管理系統(tǒng)欧啤,降低測試與開發(fā)的溝通成本,必須輔助適合當前團隊的最簡使用規(guī)范
- 持續(xù)集成系統(tǒng)启上,減少集成邢隧,打包等無技術含量的工作時間
- 構建開發(fā)環(huán)境,測試環(huán)境冈在,模擬生產環(huán)境倒慧,用于開發(fā)工作的實際驗證
- 開放的WIKI系統(tǒng),用于積累專業(yè)知識,提升技術受纫谅,培養(yǎng)貢獻的習慣
- 包管理系統(tǒng)炫贤,用于一些組件、框架付秕、模塊的版本發(fā)布和開發(fā)集成
- 思考如何豐富面對面溝通模式兰珍,增加溝通場所,減少聊天工具的使用
- 思考如何減少工作流中的割裂询吴,盡量少的使用不同工具
4. 保證產品質量
作為技術管理者掠河,產品質量是我們很應該重視的點,這里的產品
與產品戰(zhàn)略的產品含義相同猛计,并不是指的狹義的軟件產品唠摹。其實,有時候一個好的技術團隊也是一件產品有滑,需要長時間耐心的打磨跃闹。
那么產品質量中我認為有幾點是作為技術管理必須要保證的:
- 代碼質量(簡潔性、魯棒性毛好、耦合性、可讀性苛秕、一致性)
- 架構的工程質量(架構落地是否符合預期)
- 功能實現的過程節(jié)點質量(把控過程中關鍵節(jié)點的質量自然產出質量就高)
- 項目計劃的質量(合理的周期劃分肌访、技術實現的時間、存在風險和難點的技術)
- 開發(fā)自測和測試驗證的質量(回歸測試艇劫、性能測試吼驶、穩(wěn)定性測試、功能性測試)
- 產品打包發(fā)布質量(安裝包測試店煞、完善的版本管理蟹演、配套文檔測試、開發(fā)過程文檔歸檔)
- 售后客戶服務質量(如何便捷獲取客戶的問題反饋顷蟀、解決問題的計劃反饋)
能保證以上幾點酒请,基本上就覆蓋了技術團隊整個開發(fā)周期中的各點質量,更優(yōu)秀的人就是在這些的基礎之上進行細化鸣个、提煉得到一套符合自己團隊的最簡實踐原則羞反。我覺得可以通過以下方式來做到這些點的保證:
- 選擇合適節(jié)點組織代碼評審(一定注意別弄成批斗大會,追究責任)
- 與架構師定期一起評估架構工程質量囤萤,將改進工作放入后續(xù)工作計劃中
- 細化開發(fā)流程昼窗,必要的環(huán)節(jié)需要輸出簡單文檔(保證一致性),在功能完成后需要自測并輸出報告涛舍、迭代完成進行內部演示(很容易發(fā)現問題)
- 每次計劃開始前澄惊,需要經過關鍵角色的整體評估,它的合理性和風險應該是評估的主要內容
- 注重如何減少開發(fā)與測試人員在測試中的無意義工作,如何增加他們的溝通效率是保證質量的標準掸驱,且需要保證他們的理解一致性窘哈,需要在功能開發(fā)前管理好他們的預期。
- 制定產品發(fā)布流程規(guī)范亭敢,有專職人員負責執(zhí)行和檢查滚婉,需要反復強調其遵守規(guī)范的重要性
- 向客戶提供多種便捷售后反饋渠道,并制定售后處理流程帅刀,開發(fā)流程保留導入售后需求的入口
5. 制定規(guī)則&監(jiān)督執(zhí)行
任何人都有憑個人想法做出決斷的情況让腹,而按照規(guī)則執(zhí)行能夠避免大部分問題。
在開發(fā)團隊中扣溺,存在一個很重要的點:保證一致性骇窍。保證不同成員的理解一致性,目標一致性锥余,期望一致性是很重要的點腹纳。
在與時俱進的現代思潮下,管理思維必須與時俱進驱犹,適應當下的新生代人群的主流三觀嘲恍。所以,自覺高人一等雄驹,管理就是管制人的落后想法一定要摒棄佃牛。建議將技術管理理解為團隊領頭人,你需要把握方向幫助團隊向前向前医舆。作為人的角度大家是平等的俘侠,只是擁有不同的分工而已,這樣才能避免官僚主義的滋生蔬将。
那么排除人治的情況下以什么為準呢爷速?——規(guī)則。
在制定規(guī)則前就需要明確的一點是霞怀,規(guī)則天然的非人性惫东,存在明顯的缺點,就是不近人情里烦。所以作為技術管理凿蒜,制定規(guī)則是用來解決大部分一致性問題,保證大家遵循同一標準胁黑,不會出現不公正的情況废封。另外一部分人情,就需要通過人為協(xié)調來實現丧蘸,兼顧團隊目標和個人價值漂洋。這也就是很多公司價值觀中遥皂,以人為本
的體現之處。
可以見的刽漂,規(guī)則在這其中扮演者重要的角色演训,那么制定出覆蓋常見問題和關鍵問題的規(guī)則就顯得很重要。我認為贝咙,需要制定規(guī)則的方面有以下幾點:
- 設計規(guī)范(代碼設計样悟、UI設計、文檔設計)
- 項目流程規(guī)范(需求導入庭猩、需求變更窟她、迭代模式、協(xié)作方式等)
- 編碼規(guī)范
- 版本管理規(guī)范
- 測試基本原則
- 開發(fā)工具最簡使用規(guī)范
- 產品發(fā)布規(guī)范
- 團隊資源管理規(guī)范
- 會議制度
- 考核制度(非硬性考核比扣績效工資更有效蔼水,采取不同維度投票制決定考核結果震糖,考核結果不合格但下次合格補發(fā)績效)
在逐步制定出各項適合當下情況的規(guī)則后,監(jiān)督執(zhí)行就是一項重要的規(guī)則趴腋。說是監(jiān)督執(zhí)行吊说,我認為最重要的就是以身作則,從技術管理者本身做起优炬,在實際日常工作中以現有規(guī)則作為統(tǒng)一的評判標準颁井,自然大家就會效仿。
技術管理的核心原則
0. 明確目標
團隊開發(fā)周期大量延長穿剖,成員效率低下蚤蔓。大部分情況都還沒優(yōu)化管理,增加配套設施等操作的時候糊余。基本都是因為目標不明確单寂,或者目標不一致贬芥。導致這種情況的原因有幾種,需要結合當前的情況進行分析:
- 負責人自己都不知道具體要做什么效果
- 負責人搞不清楚當前階段事情的優(yōu)先級
- 事前沒有反復向成員傳達目標
- 每天沒有回顧和檢驗成員的工作是否偏離目標
- 缺少對成果的檢驗機制
一般來說宣决,按照PDCA來執(zhí)行就能行蘸劈,但是要解決問題還看技術管理者在過程中所做的工作。
1. 通暢信息&保證溝通
團隊存在不同的角色分工尊沸,每個分工又有不止一個人威沫,所以在組內與組與組見的溝通交流就顯得極為重要。畢竟洼专,千人千面棒掠,每個人都有自己的想法。特別是屁商,你的團隊成員都普遍優(yōu)秀的情況下烟很,管理優(yōu)秀的人更加需要保證溝通,不然他們各行其是帶來的后果可能會更加嚴重。
首先雾袱,需要注意的幾個溝通陷阱:
- 使用聊天工具恤筛,聊天工具即時性強,但是溯源能力差芹橡,且沒有確定感毒坛,確定一致的東西容易隨著時間改變
- 產生約定后不發(fā)送郵件存檔公示,久而久之出現矛盾契約精神就會蕩然無存林说,習慣性甩鍋
- 不愿意面對面溝通煎殷,會增加團隊成員間的隔閡,也會導致傾向于不溝通
- 溝通過于正式化述么,容易演化成責任蝌数、職權邊界的劃分討論,無益于工作
- 溝通只通過嘴巴度秘,沒有紙面顶伞、文檔、白板等的書面化剑梳、形象化唆貌、圖形化表達,效率低下垢乙,限制大家想象力
- 私下做決定結果不透明锨咙,滋生辦公室政治
作為技術管理者要讓溝通變得更加的通暢可以通過一些辦法來實現:
- 限制聊天工具的使用內容,原則上不允許討論重要事情
- 厘清不同場景下的溝通情形追逮,思考能夠通過具體開發(fā)設施解決
- 在辦公室中設置溝通場所(小塊空地酪刀、公共桌子、小會議室钮孵、陽臺茶幾等)
- 在辦公室中設置公共白板
- 在辦公室中添置公共投屏
- 構建公共共享文件骂倘、文檔協(xié)作、WIKI等文檔共享工具
- 在辦公室中部署公共打印機
- 讓你的辦公場所不明顯區(qū)別于團隊成員巴席,使它便于隨時接待溝通并做好隨時工作中斷的準備
- 重要決定需要透明過程历涝,并公示結果
2. 承擔決策責任
團隊成員出現問題,都是管理者的問題漾唉。你有這個責任去糾正問題荧库,而不是馬上追究責任。
作為技術管理者赵刑,必須要面對的一點就是當無人能夠做出決策時分衫,你就是那個要做出決策的人。當出現問題需要承擔責任并解決問題時料睛,你就是那個承擔責任和解決問題的人丐箩。
有很多人會納悶摇邦,有的時候又不是我的工作、責任和我的問題屎勘,為什么要我來做出決策和承擔責任施籍。其實這里涉及一個能力層級和壓力模型的問題,技術管理者的能力層級高于團隊成員概漱,必然需要承擔更大的壓力丑慎。如果當團隊成員無法做到某些事情時,就需要從下至上冒泡傳導到合適的人的那里瓤摧。而出現責任需要承擔時竿裂,一般是從上向下傳導,壓力會越傳導越大照弥,但是具體到某個人身上時他并不能夠承擔起這個責任腻异。所以,作為技術管理者这揣,必然需要以代表整個團隊的身份承擔起這個責任悔常。然后以團隊的角度,來解決掉問題给赞,讓團隊能夠繼續(xù)正常運轉机打,而不至于大家各自擔驚受怕。
3. 服務成就他人
技術管理者其實就是個服務員片迅,團隊重要的工作都是由具體的分工來完成残邀,而讓整個團隊良好運轉的工作由你來完成。所以柑蛇,要加快運轉效率芥挣,成就每個成員,讓他們成長為能力更強效率更高的人之后耻台,團隊的運轉自然高了起來九秀。技術管理的最高境界,就是在成員個人成就和團隊成就間求同存異粘我,實現雙贏。
4. 做好團隊成員工作
技術管理實際上還是進行著人的管理痹换,所以人的特性就需要考慮進來征字。人不像機器,是有著情緒娇豫,狀態(tài)有著起伏匙姜,心態(tài)也會收到外界的影響。所以冯痢,團隊過程中會存在激動時刻氮昧、乏味時刻框杜、厭惡時刻、難過時刻等等袖肥。那么在每個成員遇到難事咪辱,遇到狀態(tài)低迷的時候,如何去幫助他們渡過椎组,如何鼓勵他們是每個技術管理者需要思考的油狂。可以通過一些方式來幫助團隊成員:
- 鼓勵同事間互相談心幫助
- 和具體的同事單獨朋友間談一談
- 建議同事心情不好時可以出去走走
- 聽取工作中的意見并做出改進
- 狀態(tài)不好時組織一些游玩寸癌、散心专筷、發(fā)泄活動
- 組織辦公室小活動(觀影、評比蒸苇、演講磷蛹、吃東西、八卦會等)活動活躍氣氛
5. 明確評價體系
在現代社會下溪烤,作為職場人味咳,自我實現的渠道單一。很多人還是需要通過工作成就來證明自己的氛什,所以莺葫,明確的評價體系對于團隊的成長和公正客觀的評價很重要。這方面網絡上很多資源可以參考枪眉。
6. 處理好上下級矛盾
作為技術管理需要執(zhí)行上級的戰(zhàn)略要求捺檬,還需要平衡下級的工作體驗。這兩方面都是決定事情可不可為的重要部分贸铜,建議對上管理預期堡纬,對下明確目標標注核心內容。在其中平衡好不同的立場雙方蒿秦,需要在具體的工作中保持敏銳的洞察力和執(zhí)行力烤镐,結合具體的情況做出決定。
7. 不加班的態(tài)度
不加班不是說真的不加班棍鳖,而是一種愿景一種態(tài)度炮叶。實現不加班,是為了實現團隊成員的福祉渡处,平衡個人價值于團隊價值镜悉。要注意的地方就是,加班其實是對精力的一種低效運用医瘫。如果過于透支每個人的精力后侣肄,長此以往后的每天團隊都會被弱執(zhí)行力所籠罩。只在需要時加班醇份,合理拒絕過量的工作稼锅,產出優(yōu)質產品是優(yōu)秀技術管理者的檢驗標準吼具。
8. 好的成果是結果,不是目的
扎實做好生產的過程矩距,好的成果自然會產生拗盒。面朝著好的結果走過去,肯定會走入看似捷徑的羊腸小道剩晴。