Груминг заголовков
(Из ленты 255 ступеней)
Танк Тигр (57 тонн) можно завести ручным стартером (на ютубе есть видео). Это тяжело. Провернуть вручную сам движок – здоровья не хватит. Поэтому сначала раскручивают тяжелый маховик. Идет тяжело, скорость вращения минимальна. Оборот, еще оборот, еще десять оборотов, еще. Быстрее, быстрее. Потом переключаем маховик на двигатель. И движок заводится. Если переключить маховик слишком рано – ничего не получится. И все начинать сначала. Если пойти передохнуть – маховик остановится. И все начинать сначала. Оборот за оборотом, тяжеленную неподатливую тушу маховика. Но если не раскрутить – движок не заведется и танк останется неподвижной, а потому крайне уязвимой мишенью. Хорошо бронированной, с отличной пушкой, но мишенью. Поэтому крути маховик. Крути. И не останавливайся. Пока не наберешь нужный запас энергии.
Вот также с внедрением многих практик в процесс разработки ПО. Одна из ключевых практик – приведение заголовков задач в трекере в читаемый вид. Не “Логин”, “Некорректный заказ”, “Программа не работает корректно”, “Приборы 300″, — а что-нибудь более ласкающее взгляд. Небольшое отступление. Есть мнение и не только мое, что эту практику обязательно нужно внедрить до внедрения написания постановки задачи (требований / ТЗ …). Все, всегда пытаются сделать наоборот. С известным заранее результатом. Недавно услышал что практика причесывания заголовков называется «Груминг». Более пятнадцати лет этому учу, а теперь узнал, как называется.
Ладно, хватит лирики. Работаю со стажерами. Вообще, любой нанятый сотрудник должен проходить стажировку (адаптацию / онбординг). Но здесь действительно стажеры. Разбираем написание заголовков. Все остальное тоже разбираем: декомпозицию, составление читаемого описания, классификацию, … Но это не так интересно. Нужны заголовки. Нужны для сессий планирования состава спринтов. Нужны для PlaningPoker. Для оперативного управления нужны.
Заголовок: Валидация поля Телефон
Э-э-э…
— Штурман приборы?
— 300.
— Что 300?!?!
— А что приборы?
Никто не знает, что означает этот заголовок. И означать он может что угодно. Например, что валидация не нужна. Или нужна, но не очень. Надо лезть в описание. И что, на каждом совещание все снова будут лезть в описание? И кому потом отдать задачу? Фронтэндеру или программисту серверной части?
Описание:
Сейчас на странице “Оформление заказа” оформить заказ можно только если в поле “Телефон” введен российский номер. Клиент пытался ввести белорусский номер телефона, из-за ошибки “Неверно введен номер телефона”, не смог оформить заказ.
Решение на страницах:
“Оформление заказа”
“Регистрация”
“Заказать звонок”
ЛК “Изменить данные”
Убрать семерку из маски поля “Телефон”
Стандартная проблема. Хотели, как лучше. А получили как на всех банкоматах. И на белорусский номер я денег кинуть не могу. Потому, что хотели, как лучше.
А заголовок… Невразумительный заголовок. Но вот прямо в описании есть примерно то, что можно использовать вместо текущего заголовка!
Убрать семерку из маски поля “Телефон”
Поэтому совет. Никогда не пишите заголовок дефекта, не описав дефект полностью. Сначала описание, потом заголовок. Лайфхак: «С письмами делайте тоже самое. Сначала тело письма, потом конверт.»
Первое преобразование выполнили. Нашли смысл проблемы. С этим заголовком можно начинать работать.
Второе преобразование. Нужно преобразовать описание решения в описание проблемы. Не стоит тестировщику-стажеру говорить опытному программисту что и, главное, как делать. Нет, если программист действительно опытный (20+ лет опыта) он усмехнется, похлопает стажера по плечу и попросит прояснить правильно ли он, программист понимает задачу. А вот с молодыми программистами могут быть проблемы. Они вполне могут начать придумывать куда тестировщику идти и чем там заниматься. Поэтому. Не надо тестировщикам, пока они не завоевали уважение программистов описывать решение проблемы. Исключение – на такой формулировке настаивает заказчик.
Второе преобразование:
- Убрать семерку из маски поля Телефон – описание что и как делать
- Разрешить вводить иные коды, кроме +7(Россия) для телефонов – убрали «как»
- На всех страницах нельзя ввести номер телефона не Российский – теперь это не описание решения, а описание проблемы
Отлично! «Еще десять тысяч ведер и золотой ключик у нас в кармане!»
Теперь играем с текстом. Лишние слова убрать, нужные добавить.
- Клиент не может ввести номер телефона отличный от РФ
- Клиент не может ввести номер телефона не российский
- На всех страницах нельзя ввести номер телефона не российский
- На всех формах нельзя ввести номер телефона не российский. Например, белорусский номер телефона.
Да, переписываем. Да, много раз. Строка за строкой. В блокноте. Или ворде. Или в гуглдоксе. Когда-то давно я «ставил руку» и точно также переписывал почти все свои заголовки по 3-5 раз. Много месяцев. А потом переписывал заголовки своих сотрудников. И переписал их в итоге несколько тысяч.
Первый оборот маховика самый тяжелый Застывшая смазка сводит на нет усилия рук. Нужно вложиться всем телом. Повиснуть на стартере. Рывок, еще рывок. Пошел! Медленно, до обидного медленно.
И осталось последнее преобразование. Перейти от джамшутовского к языку Чехова и Булгакова. Нужно выстроить слова в нужной последовательности и провести согласование слов.
Ввод не российского номера телефона недоступен на всех формах, где требуется ввод номера телефона
Бинго! С этим можно работать. Этот заголовок можно улучшить, но нас ждут еще десятки других, непричесанных заголовков.
Итого. Один заголовок – полчаса.
Вначале маховик крутится очень медленно.
Завтра. Завтра будет тоже самое. Но два заголовка. И так недель 6-12. Каждый день. Остановишься – маховик потеряет инерцию. Придется начинать все сначала. А потом настанет день, когда ты просмотришь дюжину заведенных заголовков, внесешь всего пару правок, вздохнешь и скажешь: «Все, дальше сами. Перья выросли.» Дальше у них будут их ученики. Возможно. И мотор будет работать.
Многие скажут: «Но это же десятки часов в месяц суммарно! Это очень дорого.» Это дорого. Это вложение. Одно из самых выгодных вложений. Вложений в создание хорошего реестра задач. Нет реестра задач – нельзя управлять. Есть плохой реестр – можно управлять, но плохо. Обычно РП-шник озверев от неохватной массы непонятных задач просто бросает управление. «Будем делать чего-нибудь, как-нибудь. Получим что-нибудь.» Всегда сначала ставится учет (реестр задач) и только потом можно поставить управление. А скрам, там или prince2 – дело десятое. Нет хорошего реестра задач, ни то, ни другое не поедет.
Не раскрутишь маховик и заглохший танк останется стоять посреди поля. Хорошо бронированный. С отличной пушкой восемь-восемь. Прекрасная мишень для противотанковых средств противника.
Те, кто играли в «танчики», знают: «Поставили на каток (сбили гусеницу) – ты умер.»