Уявіть собі: ви вирішили побудувати собі палац. Провели невелике дослідження на ринку нерухомості, визначились із бюджетом, розмірами, архітектурою, матеріалами. Ви замовляєте у архітектора проект та наймаєте будівельників, робота пішла. Але за кілька місяців ваша життєва ситуація кардинально змінилася. Вам вже потрібен інший палац: набагато менше, набагато більше, або набагато дешевше.
Проект потрібно терміново скоригувати, але архітектор вимагає за це значну суму. Будівельники тим часом кажуть, що їм сказано копати від паркану і до обіду, поміняти заздалегідь затверджений план робіт буде непросто. Зрештою ви пускаєте все на самоплив і просто чекаєте завершення будівництва. А в день заселення з жахом розумієте, що готовий проект зовсім не схожий на шедевр архітектури, про який ви мріяли. Формально, всі обіцяні водоспади та арочні склепіння на місці, але належного враження не справляють.
Веб-розробка - теж своєрідне будівництво. Подібні неприємності трапляються у цій сфері частіше, ніж хотілося б. Для подолання проблеми в IT винайшли методологію SCRUM, яка має зробити розробку софту максимально передбачуваною. Ми не з чуток знаємо, що вона працює.
Основи SCRUM
Любителі американського футболу називають словом scrum здатність команди заволодіти ініціативою у грі та утримувати за собою м'яч. Подібне вимагає від спортсменів відмінної зіграності та здатності миттєво реагувати на ситуацію.
Жорсткі вертикалі ухвалення рішень не особливо прижилися в IT. Розробка рішень для бізнесу – це творчий процес, який народжується на стику ідей підприємців та досвіду розробників. Та й поведінку ринку прогнозувати складно.
Тому популярність набули принципів Agile-розробки. Вони свідчать, що готовність змінюватися важливіше «дотримання початкового плану», а працюючий продукт «важливіше за повну документацію».
Саме цих стовпах стоять методи SCRUM. У межах великих завдань розбиваються на малі і детально розписуються. Роботу ведуть невеликі колективи, зазвичай до 7 людина.
Розробка ведеться невеликими «марш-кидками» – спринтами. У нас тривалість спринту зазвичай становить 10-12 днів, його результатом майже завжди має бути якийсь завершений продукт, який можна показати стороні замовника. Це дозволяє клієнту проводити процес розробки.
SCRUM робить ставку на автономність та зіграність невеликих груп розробників. Як і в команді з регбі, гравці тут мають бути максимально сфокусовані на завданні та розуміти один одного без слів.
Переваги SCRUM для клієнта
Контрольованість
Розробка з лекал SCRUM максимально націлена на клієнта, замовник контролює продукт на всіх етапах розробки. В результаті всі залишаються задоволені - клієнт отримує максимально цінний для себе продукт, а кодер уникає зайвого стресу (як правило).
Можливість «на льоту» змінювати вимоги до проекту є клієнтам дуже привабливою. Іноді йдеться про зміну кольору кнопок на головному сайті, а іноді – про масштабний перегляд функціоналу чи технологій.
Розробники також можуть ініціювати зміни у беклогах та ТЗ, погоджуючи їх із клієнтом. Часом у процесі розробки стає ясно, що якісь технології та важливі функції було втрачено. Або навпаки, заявлений інструмент виявився марним.
Команда WEZOM за свій багаторічний досвід прийшла до того, що веде для клієнта відкриту звітність щодо проекту через електронні документи. Заводиться таблиця, до якої заносяться етапи проекту та терміни їх виконання, туди ж вирушають усі доопрацювання.
Ми починаємо роботу з того, що оцифровуємо запит клієнта та презентуємо його у максимально наочному вигляді, у формі mind map. Намагаємося показати прототипи або відповідні кейси з конкретними результатами.
За підсумками кожного етапу ми звітуємо перед клієнтом. Звичайною справою є мітинги сторони замовника (Product Owner) із командою розробки. За кожним замовником ми закріплюємо менеджера, який готовий відповідати на запитання у режимі 24/7.
Ітеративність
Ми віримо у ітеративний підхід до розробки. Це означає, що ми прагнемо якнайшвидше випустити мінімально цінний продукт (MVP), а потім планомірно розвивати його. Випробовувати нові рішення, «набивати шишки», враховувати побажання замовника. На кожному новому циклі розробки продукт зберігатиме стабільність та обростатиме новими функціями.
За такої розробки продукт постійно проходить випробування на свою життєздатність та відповідність бізнес-логіці, а ризики «обвалення» проекту знижуються до мінімуму. Розробники можуть випробувати переваги тих чи інших технологій та перевіряти свої гіпотези.
Швидкі результати
Техніка спринтів дає змогу отримати робочий продукт максимально швидко. Бізнес може швидко запустити сайт і почати продаж, а просунутий функціонал ми «прикрутимо» до нього пізніше.
Практика показує, що 20% функціональності сайту несуть у собі 80% вартості його відвідувачів. Модульна технологія дозволяє сфокусуватися на головному і підлаштовуватися під ситуацію ринку на ходу.
У практиці WEZOM є успішні приклади такого підходу. Скажімо, спочатку ми можемо створити для бізнесу інструмент e-commerce, потім інтегрувати його з CRM-системою, а надалі створити PWA-додаток. Розробка стає "конструктором", в який замовник може "грати" виходячи зі своїх завдань.
Стійкі терміни
Дедлайн – один із найстрашніших «звірів» у світі розробників. Щоб уникнути затягування термінів, ми починаємо роботу над проектом з досліджень, глибоко залучаємося до бізнес-замовника, ретельно все плануємо та завчасно збираємо дані.
Рух спринтами знижує ризик зриву термінів до мінімуму. У крайньому випадку такі зриви набагато простіше прогнозувати та контролювати.
Невже так все просто?
Важливо сказати, що SCRUM не такий і простий для замовника. Декому хочеться просто заплатити та забути про проект на кілька місяців, а потім отримати сайт своєї мрії. На жаль, практично такий підхід майже ніколи не працює.
Ми переконані, що створити максимально цінний продукт можна лише у комунікації із замовником. Команда розробки щаслива, коли вчасно отримує від клієнта потрібну інформацію та фідбек з виконаної роботи.
На кілька місяців клієнт стає нашим партнером та консультантом. Його досвід, знання та бачення відіграють у проекті дуже важливу роль.