Корпоративная база данных: вопросы разработки и внедрения«Вот скажут - это ново... А это уже было в веках...» (Экклесиаст). Есть классическая книга, освещающая все эти вопросы: Фредерик Брукс «Мифический человеко-месяц или как создаются программные системы». Или, если угодно, Frederick P.Brooks, Jr. «The Mythical Man-Month. Essays on Software Engineering». Я же в этой статье рассматриваю частную проблему, но зато детальней: пишу только о базах данных. Мой опыт разработки корпоративных баз данных составил 3 года.И этот опыт, надеюсь, будет полезен моим читателям. Первое собеседование и получение заказаЭто, без преувеличения, главный этап работы. Именно от того, как вы примете заказ и оговорите условия, зависит, как будет протекать работа над ним. Главная проблема взаимоотношений с заказчиком базы данных в следующем. Я пойду дальше и стану утверждать, что на практике клиенты, даже вместе с инженерами-программистами, не в состоянии указать полно, строго и корректно точные требования к современному программному продукту, прежде чем будут созданы и опробованы какие-либо версии продукта, спецификации к которому они составляют» (Фредерик Брукс «Мифический человеко-месяц, или как создаются программные системы», глава 16). Вот главный подводный камень, на который налетают разработчики баз данных. Все дело в том, что классическая схема выполнения работ по заказу, базирующаяся на известной схеме «Согласование ТЗ - исполнение - сдача согласно ТЗ» в случае базы данных обнаруживает полную беспомощность. Когда начнется внедрение корпоративной базы данных - требования внести изменения посыплются, как из рога изобилия. Времени на согласование доп. соглашений уже не будет - все будет требоваться сегодня, сейчас. Вы скажете - это трудности заказчика? Дорогие коллеги - это и ваши трудности. Можно долго говорить, в чем они заключаются, но я здесь отмечу главную из них - ваш престиж. Мало кому покажется убедительным, что Вы все сделали правильно, но автоматизации не получилось. «Операция прошла успешно, но больной умер». Я выработал следующую схему выполнения заказа: Подведем итоги. Итак, для разработки «среднестатистической» корпоративной базы данных требуется: А согласится ли заказчик на указанные сроки и суммы?Сложный и больной вопрос. С одной стороны - его никак не устроит срок в семь месяцев. С другой - быстрей, увы, не получится. Но заказчик откажется в это верить. Давайте послушаем Брукса. «Для программиста, как и для повара, давление со стороны хозяина может определять запланированный срок завершения задачи, но не может определять время ее фактического завершения. Омлет, обещанный через две минуты, может успешно жариться, но если через две минуты он не готов, то у клиента есть две возможности - ждать еще или съесть его сырым. Тот же выбор встает и перед заказчиком программного обеспечения. Так что все зависит от Вашей ситуации и от Вашей твердости. Есть такой путь: назвать короткие сроки и соотв. цифру. Но в этом случае - знайте, на что идете - на бесплатную работу под окрики «быстрей, быстрей!» или... на потерю авторитета. Всегда ли заказчик прав?Нет, конечно! |