软件工程网络15个人阅读作业2
提出问题
问题1
我看了书P85这一段文字,
结对编程中有两个角色:
1.驾驶员(Driver):控制键盘输入。
2.领航员(Navigator):起到领航、提醒的作用。
这两个角色还是可以互换的。
我的疑惑是,结对编程两个人的能力不一定在同一水平线上,每个人都有自己比较擅长的地方,那么,如果两个角色可以互换,是否说明双方都要读懂对方的代码。假设,一方负责前端设计,一方负责后端开发,虽然两种技术之间有部分相关,但是这意味着两方都要了解对方的代码么?
问题2
我看了书P99这一段文字:
软件行业的一些团队由一些有特殊技能的专业人士组成,负责解决一些棘手而有紧迫性的问题。
我的疑惑是,正如文中所说,“特工团队的成员”是在某一领域达到“专家”、“高手”的地位,那么是不是意味着这种人群与整个IT群体相比,所占比例较小。那么当一个公司在遇到棘手和紧迫性的问题时,能够找到足够多擅长这个领域的人来组建一个团队么?例如后文中举例的‘Y2K’问题,我查了相关资料,其中提到,
直到2000年将要到来的时候,人们才感觉到两千年问题的紧迫性。于是社会和政府都投入了大量的人力和物力来避免发生大规模的计算机灾难。
当时的相关从业人员并没有预先意识到事情的紧急性,或者忽视了可能到来的系统混乱。在我看来无论是医疗,金融,政府或者是国际组织在这件事件中所面临的急迫性是相等的,而事件之前并未组织相关团队。那么在危机当前各个行业都需要聚集一个对这个问题有深入了解的团队,是不是比较困难?
问题3
我看了书本P109这一段文字:
软件团队尚未成熟,不懂得如何独立地进行需求分析,不懂得如何对行政领导有技巧地说“不”,也不知道如何说服利益相关者同意并支持正确的项目方向。既然不能驱动团队成员,那只能靠外力来驱动了。
但是我还是不太懂,我的困惑是,这段文字应该是用来阐明‘老板驱动模式’的有理性,但是这段文字中的‘利益相关者’和‘外力’我认为意味不明。在我看来,软件团队的最大利益相关者是当前团队的领导,和软件的需求方。那么当这个团队不能说服利益相关者支持软件向较好的方向开发,只能靠外力来驱动,那么这里面的“外力”是指什么呢?
问题4
我看了P349页关于创新的段落,其中提到“连IT行业的技术人员都不喜欢新东西”。我的观点是,并不是IT技术人员不喜欢创新,而是因为IT的创新需要花费大量的人力,并且接受也需要大量的时间。
作为主动方,IT技术人员选择创新可能需要拥有前卫的思想,并且很大程度取决于当前的技术发展水平。大部分IT人员不会选择创新因为他们没有这种可以颠覆世界观的能力,另一方面也是因为从他们角度看来,当前的技术比较完善,无从下手。
作为被动方,后文中提到,
现在绝大部分的软件工程师都认为高级语言比汇编语言要灵活和有效率的多。
对此我的看法是,一门新语言被接受需要时间。作者在这段文字中更倾向于“新技术刚诞生不一定会被全盘接受”,而不是主题“创新”。我的观点是,IT行业的从业人员不是真的拒绝创新,而是他们已经习惯于现在日渐完善的系统和语言,因为IT行业接受新事物可能需要颠覆已经掌握的大部分知识,所以大部分人一开始会选择“拒绝”。
问题5
我看了书本P387这一段文字:
总结一下,领导需要了解一个人的:
知识,专业技能,职业技能,这三者合起来可以称为“能力”。
投入程度,热情,对团队目标的承诺,则可以成为“动力”。
我认为作者的观点很有道理,但是我觉得应该加上一点:和团队的融合度。假设这个这个人技能很强,有能力完成任务,也很热情,但是缺乏和队友交流的能力,会事倍功半。