Во времена моей бытности разработчиком АСУ (было и такое) старшие и умудренные опытом товарищи вбивали мне в голову одну не хитрую мысль: до начала разработки ТЗ, не говоря уже о кодировании надо уточнить следующие вопросы:
- Цели работы программы.
- Перечень пользователей программы.
- Нормативная (правовая, справочная) база, на которую опираются процессы, алгоритмизируемые в программе.
- Возможность и необходимость дальнейшего развития программы.
- Контактное лицо, уполномоченное решать все вопросы от лица заказчика.
- Наличие материалов, которые есть или заказчик планирует подготовить для использования в программе.
И если цель программы выясняется довольно часто, то до перечня пользователей на этапе «до ТЗ» доходит в лучшем случае 1 из 3, а до нормативной базы, такое впечатление, не доходит никто.
И появляются различного рода «электронные дневники», СКУД для школы, что бы любой кто представится родителем, мог зайдя на сайт узнать в школе ли ребёнок и когда он покидает школу (расписание уроков), не говоря уже о таких «прозаических» вещах, как попытка составления полного досье в HRMсистемах или при регистрации на некоторых сайтах…
IMHO, пришло время включать в команду разработчиков ПО юриста. Иначе потом заказчику/пользователю приходится платить за исправление ошибок несоответствию местному законодательству и иногда существенно большие суммы, чем стоимость самого ПО…