根据我自己的经验和我朋友的经验,我发现许多公司都有一些奇怪的想法来开发自己的框架和SW工厂(为您构建应用程序框架)。这些想法通常基于相信自己的框架将比任何其他可用框架更好。如何处理这样的想法,以及如何解释它并不总是好的方法?如何处理公司内部框架和软件工厂?
为什么我认为内部框架/工厂并不好:
- 预算&资源 - 通常只有一些初步的预算,以创建框架。没有人会考虑维护和支持框架所需的预算。没有人可以估算维护所需的预算和资源。起初没有人会考虑维护多个版本的框架来支持现有的应用程序。
- 缺乏经验 - 框架通常是由没有任何此类经验的人员或“顾问”支持人员创建的 - 通常是具有相似技能的昂贵人员。
- 架构/设计 - 框架中的任何架构问题都会影响使用此框架构建的所有应用程序。框架中糟糕的设计决定会迫使开发人员以糟糕的方式编写应用程序。
- 技术债务 - 框架中的坏代码是技术债务。
- 银弹的虚假信念 - 管理者认为自己的框架/工厂是银弹。所有应用程序将以相同的方式编写,并且易于维护。我的经验是,这很简单,而不是真相。即使在SW工厂,每个应用程序也是特定的
- 文档不足 - 文档首先受低预算影响。没有文档的框架是无用的。反射器(.NET)是我最好的朋友。
- 用户组不足 - 内部框架只有很小的用户组。小型用户群意味着小的体验。如果我使用的是公共工具/框架,并且遇到问题,我可以在SO(或类似网络)上提问,或者试着在Google上找到答案。有了内部框架,这是不可能的。
- 政策 - 公司政策强制您使用框架来维护框架成本。迄今为止,在收集第一个需求之前选择框架。
- 禁止向投诉框架投诉。
- 禁止使用其他框架。
为什么我觉得公司这样做是:
- 傲慢&利己主义 - sombody在公司相信自己能够做的更好。
- 无知 - 忽略现有的框架/解决方案,以及只有好的框架才能存活到足以流行的事实。忽略Internet上的用户组和已有的信息。
- 管理失败和无能 - 不了解这个决定的影响(特别是长期)。基于不正确的信息进行裁决。没有SW开发背景的管理。
据我所知,有时候需要专门场景的解决方案或框架,但我厌倦了用于创建Web或桌面应用程序的所有这些“优秀的内部框架”。我错了吗?这些框架是否真的需要(.NET和Java世界)?你能否提供一些例子或理由说明为什么有内部框架/工厂是好事?
编辑:
感谢的答案,但我预计一些建议如何处理一个问题,因为开发者(除了改变工作),而不是作为一个经理。
LOL!第一步让开发者不要感到无聊:独角兽和彩虹。 – BoltClock 2010-09-08 10:37:09
什么是独角兽? – 2010-09-08 10:41:19
好点。我从来没有这样想过。 – 2010-09-08 11:17:05