IT Сфера
 

Методологии разработки программного обеспечения

В компании «IT Сфера» используется разные методологии разработки ПО для разных проектов, в зависимости от требований заказчика:

  • «водопад»;
  • собственная итерационная;
  • собственная гибкая (Agile) методология.

К примеру, для небольших проектов, рассчитанных  на 2-3 недели работы программиста, используется классическая каскадная модель («водопад»).

Каскадная модель предполагает последовательно расположенные этапы, которые полностью реализуются до начала работы над каждым следующим, при этом этапы не пересекаются по времени:

  • проектирование;
  • разработка;
  • тестирование;
  • исправление найденных ошибок;
  • внедрение.

Каскадная модель является классической, ее яркие представители -  стандарты ISO и CMM. «Водопад» имеет ряд недостатков, которые мешают использовать его в средних и крупных проектах, поэтому в большинстве проектов используется итерационная («спиральная») модель разработки, классические представители которой - Rational Unified Process (RUP) и Microsoft Solutions Framework (MSF). Данные методологии подразделяют процесс разработки программного обеспечения на спирали, или итерации. Результат фиксируется после каждой итерации, позволяя заказчику и разработчику быть всегда в курсе процесса и результата разработки.

Данные методологии также не идеальны, сочетают как положительные, так и отрицательные качества. Например, главными неудобствами RUP и MSF является их «тяжеловесность» и ориентация на крупные организации.

Поэтому в компании «IT Сфера» используется собственная итерационная методология разработки программного обеспечения.

Процесс разработки состоит из последовательно расположенных этапов (как и «водопад») в пределах одной итерации, анализ результата осуществляется в конце итерации, и лишь затем инициируется новая итерация. В каждой итерации исправление ошибок происходит как в процессе программирования (unit-тестирование), так и на этапе тестирования. Каждый этап при необходимости может пересекаться по времени с другими этапами.

Основа успеха разработки – качественный анализ требований заказчика и проектирование системы до начала работы. В процессе разработки специалисты, задействованные в проекте, проводят совещания по ходу работ, особое внимание уделяя совещаниям и анализу до начала этапа разработки. Программисты предоставляют начальнику отдела, а также менеджеру проекта структурную схему проекта в формате Microsoft Visio. Самым первым этапом работ по проекту является создание всего интерфейса программного продукта, который утверждает заказчик. Таким образом, достигается наилучшее понимание требований заказчика программистами, так как заказчик понимает гораздо лучше логику продукта и в процессе утверждения интерфейса может внести правки как в сам интерфейс, так и в логику работы приложения.

Проектирование программного продукта происходит до начала работ. Для этого менеджер проекта изучает функциональные и технические требования заказчика, составляет подробное техническое задание (ТЗ) и предоставляет схемы работы программного продукта в формате Microsoft Visio. Впоследствии заказчик изучает написанное ТЗ и утверждает его.

В процессе разработки программного обеспечения со стороны IT Сферы задействуются как минимум 3 человека:

  • менеджер проекта, отвечающий за реализацию и успех всего проекта;
  • программист/программисты (в том числе lead developer), отвечающие за саму разработку ПО;
  • тестировщик, отвечающий за качество программного продукта.

Весьма часто в проект дополнительно привлекаются бизнес-аналитики компании, которые анализируют существующие бизнес-процессы, для отображения которых используется язык UML (используемое ПО – MagicDraw).

Функциональные обязанности четко разделены, но это не означает, что они не пересекаются. Так, например, за тестирование программного продукта отвечают как минимум три человека: непосредственно тестировщик, программист, который проводит unit-тесты и менеджер проекта, осуществляющий финальное функциональное тестирование продукта на его соответствие ТЗ.

Основной методологией тестирования программных продуктов является метод, позаимствованный из гибких методологий, в частности экстремального программирования, - Tested Driven Development (разработка через тестирование). Покрытие unit-тестами составляет 50-60% кода.

Данная итерационная методология является основной используемой в компании. Однако  в ряде случаев заказчик не может потратить много времени на составление подробнейшего ТЗ, его проработку и утверждение (обычно это занимает от 15 рабочих дней и больше, в зависимости от объёмов работ). В таких случаях мы предлагаем разработку программного обеспечения с использованием собственной гибкой методологии (Agile). Она во многом похожа на предыдущую, но составление технического задания идёт параллельно с разработкой (спецификации к ТЗ и договору), что позволяет сократить время разработки, но увеличивает трудозатраты и соответственно итоговую стоимость работ.

Выбор методологии разработки для конкретного проекта зависит от предъявляемых требований.



На главную Контакты Карта сайта
О компании
Ответы на вопросы
Услуги
Контакты
Создание веб-сайтов

Разработка программного обеспечения

 

ПОСЛЕДНИЕ НОВОСТИ
01.10.2009
???????? "IT ?????" ?????????? ? ?????????? ????? ???????? "????????? ????", ??????? ????????? ????? ????????, ????? ? ??????????? ???????? ???????.
14.09.2009
? 14 ???????? 2009 ???? ????????? ?????: ??? ?????? ????????? ????? ??????? ????????? ? ???????! ??????????? ?? ???????? (495) 984-65-91




Работает на «1C-Битрикс:
Управление сайтом»


Главная | О компании | Услуги | Карта сайта