80/20 также влияет на планирование

Все мы слышали о правиле 80/20, которое гласит, что 80% нашего успеха (результатов) происходит только от 20% наших действий (причин). Что ж, эта универсальная истина также влияет на разработку программного обеспечения, и в этой статье мы собираемся немного рассказать об основных положениях этого утверждения.

BPM

Управление бизнес-процессами, от его аббревиатуры на английском языке, - это управленческая дисциплина (среди прочего), которая позволяет вам визуально понять процессы, которые должны выполняться в бизнесе (или во многих других местах). Среди его основных качеств - то, что он может анализировать сложные процессы и делать их «простыми».

Существует множество инструментов с открытым исходным кодом, которые позволяют разрабатывать диаграммы BPM. В этой статье я использовал BonitaSoft. Если вы хотите узнать немного больше об управлении процессами, в Интернете есть множество руководств и книг по этой теме. А теперь вернемся к центральной теме.

Программные проекты

Сегодня существует множество методологий разработки проектов: гибкие, традиционные, смешанные и т. Д. У них всех есть одна общая черта: подготовка. Что я имею в виду? 80% вашего успеха в этом программном проекте будут основаны на первых 20% всего процесса, подготовка. 

Подготовка проекта

Это что-то логичное, что на самом деле применяется очень мало (как и многие другие логические вещи, которые на практике нелогичны). Когда мы говорим о подготовке, мы должны понимать способность понимать проблему, понимать решение и, прежде всего, процесс что решение применяется. Одна из вещей, которая меньше всего встречается в непрофессиональных проектах по разработке программного обеспечения, - это отсутствие документации по этому вопросу. Обычно это появляется в частных компаниях, поскольку желание продать превышает процесс создания.

Поскольку многие из тех, кто читает эти статьи, работают или имеют отношение к технологиям, стоит упомянуть, что если в какой-то момент своей трудовой жизни они найдут компанию / поставщика, не имеющую должной подготовки, почти на 80% уверены 😛 что проект это не сработает.

Абстракция - это ключ

Это то, что я узнал за время использования GNU / Linux, и снова и снова оказывается, что он играет ключевую роль в процессе создания программного обеспечения. Емкость Аннотация проблемы превращения их в более "простые" вещи жизненно важны для создания элегантного кода, и, прежде всего, долгоиграющий. И, пожалуй, в этом одно из главных отличий крупных профессиональных проектов и проектов, которые выходят из-под контроля. Первые думают, понимают и структурируют процесс в то время как секунды поддерживать работать, не понимая этого.

Стажер

Так называется проект, который разрабатывает установщик Gentoo, как вы понимаете, это довольно сложный процесс, так как он поддерживает большое количество архитектур. Еще один фактор, который следует учитывать, - это количество поддерживаемых конфигураций на уровне ядра, системе инициализации и т. Д. И все это я вам рассказываю, потому что это еще и моя дипломная работа, которую я должен закончить до окончания учебы. Очевидно, я не могу создать программу, которая рассматривает абсолютно все возможные варианты за такое короткое время (до июля следующего года), но, по крайней мере, я могу создать программу, которая позволяет установить функциональную систему очень простым способом.

Понимание процесса установки

Благодаря инструментам BPM можно создать диаграмму процесса, которая позволяет нам понять шаги, необходимые для успешной установки Gentoo на компьютер.

Процесс установки Gentoo

Своя. Кристофер Диас Риверос

Несмотря на то, что он содержит несколько процессов и подпроцессов, он, очевидно, был достаточно обобщен, и можно увидеть, что у нас есть 18 линейных шагов. Это важно, потому что приложение с линейной структурой легко реализовать, и в то же время параллелизм может быть сгенерирован в одном или нескольких потоках, если это необходимо.

Еще один важный фактор - это то, что это позволяет нам Аннотация наборы процессов по типу, например, определение потока ядра позволяет нам знать, что в нем есть определенные задачи, которые напрямую связаны с процессом успешной установки ядра.

Подпроцесс "ядро"

Своя. Кристофер Диас Риверос

Таким образом, каждый «сложный» шаг становится «простым» в глобальном масштабе, без потери необходимых деталей. Это облегчает наглядность сборки без снижения уровня спецификации, необходимой для успешного завершения процесса. И мы не можем отрицать, что изображение легче увидеть, чем прочитать руководство целиком 🙂

Экономьте время

Другое очевидное преимущество заключается в том, что, не имея напрямую подключенного языка программирования, можно выполнять логический анализ, не тратя время на реализацию языка. Это преимущество по сравнению с количеством времени, которое можно потратить на реализацию функции, только чтобы узнать, что она будет отброшена, потому что существует более эффективное решение. Например, какими будут решения в псевдокоде (что также игнорируется многими «разработчиками», но не должно быть).

Управление проектами стало проще

Принимая во внимание эти концепции, управление проектами (любого рода) становится проще, потому что мы сосредотачиваем наши усилия там, где они действительно необходимы, и если эта часть выполнена правильно, все остальное ложится под его собственный вес. Я надеюсь, что это поможет вашему любопытству и побудит вас исследовать BPM, алгоритмику и, кто знает, может быть, это побудит вас помочь мне с моей диссертацией 😛 Большое спасибо, что пришли сюда, и мы скоро увидимся. Ура


2 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Александр майорга Муньос сказал

    Привет. Спасибо, что поделились своими знаниями. Мне кажется, что это интересный предмет, но он требует много исследовательской работы и применения концепций на практике, чтобы иметь возможность усвоить их. Поначалу проблема сбивает с толку, потому что ее больше связывают с определением требований к системе, а не обязательно с бизнес-процессами компании, то есть с тем, как она работает. В конце концов, я думаю, что это больше касается роли, которую разработчики программного обеспечения играют в моделировании бизнеса компании, чтобы сделать его работу более эффективной и действенной.

    1.    КрисADR сказал

      Привет, Александр, большое спасибо за то, что поделились. По правде говоря, попытаться суммировать все в таком небольшом пространстве - довольно сложная тема, но если я могу немного внести свой вклад, чтобы избежать путаницы с вашим комментарием 🙂 это правда, что системы должны пытаться решать требования, что это наиболее возможная базовая функциональность, и на этом этапе разработчик должен сосредоточиться на более высоком уровне.
      Знание процессов позволяет разработчикам представлять более чем достаточно систем, понимая их как нечто, отвечающее минимально возможным требованиям.
      Элегантность кода заключается в возможности понять весь процесс и сгенерировать его более глубоко, где применяется наилучшее возможное решение, и это возможно только путем реального понимания процесса, а не требований, как вы хорошо заметили. 🙂
      Если мы немного смоделируем его на основе FOSS, это подразумевает не только знание требований к программному обеспечению, но и философию, лежащую в основе этого, а также знание того, как оно будет поддерживаться, кем, а также все эти знания процесса, которые не только создают эффективное решение. ., но со временем можно будет сохранить 🙂
      Еще раз большое спасибо и привет.