<НазадПроцесс разработки: Планирование
8/16/2023В этой публикации мы начнем рассматривать процесс разработки. Он достаточно большой, поэтому я разделю его на несколько абстрактных частей: 1. Планирование, 2. Разработка, 3. Тестирование, 4. Ввод в эксплуатацию. Сегодня поговорим про планирование.
Планирование — это фундаментальный этап для многих бизнес-процессов. От него напрямую зависят сроки выполнения проекта и как следствие репутация, расходы и другие бизнес-показатели.
На разных этапах создания ИТ-решения требуется разный уровень глубины планирования. На этапе разработки этот уровень максимальный.
Чтобы перейти к этому этапу, нужно располагать минимальным набором проектной документации:
1. Техническое задание.
2. ER-диаграмма.
3. UML-диаграмма. Для маленьких проектов — этот пункт можно пропустить.
4. Дизайн интерфейса, если того требует продукт.
В процессе планирования могут участвовать проектный менеджер, тех. лид, разработчики, тестировщики и другие. Список участников на этапе планирования не является исчерпывающим и варьируется от задачи к задаче. В мелких проектах один участник команды может включать в себя несколько ролей. Все зависит от финансовых возможностей компании или стартапа.
Планирование: Процесс
Планирование начинается с декомпозиции проектной документации на более мелкие задачи. Декомпозиция происходит в несколько итераций - задачи разбиваются на месячный интервал, далее на недельный, на дневной и на часовой, все зависит от методологии управления проектами. На выходе получается исчерпывающий список задач, который заносится в корпоративный трекер задач. В этом процессе задействованы проектный менеджер и тех. лид.
Когда сформирован исчерпывающий список задач, к нему подключаются разработчики. Они оценивают сроки реализации по каждой задаче и проставляют оценку в трекере задач.
В своих командах разработки я ввел практику, при которой разработчик проставляет не только время на реализацию задачи, но и описывает аспекты задачи, на которых он может «споткнуться» и зайти в тупик. Для каждого такого аспекта проставляется свой срок на получение знаний. Этот подход помогает исключить ненужные «затыки» еще до начала разработки.
После того, как сроки проставлены, тех. лид просматривает все оценки и, при необходимости, корректирует их. А в моем случае, кроме корректировки сроков, тех. лид помогает разобраться с «затыками».
Модели
Я выделяю две основные модели планирования:
1. Последовательная. Это стандартный случай, когда у вас есть время и не поджимают конкуренты. При такой модели вы вначале планируете, а затем разрабатываете.
2. Параллельная. Это нестандартный случай, когда у вас разгар конкурентной борьбы и все меняется буквально ежедневно. В таких ситуациях подключается аналитик, который совместно с проектным менеджером и тех. лидом динамично меняют план, опираясь на рынок, конкурентов, потребителей и другие важные аспекты. Такие «качели» могут произойти между несколькими ИТ-стартапами, которые пытаются разделить рынок. Такое бывает редко, но если попасть в эту ситуацию и продолжать последовательное планирование, то конкурент вас обойдет.
Заключение
Планирование — это очень важный этап, которым частенько пренебрегают в пользу быстрого выхода продукта и экономии денег. Да, такой подход возможен, когда срок реализации ИТ-решения не более 1 месяца. Но когда речь идет о 4-5 месячной разработке, пренебрежение планированием — большая ошибка, за которую приходится дорого платить.
Самое свежее
Состав команды разработки
7/6/2023В этой статье мы рассмотрим состав команды разработки ИТ решения
Простыми словами о графах
12/18/2022В этой статье мы начнем знакомство с графами, познакомимся с одним из алгоритмов для работы с графами и реализуем граф на языке программирования Rust.
В чем отличие аутсорсинга разработки от аутстаффинга ИТ-сотрудника для разработки?
10/17/2022В этой статье разберемся, что такое аутсорс- и аутстафф-разработка.
UI/UX дизайн: Процесс создания
4/9/2023В этой статье поговорим об основных шагах в процессе создания UI/UX дизайна.
UI/UX дизайн: Введение
3/29/2023В этой статье мы начинаем знакомиться с UI/UX дизайном. Это важнейший этап в разработке любого визуального интерфейса приложений.
Agile, Шесть сигм и Отсутствие принципа
9/14/2023В прошлой статье мы начали погружение в процесс разработки. Первый этап этого процесса — планирование. На этом этапе проектный менеджер вместе с другими участниками команды формирует пул задач в соответсвии с какой-то методологией ведения проектов.
Знакомьтесь, Пентест
8/22/2022Начинаем рассматривать один из основных методов оценки безопасности компьютерных систем и сетей на предмет потенциальных уязвимостей - тестирование на проникновение
Сокращаем срок реализации MVP
12/8/2022Разберемся со сроками реализации MVP.
Выбираем язык программирования
3/17/2023В этой статье мы поговорим о выборе языка программирования для изучения
Тестирование концепции MVP
1/9/2023Разбираемся с тем, как не потратить бюджеты на разработку MVP впустую
Проектирование архитектуры приложений: Введение
3/6/2023В этой статье поговорим о процессе создания архитектуры ИТ-решения
Техническое задание: Структура
2/17/2023В этой публикации мы рассмотрим универсальную структуру ТЗ
Неверная оценка стоимости услуг ИТ подрядчика
9/10/2022Сегодня мы поговорим о неверной оценке стоимости разработки ИТ решений. Эта боль - одна из основных для предприятий и стартапов, включая самих ИТ подрядчиков.
Введение в паттерны проектирования в разработке программного обеспечения
10/3/2022В этой статье мы начнем погружаться в мир оптимизации архитектуры приложений с помощью шаблонов проектирования
Выбираем направление разработки для обучения программированию
2/5/2023В этой статье вы узнаете какие бывают направления разработки, чем они отличаются и в каком больше платят.
Уровни модели OSI
9/6/2022В этой статье мы более подробно рассмотрим каждый из уровней модели OSI
Основные типы архитектуры приложений
3/7/2023В этой публикации разберемся с тем, какие бывают архитектуры приложений
10 способов использования Rust Cargo
2/11/2023В этой небольшой статье я собрал 10 способов использования системы сборки и менеджера пакетов языка программирования Rust
Документирование кода в языке программирования Rust
8/24/2022В этой статье рассмотрим то, как происходит документирование в Rust и рассмотрим очень полезную возможность - написание тестов через документирование.
Знакомство с моделью OSI
8/19/2022В этой статье начинаем рассматривать фундаментальную модель сетевого взаимодействия - OSI
CSS анимация пульсации
8/31/2022Простой пример того, как реализовать анимацию пульсации, используя HTML и CSS
Для чего нужна ER-диаграмма в процессе разработки?
4/28/2023Обсудим в общих чертах, что такое ER-диаграмма и для чего она нужна.
От концепции к MVP
11/18/2022В этой статье вы узнаете, на примере, о том, как перейти от концепции к MVP без лишних усложнений в функционале продукта
Для чего нужны UML диаграммы?
5/23/2023В этой статье мы поговорим о том, что такое UML диаграммы, какие они бывают и где используются
Введение в написание технического задания
1/31/2023Техническое задание - это важная часть процесса разработки. В этой статье начнем погружение в данный вопрос.
Введение в разработку
10/10/2022Сегодня большинство компаний сталкивается с ИТ-разработкой и часто не получают то, чего хотят. В этой статье мы начинаем погружение в процесс создания ИТ-решений.
От идеи к концепции
10/27/2022В этой публикации мы поговорим о том, чем идея отличается от концепции. Сделаем это на примере конкретной цели
Взвешенные графы
12/26/2022В этой статье мы познакомимся со взвешенными графами, алгоритмом Дейкстры и его реализацией на языке программирования Rust.