這是一本系統(tǒng)闡述在面對容易失控的軟件開發(fā)團隊時,如何管理、建設(shè)和賦能團隊,以及成功交付開發(fā)成果的書。本書總結(jié)了兩位作者多年的軟件開發(fā)實踐經(jīng)驗和軟件團隊管理經(jīng)驗,通過深刻的觀察和分析,圍繞軟件開發(fā)管理的核心問題——人的管理,講解如何真正理解程序員、如何找到合適的程序員、如何與程序員順暢地溝通等困擾大家已久的問題,進而擴展到如何以人為本地建設(shè)團隊、管理人員、管理項目。相較于第1 版(《告別失控:軟件開發(fā)團隊管理必讀》),第2 版(本書)增加了如何招聘和培養(yǎng)程序員,并搭建卓有成效的團隊的相關(guān)內(nèi)容。
1.2作者從編程和管理實踐中積累的80余年寶貴經(jīng)驗,充滿軟件研發(fā)管理、人員管理、團隊管理等方面的真知灼見;
2.收集300余條經(jīng)過千錘百煉而成的經(jīng)驗法則與至理名言;
3.深度剖析不同程序員的性格特征,展示大量操作性極強的有關(guān)招聘程序員和培養(yǎng)新晉程序員快速融入團隊的技巧,強調(diào)程序員性格、招聘與培養(yǎng)、激勵與文化、敏捷式管理;
4.闡述一系列被證明行之有效的管理原則、方法與實踐案例;
5.章尾附有“工具”一節(jié),這些配套的清單、表格和報告等電子資源可以使你感覺招聘、管理和激勵程序員變得更加輕松。
主要內(nèi)容包括:
(1)深度剖析不同程序員的性格特征;
(2)展示大量操作性極強的有關(guān)招聘程序員和培養(yǎng)新晉程序員快速融入團隊的技巧;
(3)全景揭秘做好向上管理、向下管理、對外管理和軟件交付過程管理的各種工具和技術(shù),直擊管理的核心;
(4)介紹有效激勵程序員、成功創(chuàng)造良好團隊氛圍的各種工具和技術(shù);
(5)著重討論在敏捷開發(fā)的環(huán)境之下,如何做好團隊的組織、分工、引導、教練等工作。
作者
[美]米奇·W. 蒙托(Mickey W. Mantle)
從事軟件開發(fā)工作超過50 年,作為軟件和硬件產(chǎn)品創(chuàng)建者、管理者和領(lǐng)導者,先后供職于Evans & Sutherland、Pixar、Br?derbund Software和Gracenote公司。他現(xiàn)在從事移動/平板應(yīng)用開發(fā)、寫作和咨詢工作。
他的經(jīng)驗包括指導全球的研發(fā)團隊和管理跨職能的團隊進行7×24 小時的高效工作以交付成功的產(chǎn)品。憑借在印度、俄羅斯、加拿大、日本和韓國挑選、創(chuàng)建和管理離岸開發(fā)機構(gòu)的經(jīng)驗,他對使用跨時區(qū)、跨地域的不同人員和團隊進行軟件開發(fā)所面臨的管理挑戰(zhàn)有深刻的見解。
[美]羅恩·利克蒂(Ron Lichty),從事軟件開發(fā)工作超過35 年,歷任程序設(shè)計經(jīng)理、開發(fā)總監(jiān)、產(chǎn)品與工程副總裁,先后供職于蘋果、富士通、Schwab、斯坦福大學。他是6家創(chuàng)業(yè)公司的顧問,也是硅谷歷史悠久的開發(fā)者組織SVForum的董事會成員。他曾開設(shè)敏捷和Scrum相關(guān)的演講和在線講座。
譯者
王小剛,《軟技能:代碼之外的生存指南》和《軟技能2:軟件開發(fā)者職業(yè)生涯指南》譯者。畢業(yè)于西安電子科技大學計算機學院,“計算機及應(yīng)用”專業(yè),研究生學歷;曾先后服務(wù)于華為、IBM、中國移動無線數(shù)據(jù)研發(fā)中心,參與過3G(第3代無線通信技術(shù))基站、MISC(移動互聯(lián)網(wǎng)服務(wù)中心)等產(chǎn)品的研發(fā)工作,擔任過項目經(jīng)理、質(zhì)量保證經(jīng)理、質(zhì)量總監(jiān)等職務(wù)。
他是業(yè)界知名的咨詢顧問和培訓講師,擁有NPDP及NPDP認證講師、PMP、PBA、ACP、CSM、CAL等多項認證資質(zhì),華為云MVP(最有價值專家,授予領(lǐng)域:產(chǎn)品研發(fā)管理),六西格瑪黑帶;致力于產(chǎn)品研發(fā)管理、項目管理和團隊管理等領(lǐng)域的研究工作,幫助研發(fā)企業(yè)持續(xù)提升產(chǎn)品創(chuàng)新與研發(fā)管理能力,先后為100多家企業(yè)的超過30000名各級各類管理人員和研發(fā)人員提供過咨詢培訓服務(wù)。
(譯者)陳連生,敏捷從業(yè)者、咨詢師,在互聯(lián)網(wǎng)、IT行業(yè)具有超過15年工作經(jīng)驗,在互聯(lián)網(wǎng)以及軟件領(lǐng)域的產(chǎn)品研發(fā)、敏捷項目管理、DevOps落地等方面有豐富的經(jīng)驗。
在他的敏捷咨詢師的生涯中,他為十余家公司提供過敏捷轉(zhuǎn)型與研發(fā)效能提升等方面的輔導,也在多家咨詢客戶內(nèi)部建立起完整的產(chǎn)品研發(fā)體系,從源頭幫助企業(yè)開發(fā)出貼合市場要求的產(chǎn)品并取得市場競爭優(yōu)勢。
他是EXIN Agile Scrum Master、EXIN Agile Business Professional以及EXIN DevOps Professional等敏捷課程以及PMI-PBA、NPDP 等產(chǎn)品研發(fā)類課程的授權(quán)講師,并以布道師的身份,言傳身教地將敏捷、產(chǎn)品研發(fā)等理念與實踐推廣到企業(yè)。
第 1 章 程序員為何難以管理 / 1
1.1 程序員的特點 / 3
1.2 優(yōu)秀的程序設(shè)計經(jīng)理從何而來 / 6
第 2 章 了解程序員 / 8
2.1 程序設(shè)計工作的不同類型 / 9
2.1.1 嵌入式程序員和物聯(lián)網(wǎng)程序員 / 9
2.1.2 前端程序員 / 10
2.1.3 后端程序員 / 10
2.1.4 數(shù)據(jù)庫程序員 / 11
2.1.5 Web 開發(fā)人員及其他腳本編寫者 / 12
2.1.6 全棧程序員 / 12
2.1.7 DevOps / 13
2.1.8 DevSecOps / 14
2.2 程序員的不同類型 / 15
2.2.1 系統(tǒng)工程師/架構(gòu)師 / 15
2.2.2 系統(tǒng)程序員 / 15
2.2.3 應(yīng)用程序員 / 16
2.2.4 非真正意義上的程序員 / 17
2.3 領(lǐng)域知識 / 17
2.4 程序員的工作要求與能力 / 18
2.5 雇傭關(guān)系類型 / 22
2.5.1 內(nèi)部員工 / 22
2.5.2 遠程員工 / 23
2.5.3 合同制員工 / 23
2.5.4 根據(jù)合同管理團隊和外包公司 / 24
2.6 代溝 / 24
2.7 個性特點 / 27
2.7.1 左腦型與右腦型 / 28
2.7.2 夜晚型與白天型 / 29
2.7.3 “牛仔”與“農(nóng)夫” / 29
2.7.4 “英雄” / 30
2.7.5 內(nèi)向的人 / 31
2.7.6 憤世嫉俗的人 / 31
2.7.7 “奇葩” / 31
2.8 本章總結(jié) / 32
2.9 工具 / 32
第3 章 尋找并延攬出類拔萃的程序員 / 33
3.1 確定要招聘哪種程序員 / 35
3.2 編寫崗位描述 / 36
3.3 溝通招聘需求 / 40
3.4 招聘全職員工 / 41
3.4.1 招聘工作一直在路上 / 42
3.4.2 招聘預算 / 43
3.4.3 招聘案例分析 / 44
3.4.4 內(nèi)部推薦 / 46
3.4.5 高效的招聘 / 47
3.4.6 招聘小貼士 / 48
3.5 招聘合同制員工 / 50
3.6 審查簡歷 / 51
3.7 縮小面試范圍 / 52
3.8 準備面試 / 53
3.9 面試 / 59
3.10 做出決定雇用一位候選人 / 62
3.11 給候選人發(fā)出恰如其分的錄用通知 / 65
3.12 持續(xù)跟進,直到候選人答應(yīng)入職 / 71
3.13 本章總結(jié) / 71
3.14 工具 / 72
第4 章 幫助新員工順利入職 / 73
4.1 引導新員工盡早入職 / 73
4.2 為新員工的到來做好準備 / 75
4.3 第 一天必須要做的事 / 76
4.4 向新員工介紹公司 / 79
4.5 確保新員工成功融入團隊 / 80
4.6 對新員工最初的預期 / 82
4.7 本章總結(jié) / 84
4.8 工具 / 85
第5 章 成為高效的程序設(shè)計經(jīng)理:向下管理 / 86
5.1 贏得技術(shù)層面的尊重 / 86
5.2 招聘出類拔萃的程序員 / 92
5.3 錘煉現(xiàn)有的團隊,強化他們的技能 / 92
5.3.1 因人制宜,因人施“管” / 92
5.3.2 引導 / 97
5.3.3 儀表盤 / 97
5.3.4 保護團隊 / 98
5.4 績效考核和改進 / 100
5.4.1 設(shè)立目標 / 100
5.4.2 績效評估 / 102
5.4.3 清楚何時止損 / 107
5.4.4 裁退清單 / 109
5.5 人員組成結(jié)構(gòu)方面的考量要素 / 109
5.5.1 人員配置 / 109
5.5.2 組織 / 114
5.5.3 職能化程序設(shè)計團隊 / 120
5.5.4 跨職能團隊 / 121
5.5.5 敏捷團隊 / 123
5.6 對功能失調(diào)的組織進行故障診斷 / 123
5.7 交付成果和慶祝勝利 / 124
5.8 本章總結(jié) / 124
5.9 工具 / 125
第6 章 成為高效的程序設(shè)計經(jīng)理:向上管理、對外管理以及自我管理 / 126
6.1 向上管理 / 126
6.1.1 了解你的領(lǐng)導 / 127
6.1.2 準備好溝通材料 / 128
6.1.3 了解你領(lǐng)導的領(lǐng)導 / 129
6.1.4 時機 / 130
6.1.5 成為模范員工 / 131
6.1.6 小結(jié) / 132
6.2 對外管理 / 132
6.2.1 與部門內(nèi)的人合作 / 132
6.2.2 了解其他部門 / 133
6.2.3 有效利用重要的職能部門,獲得他們的支持和協(xié)助 / 135
6.2.4 管理跨公司關(guān)系 / 139
6.2.5 小結(jié) / 145
6.3 自我管理 / 145
6.3.1 個人風格 / 146
6.3.2 時間管理能力(優(yōu)先級管理) / 148
6.3.3 溝通管理能力 / 150
6.3.4 管理實踐 / 153
6.3.5 跟蹤管理能力 / 157
6.3.6 虛心好學、處處請教的能力 / 158
6.3.7 小結(jié) / 159
6.4 本章總結(jié) / 159
6.5 工具 / 160
經(jīng)驗法則與至理名言 / 161
管理中面臨的挑戰(zhàn) / 163
人員管理 / 181
管理團隊,順利交付 / 204
第7 章 激勵程序員 / 222
7.1 激勵理論 / 222
7.1.1 馬斯洛的需求層次理論 / 222
7.1.2 麥格雷戈的X-Y 理論 / 224
7.1.3 赫茨伯格的激勵因素和保健因素理論 / 225
7.2 適用于程序員的激勵因素 / 226
7.3 理論付諸實踐 / 229
7.4 保健因素—缺乏會導致不滿的因素 / 230
7.4.1 贏得員工的尊重 / 230
7.4.2 趣味性 / 234
7.4.3 學習與成長 / 235
7.4.4 良好的工作條件 / 236
7.4.5 合理的公司政策和管理 / 241
7.4.6 愛人以德 / 243
7.5 關(guān)鍵激勵因素 / 247
7.5.1 改變世界 / 248
7.5.2 學習與成長 / 249
7.5.3 工具和技術(shù) / 250
7.5.4 認可與贊許 / 251
7.5.5 趣味性 / 252
7.5.6 利益 / 253
7.6 個人承諾 / 254
7.7 對新技術(shù)的攻守之道 / 256
7.8 了解你的程序員的動力—從頭開始 / 257
7.9 本章總結(jié) / 258
7.10 工具 / 259
第8 章 建立成功的程序設(shè)計文化 / 260
8.1 準確定義“成功”的概念 / 261
8.2 程序設(shè)計文化 / 261
8.3 公司文化 / 262
8.3.1 化繁為簡,降低公司文化的復雜度 / 263
8.3.2 趨利避害,遠離公司的負面文化 / 264
8.3.3 彈斤估兩:技術(shù)在你的公司中扮演什么樣的角色 / 265
8.3.4 探本溯源:哪種力量推動你的公司的發(fā)展 / 266
8.4 成功的程序設(shè)計文化的特征 / 268
8.4.1 互相尊重 / 269
8.4.2 創(chuàng)新 / 269
8.4.3 合規(guī) / 271
8.4.4 高品質(zhì)交付 / 271
8.4.5 高效率交流 / 272
8.4.6 虛擬團隊間的溝通 / 273
8.4.7 公平 / 275
8.4.8 授權(quán) / 276
8.4.9 職業(yè)精神 / 277
8.4.10 直面問題 / 277
8.4.11 追求卓越 / 278
8.4.12 獎勵程序設(shè)計中的卓越表現(xiàn) / 279
8.4.13 團隊精神和協(xié)作 / 279
8.4.14 激情 / 279
8.4.15 客戶至上 / 280
8.4.16 持續(xù)學習 / 281
8.4.17 良好的環(huán)境 / 282
8.5 本章總結(jié) / 283
8.6 工具 / 283
第9 章 成功管理軟件交付過程 / 284
9.1 激勵目標 / 285
9.2 定義“成功” / 286
9.2.1 識別無法調(diào)整的交付日期 / 288
9.2.2 獎勵計劃 / 289
9.3 確保需求清晰 / 290
9.3.1 通過合作來進行優(yōu)先級排序 / 293
9.3.2 把需求限制在“做什么”而不是“如何做” / 296
9.3.3 力求取悅客戶 / 297
9.4 定義“完成” / 298
9.5 估算所需工作 / 300
9.6 確保適當?shù)募軜?gòu)與設(shè)計 / 306
9.6.1 多少設(shè)計才足夠 / 308
9.6.2 概念論證、原型和Spike 的價值 / 309
9.6.3 進行設(shè)計評審 / 310
9.7 支持工作 / 310
9.7.1 你需要一個計劃 / 313
9.7.2 確定項目的節(jié)奏 / 315
9.7.3 設(shè)立共同認可的里程碑 / 315
9.7.4 確保每個人都在溝通 / 316
9.7.5 聚焦于使命 / 318
9.7.6 消除障礙 / 319
9.7.7 確保達成商定好的標準與需求 / 320
9.7.8 采用測試驅(qū)動開發(fā) / 321
9.7.9 堅持代碼審查 / 322
9.8 交付上線 / 323
9.8.1 不再增加新功能 / 324
9.8.2 運行產(chǎn)品 / 324
9.8.3 準備好宣布成功以及開啟更新版本的工作 / 325
9.8.4 知道何時減少損失 / 326
9.8.5 OEM 或國際版 / 327
9.9 圓滿完成 / 328
9.9.1 慶祝 / 328
9.9.2 回顧 / 329
9.9.3 分享 / 332
9.9.4 重構(gòu) / 332
9.9.5 小版本升級 / 332
9.10 本章總結(jié) / 333
9.11 工具 / 333
第 10 章 敏捷團隊中的管理者 / 334
10.1 為什么管理者可能會覺得被冷落 / 335
10.2 敏捷如何改變管理者職責 / 336
10.3 敏捷組織中管理者的職責 / 338
10.4 敏捷組織結(jié)構(gòu)調(diào)整如何改變管理者的職責 / 339
10.5 敏捷團隊中管理者的十大關(guān)鍵職責 / 342
10.5.1 培養(yǎng)敏捷文化 / 343
10.5.2 擁抱敏捷價值觀 / 344
10.5.3 輔導和指導良好的敏捷實踐 / 348
10.5.4 消除敏捷誤區(qū) / 351
10.5.5 銘記敏捷模式和反模式 / 356
10.5.6 牽頭組建跨專業(yè)團隊的實踐社區(qū) / 360
10.5.7 消除障礙 / 361
10.5.8 咨詢與輔導 / 362
10.5.9 雇用 / 363
10.5.10 解雇 / 364
10.6 本章總結(jié) / 364
10.7 工具 / 365