首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为多个客户管理单一的软件产品?

如何为多个客户管理单一的软件产品?
EN

Software Engineering用户
提问于 2013-02-13 11:36:45
回答 5查看 2.7K关注 0票数 5

我们已经开发了一种用于薪资处理的产品。我们有使用这个软件产品的10+客户。

我们现有的和新的客户正在给我们定制更改w.r.t。他们的需求,现在我们正面临着产品管理的问题。请给我们一些指导。

如何为多个客户管理单一的软件产品?

软件开发细节:

前端工具: Visual 2008 (ASP.net web应用程序)

源代码管理:可视源安全(VSS)

后端: Server 2005

队员: 12人

EN

回答 5

Software Engineering用户

发布于 2013-02-13 11:53:05

在我的经验中,客户需要的更改将分为4类:

  1. 变化,其他客户会发现有用的,但“初始”客户愿意支付。
  2. 改变其他客户会发现有用,但“初始”客户不愿意支付。
  3. 改变其他客户不会发现有用,但“初始”客户愿意支付。
  4. 改变其他客户不会发现有用,但“初始”客户不愿意支付。

对于1,对核心产品进行修改,并向所有客户发布一个更新版本(开发该产品会获得报酬,并在未来获得良好的信誉)。

对于第二,做一个商业决定,如果有价值,是否有足够的价值来产生更多的销售,使它值得,如果是的话,在核心产品作出改变。

对于3,创建某种插件系统,您可以为特定客户创建一个自定义外接程序组件。

对于第四个,我建议你不要这样做。

票数 6
EN

Software Engineering用户

发布于 2013-02-13 12:21:41

从根本上讲,有两种方法可以解决这个问题:

  1. 有一个单一的产品,主要是通过配置来定制,以满足单个客户的需求
  2. 为每个客户端构建一个基于标准框架和公共核心库集的产品。

前者的问题是协调来自不同客户的相互冲突的需求,而后者的问题是,您现在支持每个客户端的产品,并且随着时间的推移,事情会分道扬镳。在这两种情况下,您都希望有管理每个客户端的特定配置数据的机制。

我个人的观点是(没有更多的细节),几乎可以肯定的是,处理单个应用程序会更好--当然,我在多客户端web应用程序中的功能切换方面取得了合理的成功,但保持跟踪是一项挑战。

从您的工具集来看,ASP.NET中对主题的支持是合理的,插件系统也有很大的空间--但是您应该考虑更新工具,特别是获得一个更可靠/更有能力的版本控制系统。

票数 5
EN

Software Engineering用户

发布于 2013-02-13 11:51:56

在这样的应用程序中,明智的做法是将代码分为泛型部分(数据库驱动程序、小部件库)和描述这些泛型部件的具体实现的配置部分。我将努力保持动态部分尽可能小,并尽可能多地重用。每个客户都有一个联合通用部件和一个自定义配置部分。如果需要对基本基础结构进行任何更改,这些更改也可以应用于其他客户。

实际上,您可以将软件分成两个存储库,一个用于通用部分,另一个用于配置部分,最后一个库对于每个客户来说都是唯一的。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/186947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档