规划极限编程阅读笔记01
这本书的开头就讲到这是一本谈如何规划软件项目的书。本书主要面向程序员和客户,因为在制定和开发软件过程中,它们起着至关重要的作用。
一、我过去是怎么做的:
过去的我,接到老师的任务组队完成一个完整的学生信息管理系统,只是想尽快地完成任务,完全不顾质量,没有制定什么计划,也不了解团队的重要性,最后做的什么都不是。
二、结合书中所讲,说明为什么这样不好:
1、软件开发需要计划
计划并不是讨论如何预测未来,如果你为某一软件制定了计划,开发工作并不会完全按照计划进行。如果软件开发出来跟计划的一致,客户未必会满意。因为在开发过程中,他们又不想要之前的内容,所以会与之不同了。就像艾森豪威尔所说的:“在战争中,我一直认为计划是毫无用处的,但制定计划却是必不可少的”。因为不指定计划,软件开发必定脱离轨道。
2、软件开发过程中团队的需要:
团队必须选择可能实现的最佳特性;对于不可避免的挫折,团队必须采取积极的态度。团队成员不能承担过多的工作,不然工作速度就要下降;团队也不能在工作中偷懒,不然客户就要吃亏了;团队成员必须清楚开发的进度,并准确地把开发进度给各方,这样每个人都能相应地调整各自的开发计划。
3、软件开发存在许多担心:
软件开发是有风险的,有关人员非常担心什么都可能出错。为了有效的进行开发,我们必须承认这一事实。
客户担心的是:不能得到他们要求的东西;他们要求了错误的事情而自讨苦吃;投入大于产出;必须屈从于技术人员的控制;永远得不到一份有针对性的计划;得到的计划可能是空中楼阁,根本无法实现;无法了解项目进展的情况;被束缚在最初的决策上,因而不能对业务中的变化做出反应;没人对他们讲实话。
开发人员担心的是:给他们的任务超出了他们的开发能力范围;让他们做毫无意义的工作;有时太傻;赶不上新技术的发展;提供未授权的职责;没人明确的告诉他们该做什么,不该做什么;为了赶进度只能牺牲质量;解决难题时得不到任何帮助;没有足够的时间完成任务;
三、解决方法:
就像非洲流行的一句谚语;“想走的快,请独行!想走的远,请结队而行!”,这也体现了团队的重要性,所以说结对开发中计划和团队都占据着重要的地位。