Технічне завдання – це основа створення будь-якої програми. Коли Ви прийдете до розробника з проханням розрахувати вартість продукту, то він просто не зможе цього зробити без чіткого технічного завдання. Історично так склалось, що у сфері розробки програмного забезпечення існує два типи компаній: компанії, хто обслуговують західних замовників, та компанії, які працюють всередині країни. Тож ця стаття буде корисною якраз для другого типу компаній, які ще не мають власного відділу розробки.
Не історична довідка
Технічні вимоги – це
Технічне завдання – це
Блок практичних питань
Після того, як сформувався процес розробки програмного забезпечення та стало очевидно, що програми створюються на основі запитів користувачів, на світ з’явились поняття «функціональні» та «нефункціональні вимоги». Про що вони?
Нефункціональні вимоги, – це набір тезисів, необхідний для оцінки кінцевого продукту, який має бути використаний для формування технічих завдань. Давайте розглянемо на прикладі, як це повинно відбуватись:
Так ми отримали п’ять конкретних історій з однієї нефункціональної вимоги. Погодьтесь, що порахувати вартість п’яти конкретних функцій значно простіше ніж одну абстрактну фразу.
В нашому житті технічні вимоги почали масово з’являтись після впровадження тендерних процедур в 2016 році. Цей документ мав пояснювати, на що будуть витрачені кошти. Якщо почитати Wikipedia, то це нормативний документ, що встановлює внутрішні технічні вимоги, яким повинна відповідати продукція, процес або послуга, та визначає процедури, за допомогою яких може бути встановлено, чи дотримані такі вимоги. Але оскільки ще до війни тендерний процес перетворився в картотеку договорняків, то і на технічні вимоги почали класти.
Оскільки я практична людина, і переношу свій практичний підхід на робочий процес в тому числі, то для мене має значення дві речі:
Оскільки ці питання залишаються для мене безкомпромісними, то я не бачу цінності технічних вимог в сучасному українському процесі розробки програмного забезпечення. Я часто задаюся питанням: «Що буде, якщо всі технічні вимоги водночас зникнуть?» І знаєте що? Нічого не зміниться. Ця сутність стала виключно бюрократичною.
Набір інструкцій для розробника, які описують Ваші очікування від нового функціоналу. І чим детальніші ці інструкції, тим кращий функціонал Ви отримаєте.
Стандартів можна знайти багато. Але на практиці 99% систем в Україні, – це набір простих сутностей: CRM- та ERP-системи, інтернет-магазини, сайти комунальних служб, і так далі. Будь-яка нова функція буде формуватись за наступним принципом: взяти дані з однієї таблиці, зробити з ними певні дії, і покласти в іншу таблицю. Варто наголосити, що ці принципи будуть єдиними для web-додатків, мобільних додатків, та desktop-додатків. Єдина різниця може бути в тому, що в деяких процесах дані обробляються автоматично по заданим правилам, а в інших, – користувачами.
Структура технічного завдання
В підготовці технічного завдання існує тільки одне правило: перш ніж починати писати, варто домовитись з командою, в якому саме вигляді потрібне технічне завдання. Адже не будемо забувати про те, що рівень команди може бути різний, і надлишкова деталізація буде тільки заважати.
Як буде виглядати робота без технічного завдання? Уявіть, що Ви режисер, який знімає новий фільм. Технічне завдання, – це Ваш сценарій. Чи можна зняти фільм без сценарію? Теоретично можна, але вартість такого фільму буде значно вищою, та ще й якість під питанням.
Скільки коштує технічне завдання? | Середня вартість аналітика на внутрішньому ринку 12$ на годину. Мої послуги коштуватимуть Вам 8$ на годину. Одразу назвати кінцеву цифру я не можу, але можу запропонувати Вам 2 години безкоштовної консультації, щоб оцінити масштаб робіт. |
Як прискорити процес написання технічних вимог / технічного завдання? | Ніяк. Є об’єктивна швидкість написання технічної документації. Або Ви купуєте послуги у чесної людини, або переплачуєте за ніщо. |
Практично і зрозуміло