- Що потрібно зробити
- Яким способом робити
- водоспад
- Scrum
- Яка мета проекту
- Хто буде його використовувати
- Як розраховується вартість
- Приклад 1: месенджер
- Приклад 2: якість водіння автомобіля
- Отже
Автор: Олександр Мурзанаев CEO AppCraft
В одній з попередніх статей ми приводили результати опитування понад 55 компаній-розробників мобільних додатків з 15 країн про вартість розробки типових програм. Ось вони:
Тобто створити усереднене мобільний додаток коштує близько 3-4 млн рублів і займає 4-4,5 місяці. У тій же статті ми згадували, що розробка MVP обходиться набагато дешевше. Але наскільки дешевше? Оцінки студій розробки мобільних додатків різняться в десятки (!) Разів як за термінами, так і за вартістю. На графіку нижче наведені оцінки різних студій по розробці аналога WhatsApp:
Хтось готовий розробити месенджер за 2 місяці і 1,2 млн рублів ($ 20k), а хтось за 6 місяців при тому ж бюджеті. Інші студії готові зробити його за 6 місяців, але з бюджетом не менше 15 млн рублів.
Розмір кола на цьому графіку означає умовну авторитетність студії - кількість позитивних відгуків від великих замовників. Великі кола розподілені рівномірно, тобто замовники залишилися задоволені як великим, так і маленьким терміном розробки за одні й ті ж гроші; як великим, так і маленьким бюджетом за той же час.
Хтось готовий розробити месенджер за 2 місяці і 1,2 млн рублів ($ 20k),
хтось - за 6 місяців при тому ж бюджеті.
Так як же зрозуміти, скільки все-таки повинна коштувати розробка мобільного додатка, якщо оцінки студій так сильно різняться? Яка собівартість створення програмного продукту? Ми постараємося відповісти на це питання виходячи з нашого досвіду запуску декількох десятків продуктів за 2017 рік.
Що потрібно зробити
Розробка мобільного додатку - поняття в оцінці за вартістю навіть ширше, ніж "купити автомобіль". Може йтися про створення тестової збірки для перевірки працездатності концепції; можливо, це буде MVP - мінімальний життєздатний продукт (minimal viable product), завдання якого перевірити працездатність економічної моделі; можливо, доробка більш повної версії з працюючого MVP; це може бути і цілий програмний комплекс, що включає в себе зв'язки зі сторонніми сервісами, платіжними системами, складної серверної логікою і так далі. Розробка продукту для стартапу і розробка для вже працюючого бізнесу мають свої специфічні особливості, це теж варто враховувати.
Тому перш за все в очікуванні відповіді на питання "скільки коштує розробка мобільного додатка" потрібно визначитися, про який тип продукту йде мова.
Яким способом робити
Є цілий спектр методологій розробки проектів, проте всі вони діляться на дві великі категорії: водоспадний (класичний) метод і scrum - так звана "гнучка розробка".
Метод Водоспадної розробки виник дуже давно і використовувався в абсолютно різних сферах: від обробки цілини до будівництва космічного корабля. Суть його полягає в детальному плануванні циклу від початку і до кінця. Це такий собі чорний ящик, на вході до якого подається купа проробленої до деталей документації, а на виході з'являється готовий продукт.
Друга парадигма (scrum) полягає в ітераційному підході до створення продуктів. Визначається, як ми можемо зробити готовий (це важливо) продукт за 2 тижні. Далі ми запускаємо його, дивимося що вийшло, що потрібно додати, і формуємо обсяг робіт ще на 2 тижні. Тобто вивчаємо, плануємо, робимо, перевіряємо і так далі по циклу.
водоспад
Каскадне проектування, або проектування за допомогою діаграм Гантта , Отримало назву через схожість свого графічного відображення з водоспадом. Воно полягає в складанні докладний графік робіт, що проводяться з розбивкою за типами задач і термінів їх виконання. Виглядає це так:
До плюсів цього методу можна віднести можливість відразу побачити заповітні цифри по вартості і термінів для фінального продукту.
мінуси:
- Негнучкість розробки: вимоги навколишнього середовища можуть помінятися, розуміння ринку і потреби клієнтів можуть прояснитися, але процес робіт вже прорахований крок за кроком;
- Висока вартість робіт: щоб отримати перші результати інтегрування продукту потрібно заплатити в тому числі за функціонал, яким більшість клієнтів користуватися не буде;
- Великі терміни розробки: близько 2-х місяців роботи для середньостатистичного проекту.
Scrum
Гнучка методологія розробки ( agile на прикладі scrum ) - підхід, що полягає в побудові спеціального циклу створення продукту з метою мінімізації витрат, збільшення швидкості і постійного уточнення напрямку розробки. Організація роботи в цьому випадку виглядає наступним чином:
Гнучка методологія хороша наступним:
- Вона гнучка. Ітерації (спринти) тривають приблизно 1-2 тижні, після чого з'являється можливість скорегувати лінію розробки частково або повністю;
- Вартість початкового продукту (MVP) завжди нижче, ніж ціна версії з повним функціоналом;
- Розробка ведеться швидше за рахунок того, що маленькі терміни виконання робіт зручніше контролювати і легше виконувати;
- Ви робите тільки те, що потрібно вашим потенційним клієнтам. Правило Парето діє і у випадку з мобільними додатками: користувачам потрібно лише 20% функціоналу, 80% використовується одиницями або не використовується взагалі. У випадку зі scrum ви платите тільки за ці 20%.
До мінусів можна віднести часткову невизначеність бюджету і термінів на початок розробки. Обсяг робіт і їх вартість точно розраховуються лише для першого спринту. Скільки спринтів і якого обсягу буде потрібно для досягнення мети - сказати складно. Однак настільки ж складно сказати, чи досягне мети проект, що розробляється по Водоспадної моделі: функціоналу буде відразу багато, затребуваний чи він - заздалегідь невідомо.
Яка мета проекту
Для оцінки розробки мобільного застосування важливо розуміти навіщо воно робиться. Якщо мета проекту - перевірити ідею, то краще обійтися мінімальним обсягом коштів, реалізувавши лише той функціонал, який буде перевірятися в ході тестування.
Якщо мова йде про розробку програми для застосування всередині компанії, яка вже застосовувала аналогічні продукти, і деталі функціонування при цьому зрозумілі і відомі, то бюджет розраховується виходячи з набору вимог.
Якщо завдання встигнути надати технічні рішення на певну годину, то розрахунки ведуться виходячи з наявних часових ресурсів.
Хто буде його використовувати
Мобільний додаток може розроблятися для користувачів, для себе і для галочки. Кожен з цих випадків вимагає свого підходу до розробки продукту, а значить і до оцінки термінів і бюджету.
Як розраховується вартість
Вартість будь-яких робіт розраховується виходячи з двох параметрів: їх обсягу та вартості години праці:
Класична структура робіт зі створення мобільного застосування складається з наступних етапів:
- Оформлення документації;
- Проектування системи;
- Загальні питання зберігання і обробки даних;
- Питання синхронізації даних;
- прототипування;
- UI / UX дизайн, розробка;
- Полірування UI / UX дизайну на прототипі;
- Керування обліковими записами користувачів;
- Серверна логіка;
- Інтеграція з зовнішніми сервісами;
- Реалізація Push повідомлення, онбоардінг;
- Підтримка версійність сумісності;
- Тестування продукції;
- Запуск.
Цей список варіюється від розробника до розробника і від проекту до проекту. Однак при отриманні відповіді на питання про вартість створення мобільного застосування часто порівнюються тільки ціни від декількох студій, без аналізу робіт, які увійшли в оцінку.
Вартість однієї години робіт тільки в Росії варіюється від 600 до 3500 руб за годину, в світі розкид цін вище. Ціна залежить як від рівня кваліфікації фахівців, так і від бренду самої студії.
Приклад 1: месенджер
Припустимо, ви захотіли зробити простий месенджер для потреб своєї компанії, для приватного спілкування в колі друзів і знайомих, або нішевий продукт з підвищеною безпекою. Наприклад, як наш месенджер CallBox , Про який недавно написав ForkLog : Тільки дзвінки між двома учасниками і повідомлення без фотографій, стікерів та інших веселість, виключно для обміну діловою інформацією.
Даний продукт - це чистий MVP: тільки необхідне для перевірки концепції. Для дзвінків використовуються готові кодеки з застосуванням існуючих алгоритмів шифрування. Алгоритми модифікуються для забезпечення належної ступеня захисту, але не розробляються з нуля.
Для повідомлень також використовуються існуючі протоколи передачі даних ( protobuf ) З додатковим шифруванням.
Для розробки мобільного застосування під одну платформу потрібно 2-3 тижні роботи одного фахівця + пару днів роботи дизайнера по графіку і анімацій. Якщо взяти вартість години фахівця в студії в 1200 руб, то отримаємо ~ 120 тис. Рублів під одну платформу.
Серверна частина при цьому потребують також 2-3 тижні роботи серверного фахівця (у випадку з CallBox більше в силу унікальності технології). Разом загальна оцінка додатки під 2 платформи (iOS і Android) разом з північною частиною складе приблизно 360 тис. Рублів і 3 тижні роботи.
Тепер уявімо, що потрібно додати пересилання фотографій в чатах, стікери і відеодзвінки:
- Додавання можливості відправки фотографій в чаті на клієнтській стороні (мобільний додаток) - приблизно 2-3 дня і ~ 24 тис. Рублів. Серверна частина також вимагає доопрацювань;
- Стікери - ще 2-3 дні і така ж сума під одну платформу, плюс від одного тижня роботи художника в залежності від кількості стікерів в наборах. Це буде коштувати від 50 тис. Рублів;
- Відео виклик вимагають більших трудозатрат і на клієнтську, і особливо на серверну сторону, їх інтеграція зажадає близько 2-х тижнів роботи і 300 тис. Рублів для трьох фахівців.
В результаті ці доробки обійдуться приблизно в 450 тис. Рублів і займуть ще 3-4 тижні. Тобто додаткові функції за обсягом стоять більше, ніж сам додаток. При цьому, що важливо, практично в будь-якому наборі функціоналу діє закон Парето: тільки 20% функцій будуть затребувані, тільки вони будуть формувати цінність для користувача. Таким чином, якщо не продумувати функціонал ретельно, просто додаючи його за власним бажанням, 80% коштів на розробку буде витрачено даремно.
Приклад 2: якість водіння автомобіля
На цей раз є задумка зробити додаток для автоматичного відстеження якості водіння автомобілів і продати весь сервіс або його послуги страховим компаніям. Щось аналогічне сервісу AXA FlexiDrive .
Додаток складніше месенджера: потрібно не тільки продумати логіку постійної роботи у фоновому режимі, але і реалізувати достатню велику кількість додаткових функцій. Користувач повинен мати можливість:
- Переглядати вчинені поїздки;
- Отримувати інформацію про якість власного водіння;
- Отримувати рекомендації щодо підвищення якості водіння;
- Переглядати каталог страхових компаній;
- Зв'язатися з представниками страхових компаній;
- Знаходити свій автомобіль на парковці;
- Оплачувати парковку.
Реалізація всього цього функціоналу займе приблизно 2 місяці роботи при вартості 1-1,5 мільйона рублів. Однак і тут діє той же принцип: більша частина функціоналу програми не буде затребувана переважною більшістю користувачів.
Отже
Вартість розробки мобільного застосування складається не тільки з обсягу робіт, але і з відповідей на питання як саме його потрібно розробити, для кого і з якою метою. Важливо постійно тримати в увазі два аспекти:
- Принцип Парето: 20% роботи дають 80% ефективності, 80% роботи дають тільки 20% користі;
- Ми робимо додаток не для себе, а для користувачів.
Другий момент, яким би він не здавався простим, найчастіше не береться до уваги. Іноді здається, що якісь речі будуть людьми затребувані - ці висновки робляться з власного досвіду. Але у людей досвід може бути іншим. Їх цілі і цінності теж можуть відрізнятися від команди, що займається розробкою сервісу. Тому наріжним каменем розробки якісного продукту є швидкість ітерацій взаємодії з реальними користувачами. Чим швидше вдається дати їм продукт, отримати зворотній зв'язок, поліпшити сервіс і випустити оновлення, тим вище шанси на успіх.
Вартість розробки MVP практично будь-якого мобільного додатка становить 150-250 тис. Рублів під одну платформу - це 2-4 тижні роботи досвідченого фахівця. Дві платформи (iOS і Android) і серверна частина - 350-450 тис. Рублів при тих же термінах.
Доопрацювання розширеного функціоналу може займати велику кількість ресурсів - складність рішень може бути високою з великими затратами на їх реалізацію.
Ви можете визначити як саме той чи інший підрядник оцінює роботи, задавши йому уточнюючі питання:
- Які саме роботи включені в оцінку?
- Скільки часу займає робота з документацією?
- Скільки часу займає дизайн?
- Які роботи крім документування, дизайну та програмування входять в розрахунковий обсяг?
- Яка вартість однієї години робіт?
- Чи даєте ви рекомендації по необхідному і надлишкового функціоналу?
Відповіді на ці питання вкрай важливі для розуміння механіки оцінки студії. Наприклад, ви можете виявити, що за дизайн ви платите більше, ніж безпосередньо за розробку. Або що вартість робіт фахівця перевищує рівень його орієнтовною зарплати в 4-5 разів, що означає, що ви платите не стільки за розробку власного додатка, скільки закриваєте операційні витрати компанії-підрядника.
В інтернеті є багато сайтів, на яких за пару кліків можна отримати оцінку реалізації ідеї мобільного додатка, наприклад на estimatemyapp.com або howmuchtomakeanapp.com . Ми ж зробили зручного ботика для Telegram, що дозволяє отримати оцінку не тільки за функціоналом, але і за підходом: MVP або сервіс з широким спектром функціоналу.
На нашому каналі ми щодня публікуємо цікаву інформацію зі світу розробки мобільних додатків. У наступних статтях розповімо про те, як можна швидко і ефективно протестувати ідею мобільного додатка, витративши всього 500 рублів. А повідомляємо про вихід нових цікавих матеріалів ми якраз в Telegram каналі :) Приєднуйтесь!
Цікаво. Корисно. Щодня.
Але наскільки дешевше?Так як же зрозуміти, скільки все-таки повинна коштувати розробка мобільного додатка, якщо оцінки студій так сильно різняться?
Яка собівартість створення програмного продукту?
Скільки часу займає робота з документацією?
Скільки часу займає дизайн?
Які роботи крім документування, дизайну та програмування входять в розрахунковий обсяг?
Яка вартість однієї години робіт?
Чи даєте ви рекомендації по необхідному і надлишкового функціоналу?