【发布时间】:2009-03-16 14:51:08
【问题描述】:
背景:
我在一家拥有大量 SAP 投资的公司工作,我们还拥有数十个大型 .NET 系统(主要用于内部工程系统)和 Java 平台(主要用于外部 Web 应用程序)。因此,我们在 ABAP、C# 和 Java EE 上有大型开发商店。
问题:
简而言之,我们需要一种更好的方法来确定何时应使用商用现货 (COTS) 软件,以及何时应利用我们自己的开发人员。
标准:
我想根据最佳实践构建一个决策树来帮助解决这个问题。
在最高级别,Jeff Atwood 的相关帖子总结得很好:The Best Code is No Code At All
再深入一点,我希望看到如下标准:
是否有满足大部分要求的 COTS 系统? (如果是,COTS 系统可能是一个不错的选择:(避免重新发明轮子))
- 如果有,是否有完全公开的 API 可用的? (这是必不可少的 集成/定制)
- 如果有,有源代码吗? (这对于深 集成/定制)
系统是否旨在满足核心业务功能/创造竞争优势? (如果是这样,定制开发可能是一个不错的选择:See Joel Sposky's: In Defense of Not-Invented-Here Syndrome)
- 如果是这样,定制开发是否允许 用于将来/其他的代码重用 系统? (有很多优点 重用现有代码)
定制应用程序与 COTS 产品的 TCO 是多少?
是否存在定制开发无法满足的时间限制? (如果是,COTS 系统可能是一个不错的选择)
【问题讨论】:
-
您能否总结一下实际的问题是什么?
-
已修复。希望每个人都同意这个问题现在更容易脱颖而出。
-
完成!我在最后添加了摘要
-
哎呀,你是对的 - 我更喜欢你的 :)
-
检查我回滚到的修订版,它使您的问题脱颖而出,并明确添加了您的标准。 /me 希望 SO 能够获得更好的版本控制系统。
标签: architecture cots