Найти в Дзене

Что значит фраза программиста: “задача готова” ?

В зависимости от компании, готовность задачи может определяться как:

⁃ Подготовил пулреквест
⁃ Передал тестировщикам
⁃ Влил в основную ветку
⁃ Выкатил на продакшен

Большинство мест в которых я работал как программист, под готовностью понимали первые три пункта в разных вариациях. Я в этом не видел никаких проблем, до тех пока не случилось две вещи.

Первое я начал интересоваться процессами, познакомился с канбаном, дао тойоты, теорией ограничений и так далее. Тогда стало понятно, что задача которую сделали, но не отгрузили (выкатили в прод), это проблема, так как пока задача висит, ситуация может поменяться и код придется допиливать. Программист в это время уже занят другим и возвращаться обратно ему будет сложно, плюс потраченное время на вспомнить контекст. Остальные же просто не учитывают сделанные изменения в своей работе и при слиянии мы можем получить серьезные конфликты.

Второе, у меня появился собственный бизнес и я увидел что любая задача, которая “сделана”, но ей никто не пользуется, на самом деле является пустой тратой денег. Не важно что она лежит в ветке, важно что это не приносит никакой пользы бизнесу. Особенно это бьет по задачам, которые в итоге зависают на выходные или, что еще хуже, на праздники. Представьте что мы сделали важное изменение перед новогодними, но не задеплоили. Получается что 10 дней потеряны у нас ни аналитики, ни эффекта.

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

Исправить эту ситуацию оказалось очень просто. Достаточно поменять семантику слова готовность. Done в наших досках означает что задача уже выкачена и ее результатами пользуются. В таком случае у программистов свербит, что надо приложить усилия и довести ее до конца.

p.s. А что значит “задача готова” в вашем проекте и хорошо ли это работает?
1 минута