КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Главные риски программных проектов и способы реагирования
Мой список из пяти главных причин провала программных проектов — следующий: · Требования заказчика отсутствуют / не полны / подвержены частым изменениям. · Отсутствие необходимых ресурсов и опыта. · Отсутствие рабочего взаимодействия с заказчиком. · Неполнота планирования. «Забытые работы». · Ошибки в оценках трудоемкостей и сроков работ. Это звучит банально, но сколько бы раз об этом не твердили ранее, по-прежнему, приходится сталкиваться с программными проектами, в которых отсутствуют какие-либо определенные цели и требования. Цитата из жизни: «Была бы разработана хорошая программа, а какой процесс автоматизировать с ее помощью, мы найдем». К этому можно добавить только одно: «Когда человек не знает, к какой пристани он держит путь, для него никакой ветер не будет попутным» (Сенека Луций Аней, философ, 65-3 до н.э.) К часто упускаемым требованиям можно отнести: · Функциональные · Программы установки, настройки, конфигурации. · Миграция данных. · Интерфейсы с внешними системами. · Справочная система. · Общесистемные · Производительность. · Надежность. · Открытость. · Масштабируемость. · Безопасность. · Кросплатформенность. · Эргономичность. Как правило, эти требования «всплывают» при подготовке и проведении приемо-сдаточных испытаний и могут сильно задержать проект по времени и увеличить трудозатраты на его реализацию. Чтобы этого не происходило, следует достигать соглашения с заказчиком по всем перечисленным пунктам предпочтительнее еще на стадии инициации проекта. Например, если требования портируемости продукта на разные аппаратно-программные платформы нет, то это целесообразно включить в раздел концепции с допущениями проекта. Если вероятность изменений требований проекта высока, то возможны следующие подходы для реагирования на данный риск: · Переоценка проекта каждый раз, когда требования добавляются / изменяются (уклонение). · Итерационная разработка. Контракт с компенсацией затрат на основе «Time & Materials» (передача риска Заказчику). · Учет в оценках трудоемкости и сроков возможности роста требований, например, на 50% (резервирование риска). И еще, при сборе требований следует соблюдать принцип минимализма Вольтера: «Рассказ закончен не тогда, когда в него нечего добавить, а тогда, когда из него нечего больше выкинуть». Для большинства программных продуктов применим принцип Парето: 80% ценности продукта заключены лишь в 20% требований к нему. Если у нас в проекте недостаточно квалифицированных специалистов, то мы можем снизить последствия этого риска, применив следующие действия: · Привлечь экспертов-консультантов на начальных этапах. · Учитывать в оценках трудоемкости издержки на обучение сотрудников. · Уменьшать потери от текучести кадров, привлекая на начальном этапе избыточное число участников. · Учесть в оценках «время разгона» для новых сотрудников. Для установления открытых и доверительных отношений с заказчиком, необходимо предпринимать следующие шаги: · Постоянное взаимодействие. · Согласование пользовательских интерфейсов и разработка прототипа продукта. · Периодические поставки тестовых версий конечным пользователям для их оценки. При планировании работ по проекту часто «забывают»: · Обучение. · Координация работ. · Уточнение требований. · Управление конфигурациями. · Разработка и поддержка скриптов автосборки. · Разработка автотестов. · Создание тестовых данных. · Обработка запросов на изменения. И еще. Не стоит надеяться, что участники проекта будут каждую неделю по 40 часов работать именно над вашим проектом. Есть множество причин, по которым они не смогут работать по проекту 100% своего времени. К списку наиболее распространенных причин этого относятся: · Сопровождение действующих систем. · Повышение квалификации. · Участие в подготовке технико-коммерческих предложений. · Участие в презентациях. · Административная работа. · Отпуска, праздники, больничные. Рекомендация, планировать, что разработчики, которые назначены в ваш проект на 100% будут реально работать над вашими задачами в среднем от 24 до 32 часов в неделю. Ошибкам в оценках трудоемкости и сроков проекта и походам, которые позволяют их минимизировать, буде посвящена следующая лекция.
Дата добавления: 2014-11-16; Просмотров: 589; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |