首页 > 代码库 > 阅读作业2
阅读作业2
经过这几周的开发,完成了个人项目、结队项目,团队项目也完成了一小部分。做了这些开发之后,除了自身能力的提高,我还有其他的一些收获和感悟与大家一起分享。
1.有人负责,才有质量。看完《有人负责,才有质量:写给在集市中迷失的一代》这篇文章之后,再结合目前正在做的团队项目来看,我认为,所谓质量,只有在某人对它负责时才有意义,而这个“某人”只能是一个人,不能是几个人,这句话说得很有道理。一个团队在一起做开发,没有人负责,那么这个团队就像一盘散沙一样,每个人都只管自己的部分,而不能有机地整合其他人的成果,这是很失败的,这样的一个团队也很难在一起完成一个成功的开发。但若有多个人去负责这个项目,也会出现一些麻烦,比如其他人要汇报工作进度或者遇到问题需要请求的时候,会不知道去跟哪位负责人说,如果只联系其中一位,其他负责人一来不了解整个开发进度和情况,二来心里也会不太舒服吧。而且各负责人之间也难免产生一些分歧,这是很正常的,但如果他们之间协调不好(事实上这种情况应该是存在的),会让其他开发者很难选择去听谁的,从而影响这个项目的进度与成效。所幸我所在的团队有一位很有能力的负责人,我们之间也就不存在这样的问题,因此我们进行地也很顺利。
2.对于两个人的开发,也即我们的结对编程。在这样的组织方式中负责人貌似就显得没那么重要了,只有两个人的团队,一个负责人,那另一个叫他什么好呢?但是这样并不意味着每个人就可以偷懒,只有两个人的团队,如果其中一个人总是想方设法地偷懒,一心想着把任务都推给对方,自己坐享其成,这样怎么能开发出好的应用呢?我认为结对编程里两个人的性格和能力是很重要的,万一碰上这样的事(其中一个人偷懒),那么另一个人如果能力足够完成这个任务,而且又心胸宽广,不去跟对方计较,那么这个团队的项目应该是可以完成的。但是如果另一个人没那么强的能力,加上对方不做任何事情,心情不爽加上能力不强,这个团队也就是死水一滩了。
3.软件开发无章可循,因为环境是不规律的,做出变更与理解变更带来的结果之间的反馈过程太长了。有几点我觉得是软件开发过程中非常重要的。
- 划小开发周期以及提升反馈效率,这样可以有效地提高软件本身的价值。划小开发周期,可以使每一个小阶段所做的任务不是那么冗余复杂,更易于保持一个清醒的头脑;提升反馈效率,适时交流总结,提高成效。
- 如果想缩短周期,或多或少按多功能型团队方式运作是需要的。从想法到反馈的周期尽可能短。
- 建立一个学习能力和适应能力都很好的组织,这是一个很重要的因素。即使是一些能力很高的人在一起开发,如果让他们自己组织,也一样会是糟糕不堪的,一个好的组织不仅成员能力强,组织能力也要强。
4.对于个人来讲,无论是一个人的开发,还是结队编程,抑或是团队合作,都需要自己百分之百投入其中。人与人之间的能力差别确实在短时间内无法改变,但是态度的重要性并不亚于能力。也许你用三个小时才能做好别人一个小时就搞定的事情,这也无所谓,只要你肯付出,你总会进步,但若只是妄自菲薄,认为自己相对团队里其他人实在太弱,就给自己放松要求,这样不仅在团队里发挥不到自己的作用,受到其他人的指责,对自己来说更是极大的损失。
阅读作业2