问题:面对一个设计需求,是全新设计一个系统还是基于现有系统改造一个系统?
1.优先选择基于现有系统改造出一个系统,对现有系统的选择必须保证以下几个特点
a.类似系统。
b.成熟系统,并得到广泛认同和好评的系统。
c.已经大量应用的系统。
d.有广泛可扩展可利用的模块或资源的系统。
为什么要这样选择呢?优先需求只是一个大概,需求被提出以后如何变化和发展,你无法控制,那么在需求变化之后,你的系统如何去适应呢?一个成熟系统是具备适应变化的能力的,特别是经过了长时间演变和发展的系统。在客户使用现场,还有很多复杂的场景是新系统设计期间难以预测和估计的,只有现象出现了采取分析和解决,现有成熟系统已经将大部分问题的解决和预防囊括其中了。
站在巨人肩上更容易成功。
2.对无法找到类似现有系统的,必须全新开发,但须考虑系统从诞生到走向可以让客户满意使用需要一个成熟周期。需要安排一个环境,让系统逐步试用从中发现问题并解决,以逐渐走向成熟。
3.无论是改造一个系统还是全新设计一个系统,还有一个重要的尺度需要把握,那就是【开放】,和客户环境中运行的其余系统和客户现有系统结合的可能性,并为此做出努力。很显然,基于现有系统的改造,更易实现这些。open,open,open,是新系统潜在生命力的象征。