Каждый проект, независимо от сложности и объема работ, необходимых для его выполнения, проходит в своем развитии определенные состояния: от состояния, когда «проекта еще нет», до состояния, когда «проекта уже нет». Совокупность ступеней развития от возникновения идеи до полного завершения проекта принято разделять на фазы (стадии, этапы).
В определении количества фаз и их содержания имеются некоторые отличия, поскольку эти характеристики во многом зависят от условий осуществления конкретного проекта и опыта основных участников. Тем не менее логика и основное содержание процесса разработки информационной системы почти во всех случаях являются общими.
Можно выделить следующие фазы развития информационной системы:
? формирование концепции;
? подготовка технического задания;
? проектирование; О разработка;
? ввод системы в эксплуатацию. Рассмотрим каждую из них более подробно.
Концептуальная фаза
Главным содержанием работ на концептуальной фазе является определение проекта, разработка его концепции, включающая:
? формирование идеи, постановку целей;
? формирование ключевой команды проекта;
? изучение мотивации и требований заказчика и других участников;
? сбор исходных данных и анализ существующего состояния;
? определение основных требований и ограничений, требуемых материальных, финансовых и трудовых ресурсов;
? сравнительную оценку альтернатив;
? представление предложений, их экспертизу и утверждение.
Подготовка технического предложения
Главным содержанием фазы подготовки технического предложения является уточнение технического предложения в ходе переговоров с заказчиком о заключении контракта. Общее содержание работ этой фазы:
? разработка основного содержания, базовой структуры проекта;
? разработка и утверждение технического задания;
? планирование, декомпозиция базовой структурной модели проекта;
? составление сметы и бюджета проекта, определение потребности в ресурсах;
? разработка календарных планов и укрупненных графиков работ;
? подписание контракта с заказчиком;
? ввод в действие средств коммуникации участников проекта и средств контроля за ходом работ.
Проектирование
На фазе проектирования определяются подсистемы, их взаимосвязи, выбираются наиболее эффективные способы выполнения проекта и использования ресурсов. Характерные работы этой фазы:
? выполнение базовых проектных работ;
? разработка частных технических заданий;
? выполнение концептуального проектирования;
? составление технических спецификаций и инструкций;
? представление проектной разработки, экспертиза и утверждение.
Разработка
На фазе разработки производятся координация и оперативный контроль работ по проекту, осуществляется изготовление подсистем, их объединение и тестирование. Основное содержание:
? выполнение работ по разработке программного обеспечения;
? подготовка к внедрению системы;
? контроль и регулирование основных показателей проекта.
Ввод системы в эксплуатацию
На фазе ввода системы в эксплуатацию проводятся испытания, идет опытная эксплуатация системы в реальных условиях, ведутся переговоры о результатах выполнения проекта и о возможных новых контрактах. Основные виды работ:
? комплексные испытания;
? подготовка кадров для эксплуатации создаваемой системы;
? подготовка рабочей документации, сдача системы заказчику и ввод ее в эксплуатацию;
? сопровождение, поддержка, сервисное обслуживание;
? оценка результатов проекта и подготовка итоговых документов;
? разрешение конфликтных ситуаций и закрытие работ по проекту;
? накопление опытных данных для последующих проектов, анализ опыта, состояния, определение направлений развития.
Следует иметь в виду, что на обнаружение ошибок, допущенных на стадии системного проектирования, расходуется примерно в два раза больше времени, чем на последующих фазах, а их исправление обходится в пять раз дороже. Поэтому на начальных стадиях проекта разработку следует выполнять особенно тщательно. Наиболее часто на начальных фазах допускаются следующие ошибки:
? ошибки в определении интересов заказчика;
? концентрация на маловажных, сторонних интересах;
? неправильная интерпретация исходной задачи;
? неправильное или недостаточное понимание деталей;
? неполнота функциональных спецификаций (системных требований);
? ошибки в определении требуемых ресурсов и сроков;
? редкая проверка на согласованность этапов и отсутствие контроля со стороны заказчика (нет привлечения заказчика).