Подождите...

Процесс разработки программного обеспечения в компании Новтехпром

Если вы можете примерно оценить задачу, которую хотите разработать с нашей помощью, и стоимость этой задачи не превышает 150 тыс. рублей, тогда глубоко вникать в детали процесса разработки может и не нужно.

Если же проект достаточно объемен, и вы решились на сотрудничество с нами, то надо настраиваться на длительную совместную работу, а для этого необходимо иметь представление о процессе разработки.

В своей работе мы используем «Унифицированный процесс» (Unified Process или UP). Это итеративный процесс, используемый для разработки объектно-ориентированных систем.

По возможности, мы стараемся организовать работу так, чтобы начать эксплуатацию частей системы до ее полного завершения.

Унифицированный процесс предполагает цикл разработки, состоящий из четырех фаз:

  • Начальная
  • Развитие
  • Конструирование
  • Передача

Каждая фаза состоит из одной или нескольких итераций.

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

Далее, краткая характеристика каждой фазы.

Начальная фаза

Целью начальной фазы является исследование проблемы, начальная постановка требований к ПО и ответы на следующие вопросы:

  • Каково общее видение проекта? (оно должно быть одинаковым у заказчика и исполнителя работ)
  • Реально ли осуществить задуманный проект?
  • Что лучше разработать или купить готовый продукт?
  • В какую сумму (примерно) обойдется реализация проекта 30тыс-300тыс или миллионы рублей?
  • Стоит ли браться за этот проект?

В это период, в котором от заказчика потребуется активное участие в постановке требований и существенная помощь в изучении проблемы.

Начальная фаза состоит из одной итерации, которая длится не больше одной недели, по завершении которой должны появиться следующие документы:

  • Видение
  • Начальный вариант списка всех вариантов использования программы (прецедентов) или диаграмма прецедентов.
  • Полное, подробное описание 10% наиболее значимых вариантов использования программы (Прецедентов).
  • Начальный вариант дополнительной спецификации требований.
  • Примерный план разработки.

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

  • План на фазу развития
  • План первой итерации фазы развития

Фаза развития

На фазе развития начинается работа над созданием кода программы. В это время могут быть созданы прототипы, реализованы (возможно не в полном объеме) наиболее значимые прецеденты. Но самое главное для данной фазы корректировка и уточнение требований к ПО, создание подробного плана для фазы конструирования, а также уточнение стоимости и сроков разработки.

Фаза развития состоит не более чем из трех итераций.

Завершает фазу развития создание следующих документов:

  • Новая (уточненная) версия дополнительной спецификации требований.
  • Описание всех прецедентов. Вообще-то, на практике не всегда есть необходимость описывать все прецеденты в полном формате. Некоторые достаточно описать в сокращенном виде, а описание некоторых можно совсем опустить. Этот вопрос согласуется с заказчиком.
  • Отчет о проделанной работе на фазе развития.
  • Подробный план работы на фазу конструирования.
  • План первой итерации фазы конструирования.

Фаза конструирования

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

По завершении каждой итерации выполняется анализ переданного ранее релиза, фиксируются результаты тестирования, при необходимости выполняется корректировка или дополнение требований, составляется план на следующую итерацию.

Передача в эксплуатацию

Эта фаза может состоять из одной или двух итераций.

После завершения последней итерации этой фазы составляется итоговый акт передачи программы в эксплуатацию, и работа считается завершенной.

Процесс разработки

Начальная Развитие Конструирование Передача
Бизнес-моделирование
Требования
Проектирование
Реализация

После передачи программы в эксплуатацию мы обязуемся в течение одного года исправлять все обнаруженные в коде ошибки, которые по разным причинам небыли выявлены в процессе разработки и передачи программы без дополнительной оплаты!