根据我自己的经验和朋友的经验,我看到很多公司都有一些奇怪的想法来开发自己的框架和SW工厂(为你构建应用程序的骨架)。这些想法通常基于相信自己的框架将比其他任何可用的框架更好。如何处理这些想法以及如何解释它并不总是好的方法?
为什么我认为内部框架/工厂不好:
为什么我认为公司会这样做:
据我所知,有时需要专门方案的自有解决方案或框架,但我厌倦了创建Web或桌面应用程序的所有“优秀内部框架”。我错了吗?这些框架真的需要(.NET和Java世界)吗?你能给我一些例子或理由说明为什么内部框架/工厂是好的吗?
修改
感谢您的回答,但我期待一些建议如何作为开发人员处理问题(除了更换工作)而不是作为经理。
答案 0 :(得分:7)
根据我的经验,过多框架的最常见原因是...... 无聊的开发人员!没有灵感的开发人员发现开发框架来解决他们的问题比实际解决这些问题更有趣 - 最终结果是遭受上述所有问题的框架(因为当然开发人员只做了有趣的事情),而且可能没有甚至解决实际问题(因为目标是获得乐趣,而不是解决问题)。
解决方案很棘手 - 很难知道是什么激励开发人员,因为每个人都受到不同事物的激励,但是那些忙于做他们喜欢的事情的开发人员并不会感到受到这种疾病的影响!
也就是说,经过深思熟虑的框架在正确使用时肯定是好东西 - 但是如果它只在内部使用那么最好将其视为re的扩展因子分解和代码重用而不是框架。
有人患有无聊的开发者框架综合症的典型标志是,当一个框架正在开发以解决一般情况时,还没有针对特定情况的解决方案< / EM>:
第二种情况当然会导致最糟糕的框架 - 一次只使用一次的庞大的通用框架,以解决比框架本身简单得多的问题。
相反,将这些类型的框架更多地视为“广泛重构”的练习 - 如果框架是作为一种按需分组和整理公共代码的方式生成的,那么框架将在动态上增加大小和复杂性 - 在开始生成框架之前已经解决了这个问题也很好,因为这意味着你已经是框架需要做的任何专家。
最后,试图阻止开发人员感到无聊(否则他们会遇到各种各样的恶作剧!)
答案 1 :(得分:3)
泛化很糟糕,但这是我注意到的,特别是在大型企业项目中:
这种行为通常由少数软件工程师(他们通常将其命名为软件架构师)中的一个驱动,这些工程师属于您在问题中编写的描述。每个人都需要为能够在早上醒来的勇气而感到骄傲。我将补充说,出于这个原因,他们通常是CV驱动的,并尝试应用最新的设计模式,而不考虑业务影响和ROI。关键不是雇用那种人(或试图指导他/她了解他/她选择的商业后果)。试图让他们为为公司工作而不是为他们的框架工作感到自豪也可能有所帮助。
错过最后期限,错误,高额转换往往通过应用花哨的方法(通常是糟糕的实施)来解决,比如scrum或聘请高价位的顾问会让事情变得更糟,......而不是去除(或指导) )不应该在第一时间雇用的人。
移除相关人员在大多数情况下都是件坏事,因为他拥有这件事。因此,教他/她了解他/她的选择后果可能是解决问题的最合适方式。但要做到这一点,你需要一个好的经理。
所以我唯一的建议是:
聘请更好的经理,他们非常了解业务和软件开发。他们不会雇用那种人,或者会尝试教他们如何考虑商业以及纯软件开发。他们还会理解,员工最强大的动力是让他们为该公司工作自豪。
答案 2 :(得分:3)
我会在这些事情发展过程中添加其他一些原因,我在不止一个地方看到了这个: - 开发人员锁定。一旦你的开发人员在不可转让的技能组合中编码,他们就很难离开。 - 作者锁定。根据框架,在维护中有多个应用程序,您的组织将依赖于管理组。 - 政治控制。集中化使框架成为政治控制的渠道。