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,算法学的知识,也许谁会知道,这会鼓励您对我有所帮助。 干杯


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   亚历山大·马约加·穆尼兹

    你好感谢您分享您的知识。 在我看来,这是一个令人兴奋的主题,但是它需要大量的研究工作,并将这些概念付诸实践才能使其内部化。 起初,这个问题令人困惑,因为人们倾向于将其更多地关联到确定系统的需求上,而不必与公司的业务流程(即公司的运作方式)相关联。 最后,我认为更多的是软件开发人员在建模公司业务中所扮演的角色,以使业务运营更加高效。

    1.    克里斯·阿德

      您好亚历山大,非常感谢您的分享。 实话实说,试图在这么小的空间内总结所有内容是一个有点复杂的话题,但是如果我能做出一点贡献以免与您的评论相混淆,🙂的确,系统应该尝试解决需求,这是最重要的。可能的基本功能,到那时,开发人员应该专注于更高层次。
      对过程的了解使开发人员可以展示足够多的系统,充分理解满足最低要求的东西。
      代码的优雅之处在于能够理解完整的过程,并以更深的方式生成它,并应用最佳的解决方案,而这只有通过真正了解过程而不是您的要求才能实现,正如您所提到的🙂
      如果我们围绕FOSS对其进行建模,则不仅意味着了解软件需求,而且意味着其背后的哲学,并且知道如何维护它,由谁维护以及对过程的所有了解不仅会产生有效的解决方案。 ,但随着时间的流逝将有可能维持🙂
      再次非常感谢您和问候。