80/20也影响调度

我们都听说过80/20规则,该规则说我们80%的成功(效果)仅来自我们20%的行为(原因)。 嗯,这个普遍的真理也会影响软件开发,在本文中,我们将介绍该声明的一些基础知识。

BPM

Business Process Management(其英文缩写)是一门管理学科(除其他外),使您可以直观地了解必须在企业(或在许多其他地方)执行的流程。 它的主要特质是可以分析复杂的过程并使它们“简单”的事实。

有许多开源工具可让您开发BPM图,我在本文中使用的工具是BonitaSoft。 如果您想了解有关过程管理的更多信息,可以在Internet上找到许多教程,并可以找到有关该主题的书籍。 现在让我们回到中心主题。

软件项目

如今,项目开发方法多种多样:敏捷开发、传统开发、混合开发等等。但它们都有一个共同点:准备工作。这是什么意思呢?这意味着,软件项目成功率的80%取决于整个流程的前20%:准备工作。

准备项目

这是一个逻辑上看似合理的观点,但在现实中却很少得到应用(就像许多其他逻辑上看似合理但实际操作起来却不合逻辑的事情一样)。谈到准备工作,我们必须理解理解问题、理解解决方案,以及最重要的,理解解决方案所采用的流程。在非专业的软件项目中,最不常见的问题之一就是缺乏这方面的文档。这种情况通常发生在私营公司,因为销售的欲望往往会凌驾于开发流程之上。

由于很多阅读这些文章的人都在科技行业工作或与科技相关,因此值得一提的是,如果他们在职业生涯中的任何时候遇到一家准备不充分的公司/供应商,那么几乎可以肯定,该项目不会顺利进行(概率为 80%) 。

抽象是关键

这是我在使用 GNU/Linux 系统期间学到的,而且一次又一次地证明它在软件开发过程中至关重要。将问题抽象化并简化为更简单的事物,对于编写优雅且持久的代码至关重要。或许,这正是大型专业项目与不受控制地增长的项目之间的主要区别之一。前者会仔细思考、理解并构建流程,而后者只是简单地维持运行,无需真正理解其运作机制。

驿站

可以想象,这是Gentoo安装程序开发的项目的名称,这是一个非常复杂的过程,因为它支持大量架构。 要考虑的另一个因素是它在内核级别,初始化系统等方面支持的配置数量。 我告诉你所有这一切,因为这也是我的论文项目,在完成学习之前必须完成。 显然,我无法在这么短的时间内(到明年XNUMX月)编写一个可以考虑所有可能选项的程序,但是至少我可以生成一个允许以非常基本的方式安装功能系统的程序。

了解安装过程

借助BPM工具,可以生成流程图,使我们能够了解在计算机上成功安装Gentoo所需的步骤。

Gentoo安装过程

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

尽管包含几个过程和子过程,但显然已经对其进行了概括,可以看出我们有18个线性步骤。 这很重要,因为具有线性结构的应用程序易于实现,并且在必要时可以在一个或多个线程中生成并行性。

另一个重要因素是它允许我们按类型抽象进程集;例如,定义内核子进程可以让我们知道其中存在与成功安装内核的过程直接相关的特定任务。

子流程“内核”

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

通过这种方式,每个“复杂”步骤都以全局方式变成“简单”步骤,而不会丢失必要的细节。这有利于装配的可见性,而不会降低成功完成该过程所需的规范水平。我们不能否认,看到图像比立即阅读整本手册更容易 

省时间

另一个明显的优点是,由于没有直接连接的编程语言,因此可以执行逻辑分析而不必浪费时间实施该语言。 与之相比,这是一个优势,因为有一个更有效的解决方案,仅花一个时间就可以发现某个功能将被丢弃,而花时间去实现它。 就像伪代码中的解决方案一样(许多“开发人员”也忽略了,但不应忽略)。

指导项目变得容易

考虑到这些概念,项目管理(任何类型的)都会变得更简单,因为我们将精力集中在真正必要的地方,如果这部分做得正确,其余部分就会自行发挥作用。我希望它能激发您的好奇心并激励您研究 BPM、算法,谁知道呢,也许它会鼓励您帮助我完成我的论文  非常感谢您来到这里,我们很快就会见到您。问候


在 Google 中将其添加为首选来源