我正在设计一个新业务系统,并处于一个独特的“全权委托”职位。
与所有企业一样,它计划持续很长时间并且发展到不确定的规模。
是否值得全力以赴,开发具有明确数据和服务总线的完整企业架构,其中每一层都是某种类型的Web服务......或者我应该设计出可能工作的最小系统并且只是计划增长它随着时间的推移而有机地发挥作用。
根据我的经验,有机种植的™系统是我认为最糟糕的一种,所以我想知道社区的想法是什么?
我们是否处于开发没有这些层的业务的不良做法的阶段,即使它很小?
由于
答案 0 :(得分:4)
如果不了解项目的细节作为一般经验法则,我会选择最小/最简单的解决方案。如果他们希望长期增长,他们应该期望他们的IT解决方案与他们一起成长。
这很不幸但似乎大多数软件需要几次尝试才能做到正确,即使这样,发生的自然变化也很难处理。
因此,除非你能够明确地说明为什么在未来可能/将要发生的事情上投入大量精力,我会保持简单。
就继承有机种植的系统而言,我认为只有当利益相关者不知道你从一开始就有一些简单的东西开始时,一旦需求发生变化就会被抛弃(但经验不会! !!!)那么它可能是噩梦,因为你无法做正确的事情。但是,如果每个人都知道这个想法是什么,并且他们应该期望IT解决方案的变化以及业务的变化/增长,那么我的拙见不应该有任何大问题。
总结做最简单的事情并确保利益相关者理解这不是一次性事情。
答案 1 :(得分:2)
做最简单的解决方案。如果您现在创建“完整解决方案”,您可能会错过一些重要的要求或浪费时间和金钱添加不需要的功能。也就是说,设计您的解决方案,以便可以相当容易地修改碎片。
作为一个实际示例,如果您使用.NET编写代码,请为每个“服务”创建一个接口和默认实现。尽可能针对接口进行编程。稍后,如果您需要中断服务,您将能够轻松地插入实现您的接口的WCF客户端。控制反转也可以帮助你解决这个问题。
答案 2 :(得分:0)
有机增长本身并不错。只有当它做得很差时才会变坏。但是,我已经说过,未来3到5年我会看到公司的计算需求和建筑师的最佳估计。尝试从管理团队获取诚实和现实的信息,以便根据您的估算。