原则11 开发正确的原型
有两种原型:一次性(throwaway)原型和演进式(evolutionary)原型。一次性原型用快速而粗糙的方式构建,交给客户用以获得反馈,在得到期待的信息后即被废弃。获得的信息被整理进需求规格说明,用于正规的产品开发。演进式原型用高质量的方式构建,交给客户用以获得反馈,获得期待的信息便开始进行修改,以更加贴近客户的需求。重复此过程,直到产品收敛到所期望的样子。
一次性原型应该在关键需求特性没有被很好理解时使用。演进式原型应该在关键特性已被充分理解,但很多其他需求特性没被充分理解时使用。如果对大多数功能都不了解,则应首先构建一个一次性原型,然后从零开始构建一个演进式原型。
原则12 构建合适功能的原型
当建立一次性原型时,只需要开发那些没有被充分理解的特性。如果你开发已充分理解的特性,最终除了浪费资源,将一无所获。当建立演进式原型时(见原则13) ,要优先开发那些已经被充分理解的特性。(注意,它们可能已经被充分理解,因为之前已使用一次性原型进行过验证。)你的希望是,通过体验这些特性,用户能更好地确定其他需求。如果基于模糊的需求(高质量地)开发了一个演进式原型,一旦需求搞错了,你将不得不抛弃这个“高质量”的软件,从而浪费了资源。
原则13 要快速地开发一次性原型
如果你已经决定开发一次性原型,那么就要用最快的方式。不用担心质量。可使用“一页纸”的需求规格说明。不用担心设计或编码中的文档。可以使用任何工具。可以使用任何编程语言,只要能够方便程序的快速开发。不用担心编程语言的可维护性。
有两种原型:一次性(throwaway)原型和演进式(evolutionary)原型。一次性原型用快速而粗糙的方式构建,交给客户用以获得反馈,在得到期待的信息后即被废弃。获得的信息被整理进需求规格说明,用于正规的产品开发。演进式原型用高质量的方式构建,交给客户用以获得反馈,获得期待的信息便开始进行修改,以更加贴近客户的需求。重复此过程,直到产品收敛到所期望的样子。
一次性原型应该在关键需求特性没有被很好理解时使用。演进式原型应该在关键特性已被充分理解,但很多其他需求特性没被充分理解时使用。如果对大多数功能都不了解,则应首先构建一个一次性原型,然后从零开始构建一个演进式原型。
原则12 构建合适功能的原型
当建立一次性原型时,只需要开发那些没有被充分理解的特性。如果你开发已充分理解的特性,最终除了浪费资源,将一无所获。当建立演进式原型时(见原则13) ,要优先开发那些已经被充分理解的特性。(注意,它们可能已经被充分理解,因为之前已使用一次性原型进行过验证。)你的希望是,通过体验这些特性,用户能更好地确定其他需求。如果基于模糊的需求(高质量地)开发了一个演进式原型,一旦需求搞错了,你将不得不抛弃这个“高质量”的软件,从而浪费了资源。
原则13 要快速地开发一次性原型
如果你已经决定开发一次性原型,那么就要用最快的方式。不用担心质量。可使用“一页纸”的需求规格说明。不用担心设计或编码中的文档。可以使用任何工具。可以使用任何编程语言,只要能够方便程序的快速开发。不用担心编程语言的可维护性。