Особенности постановки задач при организации техподдержки сайта: взгляд программистов

Особенности постановки задач при организации техподдержки сайта: взгляд программистов

Встретились два программиста.

Один говорит: «У меня есть задача, но я не знаю, как ее решить».

Другой отвечает: «А у меня есть решение, но я не знаю, какую задачу решать».

Привет, друзья!

Меня зовут Александр, я тимлид веб-разработчиков в агентстве RACURS.

Каждый день группа разработки сталкивается с задачами по техподдержке сайтов. И поверьте, порой формулировки этих задач вызывают у программиста (и не только) нервный тик.

Представьте: вы, клиент, мечтаете о прекрасном веб-сайте, который будет приносить миллионы (ну хотя бы сотню-другую тысяч) рублей. Вы с блеском в глазах объясняете разработчику: «Мне нужен сайт как у Google, только лучше!».

Гениально, не правда ли? Теперь разработчик, счастливый от такой кристально ясной постановки задачи, может начать творить чудеса... Но, увы, он, скорее всего, будет долго выяснять, что вы имели в виду под словом «лучше».

А пока вы будете платить за бесконечные уточнения и переделки, ваш сайт, вместо того чтобы приносить прибыль, будет приносить только головную боль.

Давайте разберемся, как не надо ставить задачи и как нужно это делать, чтобы техподдержка работала как часы.

Пять кругов ада некорректной постановки задач,

или Что снится веб-разработчикам в кошмарах

1. «Сделайте красиво». Эта фраза — гимн абстракции и субъективизму. Красота, как известно, в глазах смотрящего. Для менеджера «красиво» может быть ярко-розовым фоном с мигающими баннерами, а для дизайнера — минимализмом в стиле швейцарской типографики. Результат? Бесконечные итерации правок, потерянные время и нервные клетки.

Особенности постановки задач при организации техподдержки сайта: взгляд программистов

2. «Ускорьте сайт». Еще один хит. Сайт — это сложная система, и причин медленной загрузки может быть множество. Просто сказать «ускорьте» — все равно что попросить механика починить машину. Предоставьте результаты анализа скорости загрузки (например, из Google PageSpeed Insights), укажите конкретные проблемные метрики и желаемые значения.

Особенности постановки задач при организации техподдержки сайта: взгляд программистов

3. «Страница не работает». Лаконично, но бесполезно. Какая страница? На каком устройстве? В каком браузере? Какие действия приводят к ошибке? Какое сообщение об ошибке появляется? Без этой информации программист превращается в слепого котенка в темной комнате.

Особенности постановки задач при организации техподдержки сайта: взгляд программистов

4. «Посмотрите, почему сайт упал». Без доступа к логам сервера, мониторингу и другим инструментам программист может только гадать на кофейной гуще. Предоставьте доступ к необходимой информации, и шансы на быстрое решение проблемы значительно возрастут.

Особенности постановки задач при организации техподдержки сайта: взгляд программистов

5. «Почините верстку». Где она сломалась? На каких устройствах? Скриншот поломки есть? Эта задача превращается в поиск иголки в стоге сена без металлоискателя. Программист может потратить часы на поиск ошибки, которую можно было бы найти за минуту, имея необходимую информацию.

Особенности постановки задач при организации техподдержки сайта: взгляд программистов

Примеры задач из программистского ада

Прекрасные мемы посмотрели, а теперь покажу, как такие задачи выглядят в реальной жизни.

1. Вроде бы типовая задача — добавить код подтверждения для «Яндекс Вебмастера».

Особенности постановки задач при организации техподдержки сайта: взгляд программистов

Срок по задаче есть — здесь все ок. А вот с телом задачи сложнее: что и куда нужно добавить в этом случае? Да, программист может найти, как называются файлы подтверждения, или повторно запросить собственно файл подтверждения у SEO-специалиста, но это дополнительные затраты времени. И возникает вопрос: кто должен оплачивать это время? Клиент? А что плохого он вам сделал? :)

Куда проще было бы просто прикрепить к задаче файл, который используют для валидации прав, и все. Выполнение заняло бы 3–5 минут максимум.

2. Еще пример: клиент силами другого подрядчика пытается обновить версию «Битрикса» для своего интернет-магазина и пришел к нам за консультацией.

Особенности постановки задач при организации техподдержки сайта: взгляд программистов

Все три поставленных в задаче вопроса риторические, особенно если учесть ряд нюансов:

  • У клиента три сайта. О каком из них речь?
  • Какие модули и как именно дорабатывает сторонняя команда?
  • Предсказать, «какие сложности могут возникнуть», в данном случае можно, только используя магический шар. Но, к сожалению, единственный участник «Битвы экстрасенсов» давно покинул нашу команду. В этой передаче уровень оплаты труда выше :) Нужно больше вводных: какие команды выполняются? какая у сервера базы данных версия? при каких именно этапах обновления осуществляются эти операции?
  • После каких именно процедур?

Совершенно очевидно: стоит как минимум организовать обсуждение, во время которого подсветить эти вопросы и понять, что именно требуется клиенту. Затем переформулировать задачу и поставить ее на оценку.

3. Небольшие правки на сайте:

Особенности постановки задач при организации техподдержки сайта: взгляд программистов

Вопросы опять же к телу задачи:

· Речь о том, что в мобильной версии кнопка «Купить» появляется только в самом конце, когда проскроллена вся страница. А когда должна? Программист должен сам это придумать?

· «И она неактивна». А что она должна делать, будучи активной?

· Где хотя бы один скриншот, чтобы понять, о чем речь?

Суммарно на задачу ушло более четырех часов, хотя при корректной постановке она заняла бы от силы полтора-два часа.

В общем, некорректная постановка задачи — это чудесный способ потратить кучу денег, времени и нервов, получив абсолютно не то, что вам нужно. Это искусство самосаботажа, доведенное до совершенства!

Семь ступеней к нирване от идеальной постановки задач, или Как сделать программиста счастливым

1. Четкое и подробное описание проблемы. Выглядит это так: на странице [URL страницы] в браузере [название браузера] на устройстве [вид устройства] при нажатии на кнопку [название кнопки] не открывается модальное окно, допустим.

2. Шаги для воспроизведения ошибки (если применимо). «1. Открыть страницу [URL страницы] в браузере [название браузера]. 2. Нажать на кнопку [название кнопки]».

3. Ожидаемый результат. «После нажатия на кнопку должно открываться модальное окно с формой обратной связи».

4. Прикрепленные файлы: скриншоты, видео, логи. Визуальное подтверждение проблемы значительно ускоряет процесс ее решения.

5. Доступы. Предоставьте программисту доступ к необходимым ресурсам: к админке сайта, FTP, базе данных, репозиторию кода.

6. Тестовые данные. Если задача связана с обработкой данных, предоставьте программисту тестовые данные для проверки.

7. Коммуникация. Будьте на связи, отвечайте на вопросы программиста, давайте фидбэк.

Как выглядят хорошо поставленные задачи

Рассмотрим несколько примеров корректной постановки задач. На приведенных скриншотах я скрыл персональные данные, поскольку важны именно аспекты постановки задач, а не содержание.

1. Задача от SEO-специалистов по изменению метатегов на нескольких страницах сайта:

Особенности постановки задач при организации техподдержки сайта: взгляд программистов

· Указаны адреса страниц.

· Приведены требуемые метатеги.

· Указан срок выполнения.

Программист быстро и четко выполнил задачу.

2. Добавление страницы на наш сайт:

Особенности постановки задач при организации техподдержки сайта: взгляд программистов

· Указан срок выполнения.

· Указаны блок и страница, куда нужно добавить информацию.

· Приведен пример со скриншотом, как это должно выглядеть.

· Приведены текстовые данные для размещения на странице.

Чего еще желать? :) Большой респект менеджерам, которые ставят задачи именно так.

3. Задачка посложнее — баг в системе «Битрикс24»:

Особенности постановки задач при организации техподдержки сайта: взгляд программистов
  • Указан сервис, в котором возникла проблема.
  • Описана проблема.
  • Приложены скриншоты.
  • Указан дедлайн.

Постановка вполне корректна — задача была выполнена с минимальными затратами времени. Нам не пришлось обращаться к менеджеру за уточнениями, поэтому было время даже кофе попить :)

Методология постановки задач в агентстве RACURS

В RACURS мы используем методологию SMART, чтобы ставить задачи в соответствии с критериями четкости, измеримости, достижимости, актуальности и ограниченности во времени. Это позволяет избежать недопонимания и гарантирует эффективное выполнение работ.

Что же такое SMART:

· Specific («конкретная»): задача должна быть четко сформулирована, без двусмысленностей.

· Measurable («измеримая»): должны быть четкие критерии, по которым можно оценить выполнение задачи.

· Achievable («достижимая»): задача должна быть реалистичной и выполнимой в заданные сроки.

· Relevant («актуальная»): задача должна быть важной и соответствовать целям проекта.

· Time-bound («ограниченная во времени»): должен быть четкий дедлайн.

Почему корректная постановка задач так важна

Фундамент эффективной работы — корректная постановка задач.

Она позволяет:

· Экономить время и деньги. Четко поставленная задача решается быстрее, с меньшими затратами времени и денег.

· Избегать ошибок и недопонимания. Подробное описание задачи минимизирует риск неправильной интерпретации.

· Повышать качество работы. Когда программист понимает, что от него требуется, он может сосредоточиться на решении задачи, а не гадать на кофейной гуще.

· Улучшать коммуникацию в команде. Четкая постановка задач способствует достижению взаимопонимания между менеджерами и разработчиками.

В RACURS мы знаем, как важно правильно сформулировать задачу, и поэтому вместе с вами рассмотрели, что, когда и где нужно сделать до того, как ставить задачу программистам.

Заключение

Корректная постановка задач разработчику — залог успешного сотрудничества.

Четкое техническое задание помогает экономить деньги, время (а время — это тоже деньги) и нервы (здоровье вообще бесценно) обеих сторон.

Мы стремимся к прозрачности и эффективности работ, ценим ваше время и поэтому стараемся формулировать задачи максимально понятно и конкретно.

А если вам нужна помощь с разработкой, SEO-продвижением сайта или интернет-магазина, обращайтесь — мы знаем, как делать свою работу хорошо! ;)

4646
77
11
11
15 комментариев

Чувствуется, что наболело)
Мемы огненные)

4

100%
думаю, это очень политкорректная версия текста

2

Ветеринар приходит к терапевту. Сел и молчит.

Т: Ну, на что жалуетесь?
В: Ха, так-то любой дурак диагноз поставит!

простите, музыка навеяла )

2
1

А что «сделайте красиво» не прокатит?)

1

вообще, всегда прокатывает, согласна!)

Посмотрел на все это и ушел делать сайт на Тильде , без программистов

1