搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
软件工艺师:专业、务实、自豪:professionalism, pragmatism, pride
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111514008
  • 作      者:
    (英)桑德罗·曼卡索(Sandro Mancuso)著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2015
收藏
编辑推荐
  

  做更好的开发者,交付更好的代码

  通过阅读本书,你将知晓以下问题的答案:

  单凭敏捷开发流程为什么无法使项目成功?软件工艺为什么对项目的成功至关重要?

  软件工艺理念怎样帮助开发者合理地开发软件,怎样在代码之外的层面上协助客户?

  应该以什么样的方式、在什么样的时机拒绝不合理要求,拒绝之后又应该如何给出替代方案?

  优秀的开发者为什么有时也会写出糟糕的代码,开发者怎样阻止自己写出这种代码,怎样改掉这种坏习惯?

  如何更顺利、更高效地应对遗留代码?

  如何以务实而不僵化的态度来选择开发方式及开发工具?

  如何引领软件工艺师,如何将其吸引到你的公司来?

  在发布招聘启事、面试及雇用开发者时,需要避免哪些不合适的做法?

  开发者与其项目经理应该如何打造学习氛围?

  如何推动技术变革,如何应对变革过程中所遇到的各种质疑?

展开
作者简介

  作者简介

  桑德罗·曼卡索,

  曾在创业公司、软件公司、产品制作公司、国际咨询公司以及投资银行从事代码编写工作。2013年10月,他参与创办了提倡软件工艺原则与理念的Codurance公司。他从2010年起开始参加软件工艺运动,并创办了伦敦软件工艺社团(London Software Craftsmanship Community, LSCC),该社团目前是世界上较大、最活跃的软件工艺社团,有超过2000名软件工艺师。过去4年间,他鼓励并帮助开发者在欧洲、美国及世界其他地方组织软件工艺社团。


  译者简介

  爱飞翔,

  资深软件开发工程师,擅长Web开发、移动开发和游戏开发,有10余年开发经验,曾主导和参与了多个手机游戏和手机软件项目的开发,经验十分丰富。业余爱好文学和历史,有一定的文学造诣。翻译并出版了《Android游戏开发实践指南》《测试驱动的iOS开发》《HTML5 Canvas核心技术:图形、动画与游戏开发》《NoSQL精粹》和《JavaScript应用开发实践指南》等书。

展开
内容介绍

  有先进的工具和流程,软件项目为何仍会失败?因为很多公司依然把软件开发当成一条生产线,就连很多开发者也这么认为,并且按照生产线的方式来工作。

  桑德罗·曼卡索的这本书提供了一条更合理、更令人满意的途径。如果你想以自豪而专业的态度开发软件,如果你热爱软件开发,并且想把它做好,如果你追求那种有足够自主权、能够磨练技艺而且又有清晰目标的职业,那你首先要意识到自己是一位软件工艺师。接受了这种理念之后,你就有动力把自己的技术水平及客户对你的满意程度提升到前所未有的高度。

  围绕软件工艺理念,作者详细讲述了几组话题。首先,讲述了软件开发者所应具备的工作和学习态度,以及如何交付软件产品、如何选择软件开发方式、如何规划职业发展道路等问题。然后,作者根据自己的工作经历,讲述了公司应该怎样吸引并招募这种对技术热衷、对工作负责的人,其中谈论面试禁忌的那一章给出了很多中肯的建议,值得大家参考。接下来,作者讲述了怎样在公司内部打造学习氛围,以及如何有效地推动技术变革。如果软件开发者自身和软件开发公司都能抱持这种尊重专业技能、用心服务客户的理念,那么整个软件开发行业的面貌就会有所改观,我们会逐渐抛弃那种把开发者当成码工、把制作软件当成应付差事的消极态度,而这也正是软件工艺致力解决的主要问题。最后两章及附录列出了在推行软件工艺及规划职业发展时的注意事项。

展开
精彩书评

  ★作者在书中提出计划和策略,并指明做事态度以及一系列指导原则,程序员、开发团队及软件组织都可以由此摆脱平庸、走向专业,使工作变得更有效率,并对工作倍感自豪。这本书范围很广。从设计模式、结对编程及测试驱动开发,谈到如何安排面试、如何评价面试效果,再谈到怎样应对紧迫的工期、怎样撰写职位描述信息,以及怎样与同事和管理层相处。

  ——Robert C. Martin

展开
目录
译者序

前言
致谢
作者简介
第一部分 理念及态度
第1章 21世纪的软件开发 2
1.1 何谓资深开发者 4
1.2 新的挑战 5
第2章 敏捷软件开发 8
2.1 面向流程的敏捷软件开发原则 9
2.2 面向技术的敏捷软件开发原则 9
2.3 何谓敏捷 9
2.3.1 转变开发方式 10
2.3.2 扩大参与范围 10
2.3.3 丰富职业技能 11
2.4 《敏捷软件开发宣言》 11
2.5 由传统开发方式向敏捷转型 12
2.6 因转型不佳而表现出的问题 13
2.6.1 转型不彻底 15
2.6.2 局部转型的积极意义 18
2.7 敏捷软件开发与软件工艺的关系 19
2.8 小结 19
第3章 软件工艺 20
3.1 更恰当的比喻 20
3.2 维基百科对软件工艺的定义 21
3.3 笔者个人所推崇的定义 21
3.4 更为简洁的定义 21
3.5 不要拘泥于定义 21
3.6 软件开发是手艺、生意、工程、科学,还是艺术 22
3.7 软件工艺的历史 23
3.7.1 软件工艺峰会 24
3.7.2 软件工艺概念走向全球 25
3.7.3 软件工艺师交换计划 25
3.7.4 软件工艺社团 26
3.7.5 《软件工艺宣言》的制定过程 27
3.7.6 《软件工艺宣言》及讲解 28
3.8 小结 34
第4章 软件工艺师的态度 35
4.1 你的事业由谁掌控 36
4.2 与时俱进 38
4.2.1 博览群书 38
4.2.2 阅读并撰写博客 39
4.2.3 关注技术网站 40
4.3 寻找业界高手 41
4.4 反复练习 41
4.4.1 kata 42
4.4.2 兴趣项目 43
4.4.3 开源项目 44
4.4.4 结对编程 45
4.5 参与社交活动 46
4.6 主动发现问题 47
4.7 兼顾工作与生活 48
4.7.1 挤出空闲时间 48
4.7.2 用“番茄工作法”集中注意力 50
4.7.3 处理好工作与生活之间的关系 50
4.8 小结 51
第5章 争强好胜、满腔热情与专业精神 52
5.1 学会拒绝 54
5.1.1 大败局 55
5.1.2 从这次失败中得到的教训 57
5.1.3 更加专业地工作 58
5.2 提出解决办法 59
5.3 开明的项目经理 62
5.4 小结 63
第6章 什么是可行的软件 64
6.1 只开发出可行的软件是不够的 65
6.2 软件维护 65
6.3 潜在的危险 66
6.3.1 编写高质量的代码 67
6.3.2 要雇用软件工艺师,而不是平庸的开发者 67
6.4 错误的时间观念 68
6.4.1 技术债务的故事 68
6.4.2 过于忙碌的团队 69
6.4.3 单元测试任务卡 71
6.4.4 合理运用时间 72
6.5 遗留代码 73
6.5.1 转变态度 74
6.5.2 既要享受工作,也要令客户满意 75
6.6 小结 76
第7章 技术实践 77
7.1 不仅要做正确的事情,而且要把事情做好 77
7.2 软件公司的具体情况 78
7.3 极限编程的历史 79
7.4 极限编程的做法及其价值 81
7.5 为自己的决策负责 87
7.6 注重实效 87
7.7 小结 88
第8章 漫漫职场路 89
8.1 巴西少年成长记 89
8.2 专注与决心 91
8.3 把工作当成投资 92
8.4 自主、精通与目标 94
8.5 在公司内谋求发展与追求事业成功之间的关系 95
8.6 小结 96
第二部分 全 面 转 变
第9章 招纳人才 98
9.1 普通的职位描述 98
9.2 因过于忙碌而草率地招聘 101
9.3 最好别在招聘启事上面写职位描述信息 102
9.3.1 如果一定要写职位描述,如何写才好 104
9.3.2 这不仅仅是一份工作 109
9.4 推荐工作 109
9.5 参与社团活动 109
9.6 确定有效的筛选标准 110
9.7 储备式招聘 112
9.8 小结 113
第10章 面试软件工艺师 115
10.1 把面试当成商业谈判 115
10.2 如何判断对方是不是良好的合作伙伴 116
10.2.1 用人公司对良好合作伙伴的理解 116
10.2.2 开发者对良好合作伙伴的理解 117
10.3 有效的面试 119
10.3.1 在面试中关注重点 120
10.3.2 用思维图促进谈话效果 120
10.3.3 在面试过程中结对编程 121
10.3.4 请根据公司的实际要求来设计面试 124
10.4 大胆录用有潜力的开发者 125
10.5 如何为现有团队招募新成员;如何招募新团队 125
10.6 面谈之前先通过代码练习来筛选开发者 126
10.7 每个人都应该学会面试 127
10.8 必须由开发者来面试开发者 127
10.9 小结 128
第11章 面试中的禁忌 129
11.1 不要自作聪明 129
11.2 不要出脑筋急转弯问题 130
11.3 不要问连自己都不知道答案的问题 130
11.4 不要看不起开发者 130
11.5 不要阻止开发者上网 131
11.6 不要在纸上写代码 132
11.7 不要用算法来面试开发者 132
11.8 不要安排电话面试 133
11.9 小结 133
第12章 团队士气低落的害处 135
12.1 公司向敏捷转型之后所表现出的问题:士气低落 135
12.2 雇用“朝九晚五”式开发者的代价 137
12.3 缺乏工作动力会阻碍公司的变革 139
12.4 请软件工艺师来提升团队的工作热情 140
12.5 小结 142
第13章 营造学习气氛 143
13.1 错误的变革动机 144
13.2 营造一种学习文化 145
13.2.1 举办读书会 146
13.2.2 举行午餐研讨会 146
13.2.3 举行小组讨论 147
13.2.4 在一个迭代周期内互换项目 147
13.2.5 小组代码审校 149
13.2.6 举行编程实验 149
13.2.7 在公司内部组织实践社团 151
13.2.8 鼓励大家做兴趣项目 152
13.2.9 参与公司外的技术社团 152
13.3 其他人不想参与时该怎么办 152
13.3.1 自己做个榜样 153
13.3.2 关注那些乐于改变的人 153
13.3.3 不要强迫他人参与 153
13.3.4 不要试着改变每个人 153
13.3.5 避免出现大家都借故不参加活动的情况 154
13.3.6 不必征得老板同意 154
13.3.7 不要化简为繁 154
13.3.8 建立有规律的聚会制度 155
13.4 小结 155
第14章 推动技术变革 156
14.1 确定自己所面对的质疑者是何类型 156
14.2 为推进技术变革做好准备 160
14.3 从何处入手 161
14.3.1 建立信任 161
14.3.2 以身作则 163
14.3.3 逐个解决问题 163
14.3.4 迭代、回顾、调整 165
14.4 恐惧与无能 165
14.5 如何说服主管 166
14.6 如何说服团队采用TDD 167
14.7 面对质疑 168
14.7.1 如何面对“象牙塔里的架构师” 169
14.7.2 如何面对抱怨公司的人 173
14.8 你真的要在乎这么多吗 174
14.9 小结 174
第15章 务实的软件工艺 175
15.1 大家总是想要高质量的软件 175
15.2 打破“开发高品质的软件昂贵而耗时”这一迷思 177
15.3 重构 179
15.4 软件开发的方式不止一种 180
15.5 帮助业务人员 181
15.6 软件项目并不是围着我们转的 184
15.7 优秀开发者与平庸开发者之间的区别 184
15.8 简洁设计四原则 185
15.8.1 设计模式 186
15.8.2 从重构到模式 187
15.9 软件工艺与务实态度 188
15.10 总结 189
第16章 软件工艺师的职业进化之路 190
16.1 软件工艺师的品格 191
16.2 职业发展 192
16.3 道路与里程碑 193
16.3.1 选好职业发展过程中的每一份工作 195
16.3.2 不知道接下来的发展方向怎么办 197
16.4 接触各种类型的软件开发工作 197
16.5 使命感 199
附录 进一步澄清对软件工艺的各种误解 200
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证