Методологии ведения проекта

Материал из AOW

Перейти к: навигация, поиск

Если при создании проекта не придерживаться методологии, то разработка ПО рискует превратиться в неупорядоченную, хаотическую деятельность, набор краткосрочных решений. Продукт строится бессистемно, по принципу "мазок здесь, мазок там", добавлять новую функциональность становится очень сложно (или невозможно), множатся заплатки, работа программы не стабильна, нарушаются все сроки сдачи проекта, ни о каком планировании просто речи быть не может. И закономерный итог такого рода деятельности - по истечении некоторого срока проект становится полностью неуправляемым, и продолжать какие либо дальнейшие работы - не эффективно.

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

Формально методологии можно разделить на два типа - классические(монументальные, предсказуемые, где все этапы детально проектируется заранее и не допускается отклонение от первоначального плана) и их противоположность - адаптивные (гибкие, где в процессе работы допустимо и даже типично перепроектирование). Специалистами "Digital-soft" в зависимости от начальных условий и характера поставленной задачи, может применяться как классическая, так и адаптивная методология.


Классическая методология применяется, если:

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

Итерационный процесс на данном этапе смещен в область анализа, проектирования и разработки Технического задания, процесс разработки строго документирован и линеен. Срок создания Технического задания составляет около 60% времени от всего процесса разработки.


Адаптивная методология применяется, если:

  • Не ясны или изменяются требования к системе
  • Заказчик представляет себе разрабатываемое ПО только в общих чертах и предполагает вносить изменения в функциональность или дизайн разрабатываемой программы во время разработки («не понравилось – поменяйте»).
  • Необходимо как можно быстрее получить первые версии работающей программы
  • Решаемая программой задача трудно поддается документированию
  • На реализацию всех требований есть достаточный запас времени

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

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


В независимости от используемой методологии, рабочий процесс, организуемый в "Digital-soft", подчиняется следующим простым, но важным правилам:

  • Используется система контроля версий
  • Оформление кода стандартизировано
  • Первоочередное исправления ошибок перед внесением любых других изменений
  • Выполняется регулярное резервное копирование всех проектных данных
  • Используются инструментальные средства автоматизации документирования исходного кода и ведения списков ошибок
  • Выполняются различные виды тестирования, начиная от специально создаваемых тестовых проектов, заканчивая использованием специализированного инструментария

Одной из важных составляющих успешного проекта "Digital-soft" видит качественное и непрерывные общение с Заказчиком. Эффективность сотрудничества, соответствие выполняемой работы требованиям заказчика гарантируются регулярными визитами к клиенту ответственных лиц на всем протяжении работ по проекту, отчетами и докладами о статусе проекта.

Личные инструменты

Разработка веб-сайтов, автоматизация.
По всем вопросам обращайтесь по телефонам:

+7 495 640 29 90
http://artofweb.ru