80/20 також впливає на планування

Ми всі чули про правило 80/20, яке говорить, що 80% нашого успіху (наслідків) походить лише від 20% наших дій (причин). Ну, ця універсальна істина також впливає на розробку програмного забезпечення, і в цій статті ми збираємось викласти трохи основних положень цього твердження.

БПМ

Управління бізнес-процесами, з його абревіатурою англійською мовою, - це дисципліна управління (крім усього іншого), яка дозволяє наочно зрозуміти процеси, які необхідно здійснювати в бізнесі (або в багатьох інших місцях). Серед основних його якостей - той факт, що він може аналізувати складні процеси та робити їх «простими».

Існує багато інструментів з відкритим кодом, які дозволяють розробляти діаграми BPM. Я використав для цієї статті BonitaSoft. Якщо ви хочете дізнатись трохи більше про управління процесами, в Інтернеті є безліч підручників та книг з цього питання. А тепер повернемось до центральної теми.

Програмні проекти

Сьогодні існує безліч методологій для розробки проектів, є гнучкі, традиційні, змішані тощо тощо. Одне спільне для всіх них підготовка. Що я маю на увазі під цим? Що 80% вашого успіху в цьому програмному проекті буде базуватися на перших 20% всього процесу, підготовка. 

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

Це щось логічне, що насправді застосовується дуже мало (як і багато інших логічних речей, які є нелогічними на практиці). Коли ми говоримо про підготовку, ми повинні розуміти здатність розуміти проблему, розуміти рішення і, перш за все, процес що застосовується рішення. Одна з речей, яка найменше зустрічається у непрофесійних програмних проектах, - це відсутність документації на цю тему. Зазвичай це відбувається в приватних компаніях, оскільки бажання продавати перевершує процес створення.

Оскільки багато хто з тих, хто читає ці статті, працюють або пов'язані з технологіями, варто зазначити, що якщо в якийсь момент свого трудового життя вони знаходять компанію / постачальника, яка не відповідає належній підготовці, це майже на 80% впевнене 😛 що проект це не вийде.

Абстракція є ключовим фактором

Це те, чого я навчився свого часу, використовуючи GNU / Linux, і це знову і знову доводить, що є ключовим у процесі створення програмного забезпечення. Місткість реферат Проблеми перетворення їх на більш "прості" речі є життєво важливими, щоб мати можливість створювати елегантний код, і перш за все тривалий. І, мабуть, це одна з основних відмінностей великих професійних проектів та проектів, які виростають з-під контролю. Перші думають, розуміють і структурують процес а секунди вони зберігають працюючи без необхідності це розуміти.

Stager

Це назва проекту, який розробляє інсталятор Gentoo, як ви можете собі уявити, це досить складний процес, оскільки він підтримує велику кількість архітектур. Ще одним фактором, який слід враховувати, є кількість конфігурацій, які він підтримує, на рівні ядра, системи init тощо. І я вам все це кажу, тому що це також мій дипломний проект, який я повинен закінчити перед закінченням навчання. Очевидно, я не можу створити програму, яка передбачає абсолютно всі можливі варіанти за такий короткий час (до липня наступного року), але принаймні я можу створити програму, яка дозволяє встановлювати функціональну систему дуже елементарно.

Розуміння процесу встановлення

Завдяки інструментам BPM можна створити схему процесу, яка дозволяє зрозуміти кроки, необхідні для успішної інсталяції Gentoo на комп'ютері.

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

Власний. Крістофер Діас Ріверос

Незважаючи на те, що містить декілька процесів та підпроцесів, це, очевидно, було досить узагальнено, і видно, що ми маємо 18 лінійних кроків. Це важливо, оскільки додаток, що має лінійну структуру, легко реалізувати, і в той же час паралелізм може створюватися в одному або декількох потоках, якщо це необхідно.

Іншим важливим фактором є те, що це дозволяє нам реферат набори процесів за типом, наприклад, визначення потоку ядра дає нам зрозуміти, що в ньому є конкретні завдання, які безпосередньо пов'язані з процесом успішної інсталяції ядра.

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

Власний. Крістофер Діас Ріверос

Таким чином, кожен "складний" крок стає "простим" у глобальному масштабі, не втрачаючи необхідних деталей. Це полегшує видимість збірки без зниження рівня специфікації, необхідного для успішного завершення процесу. І ми не можемо заперечити, що побачити зображення легше, ніж прочитати весь довідник відразу 🙂

Економити час

Ще однією очевидною перевагою є те, що, не маючи безпосередньо підключеної мови програмування, можна виконувати логічний аналіз без необхідності витрачати час на впровадження мови. Це перевага в порівнянні з кількістю часу, який можна витратити на впровадження функції, лише щоб дізнатись, що вона буде відкинута, оскільки існує більш ефективне рішення. Як і те, якими будуть рішення в псевдокоді (те, що також ігнорується багатьма "розробниками", але не повинно бути).

Режисура проектів стала простою

Беручи до уваги ці концепції, управління проектами (будь-якого виду) стає простішим, оскільки ми зосереджуємо свої зусилля там, де вони дійсно потрібні, і якщо ця частина виконана правильно, решта потрапляє під власну вагу. Сподіваюся, це допоможе вашій допитливості та спонукає вас до досліджень BPM, алгоритміки та хто знає, можливо, це заохотить вас допомогти мені з моєю дипломною роботою 😛 Щиро дякую, що потрапили сюди, і ми побачимось найближчим часом. Ура


Залиште свій коментар

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

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Олександр Майорга Муньос - сказав він

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

    1.    ChrisADR - сказав він

      Привіт Олександре, велике спасибі за поділ. По правді кажучи, спробувати узагальнити все на такому невеликому просторі - дещо складна тема, але якщо я можу трохи внести свій вклад, щоб уникнути плутанини з вашим коментарем, це правда, що системи повинні намагатися вирішити вимоги, це найбільше можливу базову функціональність, і на цей момент правдою є те, що розробник повинен зосередитися на вищому рівні.
      Знання процесів дозволяє розробникам представити більш ніж достатньо систем, достатньо розуміючи їх як щось, що відповідає мінімально можливим вимогам.
      Елегантність коду полягає в тому, що він може зрозуміти повний процес і сформувати його глибше, де застосовується найкраще можливе рішення, і це можливо лише шляхом реального розуміння процесу, а не вимоги, як ви добре згадали 🙂
      Якщо ми трохи змоделюємо його навколо FOSS, це передбачає не лише знання вимог до програмного забезпечення, але і філософії, що лежить в основі цього, і знання того, як він буде підтримуватися, ким, і все те знання процесу, яке не тільки створює ефективне рішення. , але це можна буде зберегти з часом 🙂
      Ще раз велике спасибі та вітаю.