Як замовити розробку програмного продукту

Все що тут написано є мій особистий досвід та думка, будь-яка критика та доповнення вітаються.

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

На перший погляд, всі імплементації ідей чудово лягає у компактний мобільний додаток, веб-сайт, простий моноліт зі звичними всіма CRUD операціями. Складається враження, що можна легко підняти jHipster для бекенд, фронт написати на готовому шаблоні (Angular, React, VueJS – що кому зручніше), що багато часу не займе і взагалі проект простий, який можна зробити “задньою лівою ногою”.

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

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

Хоча бувають ситуації, коли профани вказують завищені ціни. На власні очі спостерігав ситуації, коли замовнику було продано функціонал, суми явно перевищує витрачені зусилля, виконаний неякісно, ​​а потім функціонал за окрему плату “випилювання” з проекту.

Так як людині, яка по ІТ не пов’язана замовити якісний програмний продукт? Куди звертатись? – Я сформував короткий перелік правил, дотримання яких дозволить знизити ризик співпраці з некваліфікованим або невідповідним виконавцем (стосується як організацій, так і фрілансерів, одиноких розробників):

1. Не замовляйте софт у близьких знайомих або родичів – у цьому випадку надзвичайно важко (через моральні та інші моменти) вказати точну ціну, яка буде мотивувати працювати.

2. Перевіряйте попередні роботи, портфоліо – скільки із зазначених проектів “ще живі”, є схожі на тематику з вашим і т.д.

3. Запитайте плани на 1-3 місяці (у компаній, які цінують якість поки що замовлень вистачає, тому з високою ймовірністю вони будуть завантажені)

4. Замовте деталізоване платне ТЗ – тільки за оплачені послуги можна привести до відповідальності, перечитайте ТЗ, перевірте наскільки докладно воно розписано, правильно зрозуміли вашу ідею, простежте як писалося ТЗ, спілкувалися з вами за незрозумілими моментами, або просто не включили в ТЗ то що не зрозуміли, виявили ініціативу та додали щось зі своїх ідей?

5. Попросіть оцінити проект у раз

    1. швидкої розробки.

    2. якісної розробки.

    3. оптимальне співвідношення якість/швидкість.

6. Попросіть приклад плану тестування.

7. Не поспішайте – дуже рідко потрібно створювати продукт у короткий термін.

8. Розбийте створення на кілька ізольованих етапів.

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

 

Share This

Leave a comment