Привіт, ми молода, але дуже амбіційна команда розробників програмного забезпечення GPO Technologies, проте вже маємо на своєму рахунку кілька проектів (можна переглянути у вкладці сайту «Наші проекти»). З початком нашої роботи виникало багато питань зі сторони замовників щодо того, як ми працюємо та які пріоритети ставимо при початковому етапі роботи з проектом. Ми вирішили, що доцільним буде написати про це, адже кожна команда має свої методи роботи з клієнтами, які, в основному, спираються на їхній досвід.
Що ж, почнемо з методик, які ми використовуємо у своїй роботі. Сьогодні їх є безліч і кожен вибирає для себе ту, яка найбільш зручна та задовольняє всі потреби в роботі. Ми для себе також обрали, на нашу думку, найоптимальніші — Agile та Scrum.
Agile характеризує себе, як гнучка розробка та засіб для підвищення продуктивності розробників програмного забезпечення. Головним принципом даної розробки є співпраця між багатофункціональними командами, які здатні самоорганізовуватись, а також співпраця із замовником. Багато методологій, які є на сьогодні, не враховують один із важливих чинників роботи над проектом — це співпраця з замовником.
Адже при безпосередньому спілкування з клієнтом можна швидше знайти рішення проблем, які можуть виникнути, чи швидше закінчити розробку, зрозумівши, що саме хоче замовник (це питання досить актуальне, тому що прийшовши до розробників клієнт не завжди до кінця розуміє, який продукт він хоче отримати в результаті та які його кінцеві функції), а також зменшити обсяг письмової документації, що дозволить більше часу приділити саме розробці проекту. Ми намагаємось поділити проект на короткі етапи, що допомагає пришвидшити запуск проекту та обов’язково перевіряємо їх за допомогою тестування.
Scrum ми використовуємо як один з підходів управління проектами, адже, він чітко робить акцент на якісному контролі процесу розробки. У кожного розробника є чітко визначена роль (тобто кожен розробник має обов’язки та завдання, які він має виконати протягом певного терміну). Завдання виконуються за пріоритетністю.
а з чого ж все таки розпочинається проект? В першу чергу для запуску проекту потрібне Технічне завдання – це документ, в основі якого лежать вимоги, сформульовані на зрозумілій для клієнта мові. Для того щоб сформувати Технічне завдання потрібно зібрати інформацію про те, як бачить замовник кінцевий результат (тобто, що він хоче отримати при завершенні розробки). Далі його потрібно структурувати по розділах. Кожен проект буде мати власне технічне завдання, яке буде відрізнятись від попереднього, але можна виділити основні розділи документу:
-
загальні відомості про проект;
-
призначення і цілі створення (розвитку) проекту;
-
характеристика проекту;
-
основні вимоги до проекту;
-
склад і зміст робіт зі створення проекту;
-
порядок контролю та приймання проекту;
-
вимоги до складу та змісту робіт з підготовки проекту до введення в експлуатацію;
-
вимоги до документування.
Також важливим аспектом роботи є формування команди проекту, як зі сторони замовника, так і зі сторони виконавця. Від цього буде також залежати успіх проекту, адже, якщо зі сторони замовника склад робочої групи буде постійно змінюватись, або не буде зацікавлений в реалізації проекту, то результату доведеться чекати дуже довго, теж стосується і виконавця.
Отже, ми описали головні аспекти роботи з клієнтами, звичайно є ще безліч нюансів, які випливають коли починається робота, але ми завжди знаходимо спільне рішення.