марта 29, 2017

Определение типового проекта и немного agile

Определение типового проекта и немного agile

Методология, которую используют на большинстве проектов в Digital Zone, сформирована благодаря опыту сотрудников и самой компании, авторитетным источникам CMMI 3, RUP, Tom Gilb. Мы гордимся своими наработками в области софтверной деятельности и хотели бы подробнее рассказать об этом профессиональному сообществу и клиентам.

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

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

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

Среди многообразия клиентов и задач, можно выделить проекты общего характера и их отличительные черты:

  • размер: от нескольких до сотни человеко-месяцев. Если задача меньше, то она лояльнее к процессу разработки, а если больше — требует дробления;
  • срок от полугода до двух лет;
  • критичный для бизнеса сегмент. Простой системы, увеличение сроков ее реализации или несоответствие задачам заказчика являются критичными;
  • клиент требователен к бюджету, стоимость проекта должна быть известна заранее. Предполагается, что разработка нуждается в черновой оценке на старте заказа, при этом достаточно точной (±10%);
  • от работоспособности системы не зависит жизнь и здоровье людей. Иначе процесс становится в разы жестче.

Начиная рассказ про методологию ведения проектов, хочется забежать вперед и сразу сказать пару слов про agile. Например, про то что его нет :) На самом деле:

  • настоящий полноценный agile применим при неограниченном сроке и финансировании проекта;
  • agile существует только при доверительных отношениях между заказчиком и исполнителем;
  • он полезен при мобильной разработке и в проектах по развитию существующей системы;
  • понятие agile очень размытое, следует бояться людей, пропагандирующих подход без однозначного ответа исполнителя на вопрос «а что это?».

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

    Все записи