Why Was Mendix Founded? - Mendix Evaluation Guide

Skip navigation

Why Was Mendix Founded?

交付满足业务需求的软件是一件极其困难的事,而且通常失败多于成功,Mendix 的创始人在这方面可谓饱经风霜。Mendix 成立的初衷就是通过转变范式来显著改善软件开发。而转变范式正是 Mendix 的理念。

它是如何开始的?

时光倒回到 21 世纪初期。Mendix 的一位创始人(罗尔德·克鲁伊特 (Roald Kruit))以自由开发人员视角开发软件。经过反复尝试,他发现尽管经历了漫长的工作并具备最高预期,但客户(通常意味着企业)对结果仍不满意。即使预先就创建了大量的功能需求文档也并不能解决这个问题。最终的结果是不仅客户非常失望,开发人员也非常沮丧,挫败感越来越强。

为什么会不断出现这样的情况?罗尔德很快就意识到,无论准备多少冗长的文档、召开多长时间的需求会议,他显然还是不了解业务。对于软件工作的方式和外观的设计,不论在业务还是 IT 方面都存在许多隐含假定。即使提前达成一致,转天客户的需求就会有意识地或无意识地发生变化,最终导致整个流程退回到起点。为什么企业不能简单地决定他们的需求呢?为了找到这个问题的根源,罗尔德 (Roald) 攻读了 MBA 学位。在他学习期间,他对差距的大小和根本程度有了全面的了解。

在任何公司中,业务人员和 IT 人员思考和采取行动的方式本身就是不一样的。除非弥合这种差距,否则任何软件项目都几乎不可能成功。

建立 Mendix 的理念是什么?

接下来,罗尔德在需求发现和软件设计阶段开始使用可视化工具(例如流程图、用户界面模型和流程映射)。这使企业能够在开始编码前验证其对需求的理解,并解决了开发人员不得不针对需求不断进行反向工程的问题。尽管这是向前迈出的非常宝贵的一步,但这又给罗尔德带来了三个其他问题:

1.因为大多数思考过程都发生在需求和设计阶段,因此一旦经过验证,实际的编码变得没那么有趣了。

2.编程通常涉及许多重复性的工作,任何开发人员对于这些工作都不会觉得开心。

3.了解各种编程工具和语言在各个领域中的快速发展的最新动态变得越来越困难。实际上,一位开发人员不可能同时精通后端工具、前端工具、数据库工具和不同的操作系统。这使得开发人员高度依赖其他特定技能人员,从而增加了软件开发项目的交货周期。
同时,Mendix 的另外两位创始人(德里克·鲁斯 (Derek Roos) 和德克詹·克鲁伊特 (Derckjan Kruit))正在相反的方向(业务)经历着业务和 IT 之间的鸿沟。他们遇到了以下问题:

为什么开发人员很难理解一个明显的业务需求?
为什么这么多的 IT 项目都失败了,既浪费了时间又浪费了金钱,更别说毫无意义的相互推脱责任,最终谁都不会获益?

在这种情况下,Mendix 于 2005 年成立,旨在弥合业务与 IT 之间的差距,并为组织和人员提供了一种全新的方式来交付和区分创新应用程序。

无论是使用的技术还是应用的过程,这都是一种新的方式。

Mendix 与 4GL 有何不同?

Mendix 的创始人克服了 4GL 工具的缺陷(历史遗留的基本问题),着手进行可视模型驱动开发 (MDD),使之成为现实。这种方法的两个核心原则是抽象和自动化:

1.抽象化 - 在比传统编码更高的抽象级别上定义软件应用程序模型

2.自动化 - 然后使用自动转换或解释将模型转换为可运行的应用程序
正确的 MDD 方法可在运行时利用模型执行,而不是生成代码。通过解释和执行该模型,该模型会自动转换为可运行的软件应用程序。这免除了生成代码的需要。

有了 Mendix,MDD 从开始到结束都能保持可见。从而在一开始到贯穿整个开发周期的过程中,确保客户的参与度和需求的一致性。因此开发人员不会陷入困境,Mendix 可以确保任何模型都是可扩展的。这样,在构建高度具体的应用程序功能和低级优化的同时不会以牺牲 MDD 的优势为代价。

哪种开发流程可以弥合业务与 IT 之间的差距?

Mendix 一直明白,要弥合业务与 IT 之间的差距,需要的不仅仅是技术。而是一个迭代的敏捷流程,使关键用户和利益相关者可以参与到每个步骤中,从而进行快速实验和现场反馈。

尽管此过程可以应用于任何软件开发项目,但快速且可视化的 MDD 与迭代的敏捷流程的特殊结合极大地加快了开发速度。同时,还确保了客户对结果的满意、消除了开发人员的挫败感并为客户获得成功做好了准备。

Mendix 由此诞生了。

为什么命名为“ Mendix”?

Mendix 这一名字是从动词“to mend”衍生而来的,意思是修复任何损坏的、分裂的或损失的东西。在这里,Mendix 意在修补应用程序的交付流程。

Mendix 的成员致力于通过成功弥合业务与 IT 之间的这一根本性鸿沟来帮助公司在软件驱动的世界中赢得成功。