Розробка програмного забезпечення

Скільки коштує розробка програмного забезпечення і чому?

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

Принада власної розробки ПЗ: здається вигідним рішенням?

Чи замислювалися ви коли-небудь над тим, щоб виготовити власні меблі, щоб зекономити гроші? Як би дивно це не звучало, створення власної команди розробки з нуля — схожий процес. У цьому випадку час, ресурси та фінансові витрати на розробку програмного забезпечення стають прихованою пасткою.

Аналітика PwC підкреслює чинники, які стримують впровадження технологічних рішень у компаніях (див. діаграму).

Що стримує впровадження проривних технологій?

Джерело: PwC

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

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

1/ Приховані витрати у розробці програмного забезпечення: Чи достатньо у вас ресурсів?

Витрати на розробку кастомного програмного забезпечення включають:

  • Дослідження, прототипування та оцінку ідеї.
  • «Базові» витрати: найм і навчання необхідних спеціалістів.
  • Витрати на застосування технологій, включаючи ліцензії на програмні «движки», доступ до AI-імплементацій і моделей глибинного навчання, а також операційних інструментів.
  • Витрати на кібербезпеку.
  • Витрати на інфраструктуру та підтримку.
  • Юридичний захист, відповідність різним нормативним та правовим стандартам.
  • Витрати на маркетинг для просування продукту або прототипу.
  • Аналітику процесів на постійній основі. Розгортання надійної аналітичної системи є необхідним для розуміння операцій, виявлення вузьких місць і вимірювання ефективності.

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

Оцінка вартості розробки кастомних програмних продуктів

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

  • Бюджетні оцінки надані FinModelsLab

Джерело: FinModelsLab

Uinno оцінює вартість кастомного програмного продукту приблизно у $100,000.

  • Прогнози витрат Azati для AI/ML-проєктів:
    – Розробка прототипу починається від $2,500.
    – MVP починається від $8,000 і зазвичай коштує до $15,000.
    – Повне рішення може коливатися від $20,000 до $1,000,000.
  • Діапазони витрат за технологіями TP&P:
    – Прототип: $5,000 – $20,000.
    – Модель MVP: $20,000 – $100,000.

Порівняння цих витрат із прогнозованими економічними вигодами від використання інфраструктури вже сформованої команди є очевидним.

Передаючи розробку на аутсорсинг, ці виклики та витрати перестають бути вашою турботою.

2/ Час – це гроші: Чи можете ви дозволити собі затримки проєкту?

Розробка кастомного програмного забезпечення, що включає підготовку, розробку, тестування та запуск, рідко буває прямолінійною. Ось спрощена схема процесу (і це ще далеко не найскладніше програмне рішення):

Джерело: Uinno

Обговорюючи потенційні витрати часу та можливі вузькі місця на різних етапах, слід враховувати наступне, оскільки їхнє ігнорування може серйозно вплинути на ваш проєкт:

  • Прискорення запуску нового продукту на ринок може призвести до помилок у бізнес-аналізі, зборі вимог, дизайні та виборі технологічного стеку, що відразу ставить проєкт на хибний шлях. Це часто призводить до частих змін під час розробки програмного забезпечення, збільшуючи витрати та закладаючи численні приховані проблеми, які згодом проявляються як баги.
  • Переписування поганого legacy-коду є надзвичайно витратним і ресурсомістким завданням, що значно виснажує ресурси та відлякує нових розробників (насправді, застарілі технологічні стекі — одна з ключових причин, чому талановиті розробники часто відмовляються приєднуватися до певних компаній).
  • Таке поспішання також значно ускладнює майбутнє масштабування та інтеграції. Вибір застарілих технологій, недооцінка необхідних функціональних можливостей та інтеграція зовнішніх систем і рішень можуть ускладнити планування та включення в модель/систему/інфраструктуру для майбутнього розширення.

Ресурси, виділені на виправлення багів

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

Вартість усунення багів, виявлених на різних етапах, суттєво різниться. За даними IBM SSI:

  • Баги, знайдені під час реалізації, коштують у шість разів дорожче, ніж ті, що були виявлені на етапі дизайну.
  • Вартість вирішення проблем, виявлених на етапі QA/тестування, може бути до 15 разів вищою, ніж тих, що знайдені на фазі дизайну.

Джерело: IBM, ResearchGate

Світове опитування розробників показало:

  • 38% розробників витрачають до ¼ свого часу на виправлення багів, а 26% — до ½ часу.
  • 26% спостерігали значне відтік користувачів через помилки в ПЗ, що негативно впливало на репутацію компанії та привабливість для інвесторів.
  • 20% зазначили, що невирішені проблеми програмного забезпечення дратують їхніх інвесторів (за даними Businesswire).

Переведемо це у долари США:

За опитуванням StackOverflow, середня компенсація інженерів:

  • США: $140,000 на рік
  • Світовий середній показник: $70,000–77,000 на рік

Беручи до уваги час, витрачений на виправлення багів (25–50% робочого часу інженера), річні втрати на одного розробника складають:

  • США: $35,000–70,000
  • Світовий середній показник: $17,500–$38,500

І це лише витрати на усунення помилок. У наступному розділі ми розрахуємо загальні приблизні витрати на створення команди.

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

Джерело: How Google Tests Software

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

Реальні приклади найдорожчих помилок у розробці програмного забезпечення:

  • Погана якість ПЗ призводить до понад $2 трильйонів щорічних витрат американських компаній, причому операційні збої становлять понад $1,5 трильйона (CISQ).
  • За 25-річний термін експлуатації програмної системи майже 50 центів із кожного долара витрачаються на виявлення та виправлення помилок ПЗ.
  • Відомий приклад — помилка в системі управління батареєю смартфонів Samsung Note 7, що обійшлася компанії майже у $17 мільярдів.
Відкрийте найкращий шлях для вашого продукту.

Наша команда зануриться у деталі вашого проєкту, оцінить вартість розробки та запропонує оптимальні рішення.

Замовте безкоштовну консультацію

3/ Пастка талантів: Чи впевнені ви, що зібрали правильну команду з необхідною експертизою?

Давайте розрахуємо витрати на формування команди. Припустимо, ви вирішили працювати з мінімальним складом, економлячи на фронтенд-/бекенд-розробниках та QA — що, як ми вже бачили раніше, пропуск тестування — це як стріляти собі в ногу — і натомість використовуєте лише одного Full-stack інженера.

Зарплата розробників у США. Джерело: StackOverflow

Зарплата розробників у світі. Джерело: StackOverflow

Як уже зазначалося у розділі про витрати на виправлення багів, слід закласти бюджет $140 000 на рік у США та $70 000–77 000 на рік у світі для кожного інженера, якого ви плануєте найняти. Наразі ми не розглядаємо відмінності між Middle/Senior/Lead/Architect, хоча важко уявити, як команда функціонуватиме без керівника відділу в міру зростання компанії.

Припустимо, на етапі стартапу ви також вирішуєте відмовитися від DevOps (для США – $160 000, середній показник у світі – $80 158,5), і той самий Full-stack Engineer буде розгортати всю інфраструктуру та виконувати міграцію у хмару (або можна скористатися DevOps як сервісом).

Можна також пропустити найм спеціаліста з безпеки (для США – $173 000, середній показник у світі – $99 311). Але зараз категорично не рекомендується економити на кібербезпеці.

Якщо ви плануєте впроваджувати AI (а хто сьогодні не намагається скористатися цим хайпом?), вам знадобиться Data Scientist або Machine Learning Specialist (або кілька таких спеціалістів) – США: $160 000, світ: $80 317.

Зарплата AI-інженера в США. Джерело: Glassdoor

Важко сказати точно, але ось ще одна думка для роздумів. Дослідження понад 700 SaaS-компаній показує, що інженерний відділ завжди є найбільшим.

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

Декілька нюансів щодо формування команди, які варто враховувати:

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

4/ Чому ми часто ігноруємо альтернативні витрати?

Альтернативна вартість може здаватися абстрактним поняттям, але важливо не нехтувати втраченими можливостями, оскільки оцінка різних тактичних варіантів та вибір оптимального є фундаментальним компонентом будь-якого бізнесу.

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

Висновок: Як компанії можуть знизити витрати на розробку кастомного програмного забезпечення?

Перегляньте кожен пункт, детально описаний у цій статті, та оцініть, як саме він застосовується до вашої компанії та запланованого програмного рішення.

Щоб знизити витрати на розробку ПЗ, компанії можуть реалізувати такі стратегії та тактики:

  1. Докладно описати вимоги до проєкту, провести оцінку ідеї продукту та воркшопи Product Discovery: Чітко визначте ціль та користувачів програмного забезпечення, а також спосіб та коло осіб, які ним користуватимуться.
  2. Оцінити внутрішню розробку проти залучення сторонньої компанії: Дослідження показують, що аутсорсинг розробки ПЗ може забезпечити економію від 30% до 70% порівняно з внутрішніми зусиллями (інформація від InApp).
  3. Почати лише з ключових функцій (підхід MVP) та масштабувати пізніше.
  4. Безперервне вдосконалення: Постійно оцінюйте та покращуйте процес розробки, щоб підтримувати ефективність витрат.

Додатково варто детальніше вивчити тему кастомної розробки та різні підходи, щоб обрати оптимальну стратегію розробки.

Підсумок: Якщо система розробки ПЗ налаштована розумно, це оптимізує весь процес та підвищує ефективність витрат, дозволяючи зосередитися на основному бізнесі без відволікань.

Думки щодо оцінки або планування розробки ПЗ? Заповніть форму запиту.

P.S. Для тих, хто хоче заглибитися в тему:

Чудова стаття-підсумок нашого обговорення — про те, як створювався Bluesky та з якими викликами вони стикнулися під час планування, розробки та запуску. Радимо ознайомитися, щоб повністю зрозуміти велику відповідальність за процес розробки та результат.

Розробка Bluesky, розділена на три етапи

Архітектура Bluesky. Джерело зображення: Bluesky та AT Protocol

Повернутися на блог

Зв’язатися з нами

Маєте запитання щодо наших послуг або хочете отримати комерційну пропозицію? Напишіть нам — ми завжди на зв’язку!

    Дякуємо за заповнення форми!

    Ми отримали вашу інформацію та незабаром зв’яжемося з вами. Якщо у вас виникнуть запитання — не вагайтеся звертатися до нас.

    Гарного дня!