
本书适用的对象
慢速的开发会对软件开发中的每个人造成影响,包括开发人员、项目经理、项目委托人和软件的最终用户——甚至包括其家庭和朋友。每个项目组在解决开发速度缓慢的问题时都有其各自的困难,本书将对常见难点逐一加以讨论。
本书旨在帮助开发人员和项目经理理解什么是可行的,帮助经理和用户认识哪些是可实现的,同时也讲述了开发人员、项目经理和用户之间可行的沟通方式与方法,从而使得他们能够共同找到一条最佳的途径以满足项目计划、成本、质量与其他目标的要求。
1.技术领导
本书主要为技术领导或项目经理而编写。如果你是这样的角色,你可能经常要为提高软件开发速度承担主要责任,本书将告诉你如何去做,同时也描述了开发速度的限制,这将为你准确区分可实现过程与想象过程打下坚实基础。
本书中有些实用方法完全是技术性的,作为技术领导,学习并实施这些方法你应该没有问题,而另外一些实用方法则更多的是基于管理方面的考虑。可能你会问:“此处为什么包括这些内容?”在写书时,我做了这样一个简单的假设,即你是一个超级技术领导,你比快速的黑客还快,比疯狂的经理还强,能够同时解决技术问题与管理问题。我知道,有时这可能并不现实,但做这样的假设,可以让我专注地讨论中心的议题,而不必分心去描述“如果你是经理,这样做;如果你是开发人员,那样做。”我做的另一个假设是,技术领导同时肩负技术与管理工作,而不仅仅像字面想象的那样。技术领导经常肩负着为高层领导提供技术建议的职责,本书将帮助他们更好地完成这方面的工作。
2.程序员
很多软件项目都是由程序员个人或自行管理的项目组来承担的,事实上,这就将参与项目的技术人员推到了技术领导的角色上。如果你是处于这一角色,那么本书将帮助你提高开发速度,基于同样的原因,也可以帮助你成为一名好的技术领导。
3.项目经理
项目经理有时认为实现快速软件开发主要是技术工作。其实,作为一名项目经理,常常也会像开发人员一样,在改善软件开发速度方面有很多事情要做。本书将描述许多管理层面上的快速开发实用方法,当然,你也可以阅读技术方面的实用方法,以便更好地理解开发人员所做的一切。