Как убедить заказчика что нужны тесты
28 февраля 2020
«Как убедить заказчика что нужны тесты?»
В одном из чатов подняли такой вопрос. Не такой уж редкий.
Правильный ответ — «никак». Заказчику, если он сам не разработчик, не нужны ни тесты, ни красивый код, ни архитектура. Нужно быстро, не сильно дорого, чтобы работало правильно и не ломалось.
Тесты — способ сделать так, чтобы работало правильно и не ломалось. Один из способов. Можно, например, проверять руками и делать это каждый релиз.
На вопрос «писать ли мне тесты» заказчик, вероятнее всего, ответит, или подумает, «не вижу зачем мне нужны тесты» и будет прав. Ему не тесты нужны. Нужно чтобы работало и не ломалось.
Не нужно убеждать заказчика что тесты нужны, не нужно их отдельно продавать. Если тесты — оптимальный способ добиться желаемого результата, используйте.
Комментарии RSS по email OK
Отличная статья. Вот только зачем? Итак понятно что заказчику это не надо. Здесь совсем как с заголовками банальных новостных лент. Увидел заголовок, подумал: «Круто, сейчас узнаю как..». Наивный дурачок.
Ганджоба,
Написанные тесты нужны разработчику который этот код будет поддерживать в будующем. А это уже можно продать. Если заказчик собирается это как-то дальше использовать то имеет смысл доплатить 10+% за то что вы этот код сделаете поддерживаемым. Заказчик не хочет платить за одну программу как за две. О тестах заказчик задумается когда ему нужно будет качество.
Как поступаю я. Если проект новый, то фигачу по правилу- херак, херак и готово, но конечно смотрю чтоб основные правила соблюдались, чтоб потом можно было мене болезненно рефакторингом заниматься. Когда запускаешь проект в прод, сразу видно слабые места, архитектура проекта прослеживается, направления куда будет проект развиваться. Вот тогда я начинаю с введением нового функционала, все переписывать, тестами, по правилам и т.д. И заказчик самое главное доволен. А если заморачиваться с самого начала, то будет медленно, заказчик начнет пинать и можно тупо сгореть с проектом, да и вообще проект может не взлететь.
К каждому человеку есть свой подход. И есть разные заказчики. Есть те, кто понимает, что сбой несет убытки и есть те, кому важно сейчас запустить хоть как-то и что-то. Вторым говорить про тесты нет смысла, и навязывать их тем более. У вас сразу -987625263 к доверию и +987625263 к накалу отношений. Вы не сможете передать человеку свой опыт, вы не сможете ему показать мир вашими глазами. Человек должен сам ошибиться, должен сам оценить убытки, должен сам сделать выводы, вы не должны считать его деньги - это не ваше дело от слова совсем. И если для него эта ошибка (отсутствие тестов) станет существенной, то он сам будет больше прислушиваться к разработчику. Но для этого разработчику тоже нужно соблюдать некоторые моменты: быть открытым, делать что говорят, советовать и не навязывать, и т.п.
Если заказчик не хочет тесты - вы не должны их писать. Тем более скрыто как-то.
Василий, заказчик не понимает слова "тесты", но прекрасно понимает слово "качество".
@Sam, слово "качество" относительно. Каждый понимает по разному и от этого нельзя плясать.
Правильный ответ — «никак»