|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Главные риски программных проектов и способы реагированияМой список из пяти главных причин провала программных проектов — следующий: · Требования заказчика отсутствуют / не полны / подвержены частым изменениям. · Отсутствие необходимых ресурсов и опыта. · Отсутствие рабочего взаимодействия с заказчиком. · Неполнота планирования. «Забытые работы». · Ошибки в оценках трудоемкостей и сроков работ. Это звучит банально, но сколько бы раз об этом не твердили ранее, по-прежнему, приходится сталкиваться с программными проектами, в которых отсутствуют какие-либо определенные цели и требования. Цитата из жизни: «Была бы разработана хорошая программа, а какой процесс автоматизировать с ее помощью, мы найдем». К этому можно добавить только одно: «Когда человек не знает, к какой пристани он держит путь, для него никакой ветер не будет попутным» (Сенека Луций Аней, философ, 65-3 до н.э.) К часто упускаемым требованиям можно отнести: · Функциональные · Программы установки, настройки, конфигурации. · Миграция данных. · Интерфейсы с внешними системами. · Справочная система. · Общесистемные · Производительность. · Надежность. · Открытость. · Масштабируемость. · Безопасность. · Кросплатформенность. · Эргономичность. Как правило, эти требования «всплывают» при подготовке и проведении приемо-сдаточных испытаний и могут сильно задержать проект по времени и увеличить трудозатраты на его реализацию. Чтобы этого не происходило, следует достигать соглашения с заказчиком по всем перечисленным пунктам предпочтительнее еще на стадии инициации проекта. Например, если требования портируемости продукта на разные аппаратно-программные платформы нет, то это целесообразно включить в раздел концепции с допущениями проекта. Если вероятность изменений требований проекта высока, то возможны следующие подходы для реагирования на данный риск: · Переоценка проекта каждый раз, когда требования добавляются / изменяются (уклонение). · Итерационная разработка. Контракт с компенсацией затрат на основе «Time & Materials» (передача риска Заказчику). · Учет в оценках трудоемкости и сроков возможности роста требований, например, на 50% (резервирование риска). И еще, при сборе требований следует соблюдать принцип минимализма Вольтера: «Рассказ закончен не тогда, когда в него нечего добавить, а тогда, когда из него нечего больше выкинуть». Для большинства программных продуктов применим принцип Парето: 80% ценности продукта заключены лишь в 20% требований к нему. Если у нас в проекте недостаточно квалифицированных специалистов, то мы можем снизить последствия этого риска, применив следующие действия: · Привлечь экспертов-консультантов на начальных этапах. · Учитывать в оценках трудоемкости издержки на обучение сотрудников. · Уменьшать потери от текучести кадров, привлекая на начальном этапе избыточное число участников. · Учесть в оценках «время разгона» для новых сотрудников. Для установления открытых и доверительных отношений с заказчиком, необходимо предпринимать следующие шаги: · Постоянное взаимодействие. · Согласование пользовательских интерфейсов и разработка прототипа продукта. · Периодические поставки тестовых версий конечным пользователям для их оценки. При планировании работ по проекту часто «забывают»: · Обучение. · Координация работ. · Уточнение требований. · Управление конфигурациями. · Разработка и поддержка скриптов автосборки. · Разработка автотестов. · Создание тестовых данных. · Обработка запросов на изменения. И еще. Не стоит надеяться, что участники проекта будут каждую неделю по 40 часов работать именно над вашим проектом. Есть множество причин, по которым они не смогут работать по проекту 100% своего времени. К списку наиболее распространенных причин этого относятся: · Сопровождение действующих систем. · Повышение квалификации. · Участие в подготовке технико-коммерческих предложений. · Участие в презентациях. · Административная работа. · Отпуска, праздники, больничные. Рекомендация, планировать, что разработчики, которые назначены в ваш проект на 100% будут реально работать над вашими задачами в среднем от 24 до 32 часов в неделю. Ошибкам в оценках трудоемкости и сроков проекта и походам, которые позволяют их минимизировать, буде посвящена следующая лекция. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |