背景:
我在一家拥有大量SAP投资的公司工作,我们还拥有数十个大型.NET系统(主要用于工程系统)和Java平台(主要用于外部web应用程序)。因此,我们有关于ABAP、C#和Java的大型开发商店。
问题:
简而言之,我们需要一种更好的方法来确定什么时候应该使用商用软件,以及何时应该利用我们自己的开发人员。
条件:
我想构建一个基于最佳实践的决策树来帮助解决这个问题。
在最高层,Jeff的相关文章很好地总结了它:最好的代码根本就不是代码
再深一点,我希望看到这样的标准:
是否有符合大多数要求的COTS系统?(如果是,COTS系统可能是一个很好的选择:(避免重新发明车轮)
系统的设计是否满足核心业务功能/创造竞争优势?(如果是这样的话,定制开发可能是一个很好的选择:参见乔尔·斯波斯基的“为非发明--这里的综合症辩护”)
自定义应用程序与COTS产品的TCO是什么?
是否存在无法满足自定义开发的时间限制?(如果是,COTS系统可能是一个不错的选择)
发布于 2009-03-18 20:42:31
我不太清楚您要求的是什么,但我想评论一下我在COTS和自定义开发选择中看到的一些事情:
如果您想要的系统相当简单,那么您的COTS选择也将相当简单。但是,如果它是一个大型、复杂的系统,您可能会为RFP (征求建议书)提供它,要做到这一点,您就必须有一个彻底和正确的需求规范。为RFP生成需求所花费的时间是否会权衡自定义开发敏捷解决方案?您将不得不确定这些要求超紧,以确保COTS系统交付,这将需要大量的时间和努力。
就个人而言,我绝不会考虑COTS,除非:
最终,我同意Joel的说法:如果这是一个核心业务功能--不管发生什么,你自己去做。
https://stackoverflow.com/questions/650750
复制相似问题