На правах стеба

Пришел к нам клиент с проектом по веб-программированию. Ориентировочный бюджет - 25-30 т.р. Клиент пришел с техническим заданием. Нужно было сделать простой сайт о двадцати страницах для компании, занимающейся продажей товаров. Изначально речь шла о нескольких типовых функциональных модулях, вот структура сайта:

1. О компании
Общая информация
Партнеры
Контактная информация

2. Новости
Архив
Подписка на новостные рассылки

3. Где купить
Москва
Московская область
Регионы

4. Вакансии
Заполнить анкету

5. Форум

6. FAQ

7. Обратная связь

Ничего не предвещало беды. И все было бы замечательно - мы сделали бы хороший сайт по этой структуре за 30 т.р. - если бы не предоставленное заказчиком ТЗ. Задание на проект составлял, видимо, человек с больным воображением и хотел подчеркнуть свое знание веб-технологий.

Итак, чего же НЕ ДОЛЖНО БЫТЬ В ТЗ ПРОЕКТА ПО РАЗРАБОТКЕ ПРОСТОГО САЙТА ДЛЯ ОРГАНИЗАЦИИ ЗА 30 т.р. и менее:

1.

Доступ к административной зоне осуществляется посредством браузера (версии браузера указаны в разделе «Требования к Web-системе») с использованием SSL.

(Ага, и шифрования на основе RSA)

2.

Администратору должна быть предоставлена возможность:
Управления универсальным каталогом;
[...]

Модуль управления универсальным каталогом - позволяет создать и управлять любой древовидной структурой данных на сайте, например каталогом продукции.

3.

Модуль управления дизайном (шаблонами) - предназначен для управления используемыми на ресурсе XSLT-шаблонами отображения страниц ресурса и их элементов.

(Во-первых - не нужно; во-вторых - затратно)

4.

Модуль управления интерактивными формами - предназначен для создания любого вида интерактивных форм на сайте и отправки сообщений по e-mail.

(Любого: GET или POST... или когда два поля текстовых и капча, или когда результат должен на почту отправляться, или... только за этот модуль я бы взял 15 т.р. и не ошибся)

5.

Модуль протоколирования изменений, производимых в административной зоне - позволяет регистрировать действия всех пользователей в системе с возможностью дальнейшего просмотра лог-файлов. (ну-ну, думаю, что этот модуль ставится только если идет в комплекте с CMS)

[...]

Информация о действиях пользователя не может быть удалена (разумеется)

6.

Пользователь должен наследовать права группы, членом которой он является

[...]

Должна присутствовать функция блокировки пользователя путем переноса пользователя в специально выделенную группу (вот дорастете до уровня википедии, тогда и будете думать о привилегиях пользователя; на корпоративном сайте эта задача должна решаться на другом уровне, далеком от компьютера)

7. Моё любимое:

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

8. Плюс ко всему необходимо написать и предоставить 4 (!) руководства:

  • руководство администратора;
  • руководство разработчика;
  • руководство по установке системы;
  • руководство по разработке новых элементов системы.

А еще в ТЗ был пункт № 8 "Дополнительные требования". Заказчик сказал, что эти требования сыроваты, поэтому разбирать их мы не будем - это апогей нездоровой фантазии маркетолога, которому неделю назад показали возможности сети Интернет.

Даже врагу не пожелаю подписаться под таким техническим заданием.