Будучи компанією з веб-розробки, ми працюємо з веб-проектами щодня і можемо багато про це розповісти. Хочемо розвіяти міфи проект-менеджементу і надати вам більше розуміння того, як ми управляємо Drupal-проектами та як керуватимемо вашими.
Перед початком будь-якого проекту ПМ повинен вирішити: Яку методику управління проектами обрати? Яка найбільш підходить для конкретного випадку? Ми використовуємо різні підходи в нашій практиці, базуючи наш вибір на масштабі та складності проекту, а також ціновій моделі. У цій статті ми зосередимось на Agile, який є більш гнучким, ніж Waterfall. Багато бізнес-гігантів також обожнюють цю методологію. Наприклад, Agile використовується компаніями Apple та Philips, Nokia та Intel, Microsoft та Exigen Services. Ми опишемо, як організовуємо свою роботу відповідно до принципів Agile, як використовуємо Kanban дошки і Scrum спринти.
Оскільки ця методологія передбачає залучення клієнтів та особисте спілкування між зацікавленими сторонами та розробниками протягом усього процесу, ця стаття допоможе дізнатись, чого вам слід очікувати, якщо ви збираєтеся найняти нашу команду веб-розробників для роботи над вашим великомасштабним та цікавим проектом.
Етапи розробки Scrum-проекту
Беклог продукту
Перелік функцій веб-ресурсу, які слід реалізувати в результаті всього процесу веб-розробки називається беклогом продукту (product backlog). Кожен елемент списку називається історією користувача (user story) та має унікальний ідентифікаційний номер.
Оцінка спринта і беклог спринта
Спринт (sprint) є основною частиною процесу Scrum веб-розробки. Це повторюваний робочий цикл, який може тривати від тижня до місяця. Визначаючи тривалість і ціну, варто враховувати ризики як переоцінки, так і недооцінки спринта, тому ми намагаємося знайти золоту середину.
Після оцінки Scrum-команда створює беклог спринта (sprint backlog), грунтуючись на user story, які повинні бути завершені до кінця спринта.
Дошка завдань
Для відстеження робочого процесу ми створюємо дошку, використовуючи сервіси Jira або Teamwork. Кожна user story повинна проходити кілька етапів, візуалізованих як такі стовпчики таблиці: «Що зробити», «В процесі роботи», «Тестуванняі» і, нарешті, «Готово».
Scrum наради
Щоденні Scrum-церемонії дозволяють контролювати прогрес проекту. Наприклад, backlog grooming слугує для уточнення user story та уникнення непорозумінь. Під час stand-up кожен член команди розповідає, що зробив, з якими проблемами зіткнувся і які завдання робитиме далі. Щоденні зустрічі команди допомагають краще зрозуміти поточну ситуацію і побачити, які зміни необхідні і як налаштувати подальший робочий процес відповідно до щойно отриманої інформації.
Тестування
Як зазначалося вище, "Тестування якості" є одним зі стовпців таблиці, обов'язковий для кожної user story. Оскільки і клієнт, і кінцеві користувачі зацікавлені в повністю функціонуючому веб-продукті, QA має важливе значення. Тестування, проведене у кожному спринті, дозволяє виявити можливі баги та позбутися їх до випуску продукту.
Демонстрація продукту
Після тестування відбувається demo — демонстрація результатів спринта, а саме готової автономної частини продукту. Замовник, якому презентується певний зроблений та протестований функціонал, каже, чи в правильному напрямку рухається команда, висловлює свої побажання щодо подальших змін в проекті.
Ретроспектива
Заключний, але не менш важливий елемент спринту є ретроспектива (retrospective). Це так звана робота над помилками, яка підсумовує результати спринту і забезпечує зворотній зв’язок. Ми використовуємо Burndown діаграми, щоб візуалізувати відставання чи випередження та проаналізувати причини відхилення від плану. Знання того, як робити ретроспективу правильно, дозволяє уникнути тих самих помилок на наступних спринтах і тим самим оптимізувати весь процес веб-розробки.
Ітерація
Коли один спринт закінчується, ми переходимо до планування наступного. Ітеративність є відмінною особливістю спринтів. Цей етап проекту повторюється доти, доки не будуть опрацьовані всі історії користувача. Результатом кожного спринта є потенційний приріст продукту. Після того, як завершення останнього спринта, готовий продукт демонструється зацікавленим сторонам.
Ось, як ми керуємо Agile-проектами, використовуючи елементи Scrum для задоволення потреб великих проектів. Якщо у вас є ідея щодо довгострокового процесу розробки, наші спеціалісти втілять вашу мрію, лише дайте нам знати.