最初由 DaChu 发布
[B]
如果项目单纯或一味的追求利益最大化,就没有必要讨论
是Say NO还是Say YES了!
Addon本身就是细分行业的完善,非要做成 B1+Addon = A1
也算是“强人所难”吧
SDK存在的意义是什么呢?细分行业的定制开发!
行业的需求是千奇百怪、千变万化的,B1没有宣称自己
包罗万像,也没有谁敢这样做,B1优秀的地方,就是它提供了
一个开放的平台,使它成为ERP实施的一个工具、 一个基点,
通过其定制才可以将实际需求得以实现,企业和软件只有经过
不断的磨合,才能成为一个整体,
企业需要定制,B1也需要addon
SDK及相关软件模型应用正是B1优秀性的体现! [/B]
原则上同意楼上的看法
但我依然认为,当一个系统功能缺失的时候,首先应该从管理角度入手,而尽量避免定制的情况出现.因为没有任何系统是十全十美的,工具是否改善不等于管理是否改善.
我这人喜欢举例子,
比如改装车可以更酷更漂亮百公里加速3.6秒.但我开原厂车,我并不认为上面那些改装能改善我上下班的交通问题.我宁可花时间研究一下新路线,改善一下驾驶习惯等等.但有些客户没有我这么理智,他们发现上下班耗费时间太长,于是请工程师改装以提高车速,因为这是最直观的。
再比如我有个弟弟,非常喜欢拉风耍酷,于是买了一部法拉利,和改装到很酷很炫百公里加速3.6秒的马6比起来,显然法拉利更适合他.即便法拉利也并不是完美的.但同样有的客户就有不同想法,他们认为马6改装余地更大,可以更好地满足"未来"的改装需求(毕竟需求一直在提升吗),比如加个翅膀之类的,而法拉利以后改起来比较贵....
我想这个例子可以很好地阐述我对于定制的看法.
需求决定产品.
而一个产品是否优秀,取决于曾经面临过多少需求.
只面临过一次需求且尚未实现的定制产品,与面临了上千次需求(或经验积累)的成熟产品相比,显然风险大的太多.
----------------------------------------------------------------------
这里涉及到对SDK的定位问题.
假设我现在有2个系统,
一个叫SBO,
一个假装叫OBS(下面还会用到这个名字),
它们负责不同的业务.
现在我需要这2个系统的数据可以共享,于是我就收集数据结构,编写了一套数据传输的接口,并封装了起来.这个东西,就是DI.
现在我又希望这2个系统的窗体颜色,按钮风格等可以比较相似,于是我做了一套控件"皮肤",并封装了起来。这个东西,就是UI.
一套单向的数据传输接口,一套封装的控件皮肤,这个东西,叫做SDK.
这时候,真正在业务中工作的不是SDK,而是SBO和OBS这2个系统.
于是应该清醒地认识到,SDK对于你的解决方案其实并没有什么意义.所谓企业定制,根本和什么SDK无关,定制是在那个OBS系统上实现的.
那个OBS系统,就是传说中的AddOn,去掉界面皮肤,根本就和SDK没什么关系,完全来自于另外一个独立的开发项目.通常是.net..
(当然,我们还发现SDK不是我自己做的,是SAP做的,SAP为了保护自己的数据,DI和UI增加了许多限制.针对定制的限制.)
--------------------------------------------------------------------------------
于是项目经理或售前顾问或客户本身的课题是:
是否有一个开发团队,是否有能力,在SDK限制之下,在一定的成本范围内,通过一个额外的.NET开发项目来满足客户的定制需求.
结合开发项目的各种问题,以及SBO的实施成本来看,我个人认为,AddOn/SDK的应用,应该以不超过DTW的应用水平为宜.SDK用的比DTW还多的时候...基本上就要开始头痛了
因为出身关系,SDK与DTW貌似不相干的东西其实有颇多相似性....... |