Заказчик желает веб-систему. Пишем ФТ, ТЗ, программируем, тестируем, размещаем, даем гарантии. Все хорошо. Но по истечении гарантийного срока что-то ломается. Причем, в части, наиболее критичной в аспекте бизнес-логики.
Заказчик сетует и обращается за помощью. Программист недоумевает, исправляет. Потом снова. Потом еще. Симптомы немного разнятся, но модуль всегда один и тот же.
Заказчик начинает, мягко говоря, нервничать.
Программист начинает, мягко говоря, нервничать.
Руководитель проекта нервничает больше всех, и настаивает на том, чтобы заказчик перешел в режим коммерческой техподдержки.
Я, вняв, пишу заказчику соответствующее предложение.
От этого предложения заказчик нервничает пуще программиста и ПМ’а, вместе взятых. Ему не нужна техподдержка, ему нужно решить только Одну проблему. Одну. Но – решить.
В итоге, выясняется, что беда в некорректных пользовательских данных. От этого модуль начинает периодически глючить. Вот, идиотизм-то, а! И вроде даже кто-то кому-то что-то где-то объяснял…
Заказчик требует (и получает) реквизиты суперадмина, будучи в полной уверенности, что проблемы мы создавали искусственно, дабы получить контракт на техподдержку.
Мораль до слез банальна, аж стыдно. Проверяйте на валидность данные, введенные пользователем. Всегда.