产品需求与客户需求(探讨可扩展性的实现)
产品已经完成,但是当遇到第一个客户的时候,就遭到打击,在分析新的需求后,我感觉从大体功能上看是与现有产品大同小异的,但是一些细节(主要是流程和数据)上的差异让我们不得不重新开发一套系统,在重新开发一套系统前,我想总结一下失败,我们什么地方做错了?
列出客户需求与产品需求的一些差别,想探讨一下,在一个可扩展性强的系统中应该怎样在设计阶段处理以下问题,并使损失最小化:
1.数据库表中添加了一个字段
其实在开发中也有这样的问题,加一个字段会导致从底层到高层的一系列的修改,怎样设计避免?
2.业务流程中状态的变化
虽然我们搜集了很多的客户并最终产品化,当然流程是对的,但是对于流程中的状态,我们写死了3个状态,客户要求有四个状态,那由于状态对应到不同的业务处理逻辑,改动也很大,有没有好的设计方法能够避免?
3.产品功能强大,含概大多数业务功能,但客户只需要一个子集!
当您开发设计的产品功能很强大,但是客户说只需要其中一小点功能的时候,您的系统是否可以无修改的屏蔽功能,我们做不到,也许是业务逻辑与功能绑的太死吧,大家谈谈经验?
....
不想写了,其他的差别实在是太琐碎了,而且跟业务相关:(,我想只要是参加过项目开发的都有类似的经历,欢迎补充讨论!
我们每天在探讨系统的可扩展性、可维护性,不知道大家在开发真正的商用系统的时候,尤其是在给客户实施的时候,您的产品真的能够做到一套产品适用千家吗?
呵呵,也许问题太大了,没办法讨论,也许本身就不是设计的问题,而是需求采集的问题,也许软件公司就是这样,开发产品-》客制化(工作量相当于重新开发)。
列出客户需求与产品需求的一些差别,想探讨一下,在一个可扩展性强的系统中应该怎样在设计阶段处理以下问题,并使损失最小化:
1.数据库表中添加了一个字段
其实在开发中也有这样的问题,加一个字段会导致从底层到高层的一系列的修改,怎样设计避免?
2.业务流程中状态的变化
虽然我们搜集了很多的客户并最终产品化,当然流程是对的,但是对于流程中的状态,我们写死了3个状态,客户要求有四个状态,那由于状态对应到不同的业务处理逻辑,改动也很大,有没有好的设计方法能够避免?
3.产品功能强大,含概大多数业务功能,但客户只需要一个子集!
当您开发设计的产品功能很强大,但是客户说只需要其中一小点功能的时候,您的系统是否可以无修改的屏蔽功能,我们做不到,也许是业务逻辑与功能绑的太死吧,大家谈谈经验?
....
不想写了,其他的差别实在是太琐碎了,而且跟业务相关:(,我想只要是参加过项目开发的都有类似的经历,欢迎补充讨论!
我们每天在探讨系统的可扩展性、可维护性,不知道大家在开发真正的商用系统的时候,尤其是在给客户实施的时候,您的产品真的能够做到一套产品适用千家吗?
呵呵,也许问题太大了,没办法讨论,也许本身就不是设计的问题,而是需求采集的问题,也许软件公司就是这样,开发产品-》客制化(工作量相当于重新开发)。