继续阅读 《构建之法》的第四章和第十七章后,让我又知道了很多以前所不了解的关于软件工程的事情,以下是我阅读《构建之法》第四章、第十七章的读书笔记
第四章:两人合作
Question1:来自【4.2.9 注释】的阅读
我的疑问:对于Java语言来说,大量注释会影响执行效率吗?
我的实践:目前写的Java代码较少,没有明显感受
资料查询: https://zhidao.baidu.com/question/1948515882921996508.html 资料中提到“只有当注释行数极大的时候,才会严重的影响编译速度,但不会影响执行速度”
Question2:[4.6两人合作的不同阶段和技巧]中提到了两个人合作的五个阶段:萌芽阶段、磨合阶段、规范阶段、创造阶段、解体阶段。并不是所有合作都能达到创造阶段,磨合太多后,还可能进入“解体阶段”
我的疑问:两人合作的过程中要经历将近5个阶段之多,磨合需要花费时间和精力,并且还存在着解体的风险,这是否会导致项目的效率降低,事倍功半?目前在国内两人合作项目这一方法受欢迎吗?
我的实践:根据我之前的合作经验(不是结对编程)以及我身边的合作搭档们,我认为两个人合作是需要很多时间和精力来磨合的,最好的状况是两个人都很有耐心并且理性,这样两个人会比较容易磨合。但如果两个人都很有个性的话,就会在磨合的过程中产生很多矛盾,既影响情绪又减慢进度
资料查询:资料一: 【六种不同结对编程模式对比】https://m.aliyun.com/yunqi/articles/229552
文中提到“如果二者都是可互换角色的专家,那么驾驶员-领航员模式会很理想,对于专家与新手的组合来说也不错。这个模式在专家做领航员时最容易起效,因为让菜鸟来当领航员,他可能只会被动地干坐着而让专家分饰两角”
资料二:【为什么结对编程不那么受欢迎?】 http://www.infoq.com/cn/articles/why-wont-pair
我认为这篇博客写的很好,文中提到“过去十多年中,笔者曾经与上百个开发团队共同合作,这些团队具有一个共同的特点就是:他们通常不会采用结对编程作为软件交付的技术”,在文中也提到了几个不受欢迎原因:
(1)从组织层级开始分析,许多经理觉得开发者结对编程时,他们付出了两个开发人员的代价却只得到了一个开发人员的生产力
(2)还有一些关于实际环境方面的考虑,如今,开发人员通常会占据一个受限的工位空间。结对则需要至少6英尺大的开放式座位空间,以便两人可以并肩坐在一起。有些组织还缺乏适用于结对编程的硬件,例如无线键盘,无线鼠标,以及至少21寸的显示器
(3)组织级的挑战还存在于对开发人员的认可、加薪和晋升的机制。组织对员工进行排名会严重限制开发人员有效地学习结对编程的可能性
(4)最根本的挑战在于如何创建一个能够让开发人员觉得可以安全地学习、犯错、快速失败、持续提升技能的环境。由于失败会遭受惩罚,一些开发人员会害怕失败。会对失败员工做出惩罚的组织不太可能鼓励员工尝试和成长
我仍不太懂的是:由查询可知,虽然双人合作成功后效率等方面都会有相应的提高,但磨合过程仍存在方方面面的风险,如何创建一个能够让开发人员觉得可以安全地学习、犯错、快速失败、持续提升技能的环境来增强结对编码的可行性呢?
第十七章:人,绩效和职业道德
Question1:阅读了P403页“闷声发财”中写道:“很多心理学家通过试验和分析告诉我们,纯粹强调外界驱动因素(金钱、报酬或惩罚)仅仅是对体力劳动或有明确规则的活动有效(奖金越多,效果越好),但对于需要创造性思维的活动,即使是简单的认知能力的活动,更多的奖金反而会起到相反的结果”
我的疑问:为什么更所的奖金,反而对员工的创造性思维起到副作用呢?
我的认知:如果想要激发一个人的能力,主要就是给其动力,金钱亦或是鼓励
资料查询:【如何激发员工的创造力】https://wk.baidu.com/view/560c086648d7c1c708a1456d
文中通过一个实验说明了“创造力的激发虽然与金钱是反比,但请大家不要走另外的极端。毕竟基础良好的待遇的工作环境,是基本的保障,人们在良好 的基础保障上在发挥创造力,就是现实的可操作的。人脑其实非常孱 弱,因此要好好发挥其灵光闪耀,则必须提供和营造良好的分享氛围, 强调和激励工作人员去关注创造力本身,而不去纠结奖金激励”
我仍不太懂的是:站在员工的角度,如果某员工完成了一次创新后,只得到了领导的鼓励而没有近金钱方面的报酬,不会心里不平衡吗?
Question2:P403页闷声发财中提到IBM早期团队的例子中写道“团队经理和员工深度讨论后,直接从桌子一边推出来一张纸条说 ’这是你的新工资’ ”
我的疑问:对于一个公司来说,工资应不应该透明化?
资料查询:【除开年终奖金这种可以接受的变数以外,工资该不该透明化?】
https://www.zhihu.com/question/42022009/answer/193421576?utm_source=qq&utm_medium=social
其中提到说“薪酬制度、等级、标准是应该是完全公开的,让员工清楚工资结构、自己所处的岗位等级、以及岗位等级所对应的薪酬标准、依据什么发放、什么情况下能发多少?等等,这些规则必须是提前让每个员工都清楚了解的。但是个人具体的工资数据是可以保密的,因为目前大多数企业都实行宽带薪酬,同岗未必同薪,往往是根据个人资质、能力、业绩等区别对待的。这种区别对待是从员工对企业贡献的角度出发衡量的,与员工站在个人角度认知自己、认知同事是有差异的。工资数据完全公开的话,反而有可能引起员工不平和相互之间的猜疑,对企业良性文化氛围的塑造有弊无利。因此是“规则公开、标准保密”,我觉得很有道理,这种半透明化制度还是可以接受的
我仍不太懂的是:非透明化保密式的工资会不会反而使员工心里没底,降低对团队的信任而影响到整个团队的团结吗?(个人还是比较支持半透明化薪水制度)
以上是我阅读完《构建之法》第四章和第十七章后的看法、疑惑和思考