- •Содержание
- •Введение
- •I. Теоретические аспекты планирования
- •1.1. Планирование как важнейшая функция управления
- •1.2 Процесс планирования. Понятие, сущность и функции стратегического, тактического и оперативного планирования
- •II. Особенности сферы интернет приложений и проблемы разработки
- •2.1. Основные проблемы разработки интернет приложений
- •2.2.Основные этапы разработки и особенность интернет приложений
- •III. Тактическое и оперативное планирование разработки интернет приложения
- •3.1. Тактическое планирование разработки
- •3.1.1 Требования
- •Важность определения предварительных условий
- •Влияние итеративных подходов на предварительные условия
- •Предварительные условия, связанные с определением проблемы
- •Предварительные условия, связанные с выработкой требований
- •Стабильность требований
- •3.1.2 Архитектура
- •3.2. Оперативное планирование разработки интернет приложения
- •3.2.1 Проектирование – от тактического плана к оперативному
- •3.2.3 Планирование в процессе конструирования приложения
- •3.2.2 Политика управления сложностью при проектировании по
- •3.2.4 Политика отслеживания и исправления ошибок
- •3.2.5 Политика поддержки актуальности требований и документации
- •IV. Обзор подходов к планированию в рамках различных моделей и методологий разработки
- •4.1 Водопад – классическая модель разработки
- •4.2 Итеративная модель разработки
- •4.3 Методология rup
- •4.4 Гибкая методология разработки (Agile)
- •4.4.1 Экстремальное программирование (xp)
- •4.5 Другие методологии, общая схема тактического и оперативного планирования разработки приложения
- •Интернет - источники
III. Тактическое и оперативное планирование разработки интернет приложения
3.1. Тактическое планирование разработки
Подготовка к проекту - одно из главных условий эффективного программирования. Объем планирования зависит от масштаба проекта. С управленческой точки зрения, планирование подразумевает определение сроков, числа людей и компьютеров, необходимых для выполнения работ. Управление системами программного обеспечения имеет заимствования из управления проектами, но есть нюансы, не встречающиеся в других дисциплинах управления. Планирование так же подразумевает получение представления о создаваемой системе, позволяющее не истратить деньги на создание неверной системы. Иногда пользователи не четко знают, что желают получить, и для определения их требований может понадобиться больше усилий, чем хотелось бы. Как бы то ни было, это дешевле чем создать не то, что нужно и начать всё заново.
Как уже говорилось ранее, тактическое планирование, как правило, охватывает плановый горизонт на 1-2 года и является периодическим планированием.1 Целью тактического планирования разработки приложения, является выработка требований к приложению, их систематизация, документирование, анализ, выявление противоречий, неполноты и разрешение конфликтов до начала конструирования приложения.
Тактическое планирование позволяет составить план, на основе которого можно распределить работу отдельных разработчиков, а так же заранее разрешить типичные проблемы:
-
Реализация несоответствующей функциональности (отсутствие четких требований/неверное определение проблемы)
-
Уязвимости
-
Неверная разработка по одному из следующих пунктов:
-
бизнес правила
-
интерфейс
-
интернационализация
-
обработка ошибок
-
-
Невозможность реализации архитектуры
-
Нехватка информации о внешних компонентах, определяющих окружение системы или вовлечённых в интеграцию.
-
Недостатки в работах, выполняемых внешними (по отношению к проекту) ресурсами.
-
Недостаточная производительность получаемой системы, нехватка ресурсов
-
Повторное использование кода
-
Повторное создание уже существующих инструментов в процессе работы ("изобретение велосипеда")
-
Неоправданно высокие издержки внесения изменений в приложение.
Этапы выработки требований и проектирования архитектуры приложения составляют тактическое планирование разработки ПО, они предваряют непосредственное конструирование ПО, во время которого осуществляется оперативное планирование.
Как и в строительстве, конечный успех программного проекта во многом предопределяется до начала конструирования. Если фундамент ненадежен или планирование выполнено небрежно, на этапе конструирования вы в лучшем случае только сможете свести вред к минимуму.
“Популярная поговорка ‘семь раз отмерь, один раз отрежь’ очень актуальна на этапе конструирования ПО, затраты на который иногда составляют аж 65% от общего бюджета проекта. В неудачных программных проектах конструирование иногда приходится выполнять дважды, трижды и даже больше”.1
Важность планирования в разработке трудно переоценить - согласно анализу относительной дороговизны исправления дефектов в зависимости от этапов их внесения и обнаружения, приведенному в книге "Совершенный код", в среднем, дефект архитектуры, исправление которого на этапе проектирования архитектуры стоило бы 1000$, во время тестирования ПО выльется как минимум в 15 000$
Рисунок 21
В дальнейших главах детально рассмотрены аспекты тактического и оперативного планирования в разработке интернет приложения.