Співпраця із замовницею виявилася проблемною через низку організаційних і технічних труднощів.
На етапі попереднього обговорення мені відмовили в наданні доступу до коду, аргументуючи це тим, що раніше подібний доступ спричинив збій і відновлення з резервної копії. Через це я не мав змоги виконати код-рев’ю та адекватно оцінити обсяг робіт.
Після початку роботи виявилося, що код має дуже низьку якість, що значно вплинуло на терміни виконання.
Зокрема:
- Майже весь кастомний функціонал зосереджений у головному файлі теми WordPress (functions.php), обсягом майже 10 000 рядків.
- В коді не дотримано принципів DRY, OOP та стандартів WordPress.
- Відсутня структурованість, а зміна в одному місці вимагала тривалого часу на перевірку та пошук пов’язаних залежностей.
Окрім технічних проблем, були порушення домовленостей щодо технічного завдання.
Вже після старту проекту в ТЗ додавалися нові вимоги, що значно ускладнювало планування та виконання робіт. Наприклад:
- Спочатку вимога реалізувати AJAX-пошук у кабінеті користувача взагалі не згадувалася.
- Потім, в деталізації пункту ТЗ, вже після старту проекту, було описано як і які поля мають фільтруватися, та зазначено реалізувати кнопку скидання фільтрів, і наведено в приклад сторінку, де вона реалізована.
- Вже під час приймання цього пункту ТЗ було висунуто нову вимогу – реалізувати додатковий AJAX-функціонал, як на наведеній в приклад сторінці.
Також після завершення основних задач виникали додаткові правки, які не відповідали початковим вимогам, що ще більше затягувало процес закриття проекту.
З позитивного боку, замовниця завжди була на зв’язку, оперативно відповідала на запитання та уточнення щодо проекту.
Оцінка оплати – 5/10, оскільки фінальний обсяг робіт суттєво перевищив заявлений у початковому описі проекту.
Загалом співпраця була менш ефективною, ніж могла б бути за умов чітко сформованого ТЗ, тому що по більшості пунктів була доробка функціоналу по мірі його тестування.
Рекомендую майбутнім виконавцям узгодити фінальний варіант ТЗ перед початком проекту по якому буде звірятись виконана робота.