<Назад
Процесс разработки: Планирование

В этой публикации мы начнем рассматривать процесс разработки. Он достаточно большой, поэтому я разделю его на несколько абстрактных частей: 1. Планирование, 2. Разработка, 3. Тестирование, 4. Ввод в эксплуатацию. Сегодня поговорим про планирование.


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


На разных этапах создания ИТ-решения требуется разный уровень глубины планирования. На этапе разработки этот уровень максимальный. 


Чтобы перейти к этому этапу, нужно располагать минимальным набором проектной документации:

1. Техническое задание. 

2. ER-диаграмма.

3. UML-диаграмма. Для маленьких проектов — этот пункт можно пропустить.

4. Дизайн интерфейса, если того требует продукт.


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


Планирование: Процесс


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


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


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


После того, как сроки проставлены, тех. лид просматривает все оценки и, при необходимости, корректирует их. А в моем случае, кроме корректировки сроков, тех. лид помогает разобраться с «затыками».


Модели


Я выделяю две основные модели планирования:


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


2. Параллельная. Это нестандартный случай, когда у вас разгар конкурентной борьбы и все меняется буквально ежедневно. В таких ситуациях подключается аналитик, который совместно с проектным менеджером и тех. лидом динамично меняют план, опираясь на рынок, конкурентов, потребителей и другие важные аспекты. Такие «качели» могут произойти между несколькими ИТ-стартапами, которые пытаются разделить рынок. Такое бывает редко, но если попасть в эту ситуацию и продолжать последовательное планирование, то конкурент вас обойдет.


Заключение


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

Хэштеги:
#процессразработки
Поделиться:

Самое свежее

Состав команды разработки

В этой статье мы рассмотрим состав команды разработки ИТ решения

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

Простыми словами о графах

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

#графы
#алгоритмы
#rust

В чем отличие аутсорсинга разработки от аутстаффинга ИТ-сотрудника для разработки?

В этой статье разберемся, что такое аутсорс- и аутстафф-разработка.

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

UI/UX дизайн: Процесс создания

В этой статье поговорим об основных шагах в процессе создания UI/UX дизайна.

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

UI/UX дизайн: Введение

В этой статье мы начинаем знакомиться с UI/UX дизайном. Это важнейший этап в разработке любого визуального интерфейса приложений.

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

Agile, Шесть сигм и Отсутствие принципа

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

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

Знакомьтесь, Пентест

Начинаем рассматривать один из основных методов оценки безопасности компьютерных систем и сетей на предмет потенциальных уязвимостей - тестирование на проникновение

#пентест

Сокращаем срок реализации MVP

Разберемся со сроками реализации MVP.

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

Выбираем язык программирования

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

#хочукодить

Тестирование концепции MVP

Разбираемся с тем, как не потратить бюджеты на разработку MVP впустую

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

Проектирование архитектуры приложений: Введение

В этой статье поговорим о процессе создания архитектуры ИТ-решения

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

Техническое задание: Структура

В этой публикации мы рассмотрим универсальную структуру ТЗ

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

Неверная оценка стоимости услуг ИТ подрядчика

Сегодня мы поговорим о неверной оценке стоимости разработки ИТ решений. Эта боль - одна из основных для предприятий и стартапов, включая самих ИТ подрядчиков.

#консалтинг

Введение в паттерны проектирования в разработке программного обеспечения

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

#шаблоныпроектирования

Выбираем направление разработки для обучения программированию

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

#хочукодить

Уровни модели OSI

В этой статье мы более подробно рассмотрим каждый из уровней модели OSI

#сети
#osi

Основные типы архитектуры приложений

В этой публикации разберемся с тем, какие бывают архитектуры приложений

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

10 способов использования Rust Cargo

В этой небольшой статье я собрал 10 способов использования системы сборки и менеджера пакетов языка программирования Rust

#rust
#cargo

Документирование кода в языке программирования Rust

В этой статье рассмотрим то, как происходит документирование в Rust и рассмотрим очень полезную возможность - написание тестов через документирование.

#rust

Знакомство с моделью OSI

В этой статье начинаем рассматривать фундаментальную модель сетевого взаимодействия - OSI

#сети

CSS анимация пульсации

Простой пример того, как реализовать анимацию пульсации, используя HTML и CSS

#css

Для чего нужна ER-диаграмма в процессе разработки?

Обсудим в общих чертах, что такое ER-диаграмма и для чего она нужна.

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

От концепции к MVP

В этой статье вы узнаете, на примере, о том, как перейти от концепции к MVP без лишних усложнений в функционале продукта

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

Для чего нужны UML диаграммы?

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

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

Введение в написание технического задания

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

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

Введение в разработку

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

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

От идеи к концепции

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

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

Взвешенные графы

В этой статье мы познакомимся со взвешенными графами, алгоритмом Дейкстры и его реализацией на языке программирования Rust.

#алгоритмы
#графы
#rust