构建之法阅读笔记02

这周主要学习的是结对开发和团队开发。

从字面上看,结对就是两个人一起干活,它的好处是:每人在各自独立设计、实现软件的过程中不免要犯这样那样的错误。在结对编程中,因为有随时的复审和交流,程序各方面的质量取决于一对程序员中各方面水平较高的那一位。程序中的错误就会少得多,程序的初始质量会高很多,这样会省下很多以后修改、测试的时间。具体可以体现为:

1、在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作能有更强的解决问题的能力。
2、对开发人员自身来说,结对工作能带来更多的信心,高质量的产出能带来更高的满足感。
3、在心理上, 当有另一个人在你身边和你紧密配合,做同样一件事情的时候, 你不好意思开小差,也不好意思糊弄。
4、在企业管理层次上,结对能更有效地交流,相互学习和传递经验,能更好地处理人员流动。因为一个人的知识已经被其他人共享。

当然所有的理论都只是一种参考,这周,我们也亲身实践两人结对开发了一个小学二年级的四则运算程序,我们两人都没有开发经验,因此也遇到了许多问题,借了一堆书,却不知道从何看起;打开eclipse,却不知道先写实体类还是先做登陆界面;可以说,很多时间我们都花在了磨合与讨论中。不过幸运的是,我们两人会选择从对方角度出发去思考,不会一味地坚持自己的想法,也不会有一个人不去干活。

团队合作,人数多了,工程量打了,需要解决的事情就会成倍增加。首先要解决的就是人员的分配问题,团队成员有各自的分工,互相依赖合作,共同完成任务。软件团队形式多种多样,有:社区模式、特工团队、爵士乐模式、功能团队模式等,当我们组建一个团队时,应该根据每一位团队成员各自的特长和性格进行角色分配,找寻最恰当的模式,甚至可以修改这些模式,来达到最佳效果。

一个工程还有许多的开发模式,如:瀑布模型、生鱼片模型、快速原型模型等,前两者并不可取,因为我们在做工程项目的时候,客户会随时提出新的要求,这两种模型要求我们从头再来,这会浪费大量的时间。而快速原型需要迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识。

由此可见,做项目不是找到人就行的,团队也不是三五个人凑在一起就是团队的,我们要讲究的是方法和策略。

 

posted @ 2017-12-09 17:07  DaisyYuan  阅读(104)  评论(0编辑  收藏  举报