У нас є великий (1200+ годин) веб-сайт, який має велику технічну заборгованість. В основному це викликано такими (звичайними) причинами.
- Кілька програмістів, які приходять та йдуть під час розробки.
- Зміна технічних характеристик під час розробки.
- Додано численні додаткові функціональні можливості (за короткий час).
Замовник хоче багато нових функцій, і це, в основному, зводиться до роботи над цим проектом щотижня протягом 10+ годин.
Через технічну заборгованість ми витрачаємо МНОГО годин на виправлення чи дослідження проблем, які зазвичай знаходять своє походження в одному з наступних:
- Безсоромний дурний клоп, який змушує людей плакати.
- Нова функція призводить до вищесказаного, оскільки ми не передбачили усіх місць, на які нова функція вплине.
- Деякі інші проблеми, з якими ми стикалися (переміщення сервера, оновлення)
У нас виникають проблеми щодня, і ми намагалися виконувати наступні дії, щоб припинити це:
- Створена технічна документація щодо імпорту, оплати та загальної роботи веб-сайту.
- Проведіть зустріч на початку тижня - обговоріть поточні проблеми чи вдосконалення та як їх вирішувати.
- Майте план-тест. Програміст A тест B, B тести C і C тести А. Тоді наш керівник проекту введе кілька тестів. Що стосується впливу функції, ми кидаємо її на постановочне середовище і даємо клієнту можливість перевірити себе.
Проблема полягає в тому, що проблеми продовжують виникати ... і ми якось не можемо впоратися з цим. Нові функції все ще викликають помилки, а старі помилки продовжують вітатися. Якось - можливо, через розмір проекту - ми, здається, не можемо впоратися з цим проектом.
Я припускаю, що є багато програмістів, які працюють над більшими проектами, ніж це. Ось чому я приходжу до свого питання:
Що ми можемо зробити, або що ви робите, щоб уникнути цих проблем на великих проектах?
Незначне редагування, додаткова інформація:
- Ми використовуємо контроль версій (SVN).
- У нас є процес розробки DTAP.