Что такое процесс разработки

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

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

Процесс разработки — это не следование рецепту от А до Я.

Процесс может быть как полным жизненным циклом, так и его частью (подпроцессом), но оба они делятся на более мелкие фазы или этапы.

Фазы жизненного цикла процесса

Количество моделей процессов постоянно растёт, но можно выделить пять основных этапов разработки, известных под разными названиями в различных моделях.

Основные этапы:

  1. Спецификация: Обдумывание идей, обозначение требований к продукту, описание желаемого результата и назначение сроков.
  2. Дизайн: Подготовка дизайна продукта (внешний вид, тексты), формирование понимания того, как будет выглядеть финальное приложение.
  3. Внедрение (Разработка): Непосредственное написание программного кода программистами, превращение дизайна в работающий продукт.
  4. Верификация (Проверка): Оценка продукта для убеждения, что всё работает как запланировано и удовлетворяет требованиям.
  5. Валидация (Подтверждение): Сбор и анализ обратной связи от клиентов для планирования следующих итераций разработки.

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

От задач к рабочему продукту

Для управления процессом его разбивают на всё более мелкие составляющие: фазы → активности → задачи.

  • Задача — это небольшой управляемый шаг, где выполняется реальная работа. Задачи являются строительными блоками для завершения активности и всего этапа.
  • Роль — это обязанность, которую человек берёт на себя в процессе (например, программист, тестировщик, проект-менеджер). Роль выполняет задачи, причём один человек может выполнять смежные задачи разных ролей.
  • Рабочий продукт — это результат выполнения задачи или активности. Он включает не только конечный продукт, но и промежуточные результаты: проекты, требования, исходный код, тестовые примеры, документацию.

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

Ресурсы

Для выполнения любой задачи необходимы ресурсы. Это всё, что улучшает, продвигает или финансирует работу: время, деньги, технологии, знания или персонал.

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