Постановка задачи, анализПостановка задачи, является тем, что у заказчика обычно описывается кратким словом «Хочу». На практике, вытягивание из заказчика этого «хочу» является одним из самых сложных и ответственных моментов при разработке ПО. Именно из за некачественного анализа задачи, затягиваются сроки разработки, увеличивается затратный бюджет проекта и нередко проект терпит крах. Это обычно многократный процесс интервьюирования представителей заказчика, результатом которого является примерный список основных требований, формирование эскизов экранов, прототипов разрабатываемого ПО и сценариев всех процессов выполняемых задач. Практически бесполезно, да порой и неэффективно требовать у заказчика готового технического задания на разработку. Это обычно делается собственными аналитиками, цель которых, вытянуть из заказчика максимум информации и подготовить на утверждение систематизирующий всю собранную информацию документ. Даже если заказчик представляет такой документ, то следует провести данную работу до окончательного утверждения технического задания, так как заказчик иногда упускает некоторые важные мелочи, которые для него являются само собой разумеющимися, но не очевидными для разработчиков, которые не являются специалистами в данной предметной области. Хочется подчеркнуть, что интервьюирование должно проходить многократно, после обработки результатов предыдущих бесед. К очередной встрече с заказчиком надо тщательно готовиться. В конечном счете, не должно быть недопонимания решаемой задачи, все нюансы должны быть обговорены. Несмотря на то, что при разработке современных систем используется многофазный итерационный метод разработки ПО, следует в обязательном случае фиксировать состояние каждой фазы разработки соответствующими документами. В случае, если в процессе разработки будут выявлены новые требования, то вы должны быть защищены, с последующим пересмотром бюджета и сроков проекта. В противном случае вам грозит каждый раз переделывать проект в соответствии с новыми пожеланиями заказчика за те же деньги. И этот процесс может затянуться на неопределенно большой срок. 1.1. Предварительные требования
|