这个作业属于那个课程 | 18级计科-软件工程4班 |
---|---|
这个作业要求在哪里 | 阅读任务 |
这个作业的目标 | 通读《构建之法》 |
学号 | 2088517 |
概述
从入手《构建之法》直至如今也不过短短两周,由于时间问题,所以我也无法在两周期间有大量的时间去通读此书,因此我只能针对我所阅读的部分内容进行思考,相应提出个人的一些较为片面的观点。
思考
其一:
- 关于结对编程
- 原文
既然代码复审能发现这么多问题,有这么好的效果,如果我们每时每刻都在代码复审状态不是很好吗?——P78
-
- 我的观点
- 在相对理性的情况下结对编程确实能实现实时复审代码的效果,但是两人的思想也许不会这么理性,就我个人而言,在实际中实施结对编程会产生一定的问题,例如:有时候结对编程又成为了一人无事,一人写代码,不会在另一人写代码的时候进行复审,最终效果却是一个人干的活,实际却降低了工作效率;亦或是在复审时产生思想碰撞,激化矛盾,毕竟在做事时被人指指点点会让人感到不适
- 我的观点
其二:
- 关于敏捷流程
- 原文
敏捷对团队的要求很简单:自主管理、自我组织、多功能型 ——P116
-
- 我的思考
- 敏捷对于团队的三个要求,显然对团队成员而言要做的事情却更多了起来。既然一个团队做的还不错,而且只要领导布置了任务,那我就完成即可,为什么我要徒增麻烦去做一系列的事情去实现敏捷流程,而且如果一个团队很弱,那强行将敏捷套上面也没用,那敏捷到底应当一何种姿态存在
- 我的思考
其三:
- 关于需求分析的思考
- 第八章强调了需求分析的重要性,在开发一个软件的过程中,前期我们要花大量时间进行需求的分析,然后开始软件的开发。但我觉得,现如今的社会,发展飞速,也许你在前期所花费大量时间得到的分析,在开发过程中却又会产生不小的偏差了,出现了一些新的事件导致用户的需求有了很大的改变,此时敏捷开发中的于客户实时交流又体现出来了,那么是不是在敏捷开发中对于前期的需求分析所花费的时间会应当减少呢?
其四:
- 关于创新的思考
- “创新”不仅仅时在It行业中很重要,即便纵观世界“创新”也是非常重要的,然而
为什么领域的专家有时候没有领域外的创新者那么有创意?——P348
-
- 重复的工作会磨灭创新性,不停做同一件事,往往会忽视而难以发现新的东西,这一定式终究难以逃脱,不然“创新”也将不会这般举足轻重。那么作为一个软件开发者,如何在团队工作中保留自己的创新能力呢?
其五:
市面上有这么多不完美的产品,软件团队为什么还要把这些不完美的软件发布出来呢?为什么不能等到它们完美之后再发布?软件工程的一个重要任务,就是要决定一个软件在什么时候能“足够好”,可以发布。 ——P16
从书中能了解到一个好软件,就是Bug尽可能的少。而书中定义的Bug即软件的行为和用户的期望值不一样。而“为什么不等到他们完美之后在发布”这个问题,依我所见,如果资金有限,时间也有限的时候,不能等到一个软件称为完美之后在发布,而且一个并不完美的软件发不出去后,也会听得到许多反馈声音,这样也许能从另一个新的角度去发现这个不完美的软件,况且不同人又有不同的看法,想要完全满足所有的人想法,几乎无法实现