Глава 12 МЕНЕДЖМЕНТ ПРОГРАММНЫХ РАЗРАБОТОК
Глава 12
МЕНЕДЖМЕНТ ПРОГРАММНЫХ РАЗРАБОТОК
12.1. УПРАВЛЕНИЕ РАЗРАБОТКОЙ ПРОГРАММНЫХ СИСТЕМ
Управление разработкой программных систем (software management) — это деятельность, направленная на обеспечение необходимых условий для работы коллектива разработчиков программного обеспечения (ПО), на планирование и контроль деятельности этого коллектива с целью обеспечения требуемого качества ПО, выполнения сроков и бюджета разработки ПО. Часто эту деятельность называют также управлением программным проектом (software project management). Здесь под программным проектом (software project) понимают всю совокупность работ, связанную с разработкой ПО, а ход выполнения этих работ называют развитием программного проекта (software project progress).
К необходимым условиям работы коллектива относят помещения, аппаратно-программные средства разработки, документацию и материально-финансовое обеспечение. Планирование и контроль предполагают разбиение всего процесса разработки ПО на отдельные конкретные работы (задания), подбор и расстановку исполнителей, установление сроков и порядка выполнения этих работ, оценку качества выполнения каждой работы. Финальной частью этой деятельности является организация и проведение аттестации (сертификации) ПО, которой завершается стадия разработки ПО.
Хотя виды деятельности по управлению разработкой ПО могут быть весьма разнообразными, в зависимости от специфики разрабатываемого ПО и организации работ по его созданию можно выделить некоторые общие процессы (виды деятельности) по управлению разработкой ПО:
— составление плана-проспекта по разработке ПО;
— планирование и составление расписаний по разработке ПО;
— управление издержками по разработке ПО;
— текущий контроль и документирование деятельности коллектива по разработке ПО;
— подбор и оценка персонала коллектива разработчиков ПО.
Составление плана-проспекта по разработке ПО включает формулирование предложений о том, как выполнять разработку ПО. Прежде всего должно быть зафиксировано, для кого разрабатывается ПО:
• для внешнего заказчика;
• для других подразделений той же организации;
• является инициативной внутренней разработкой.
В плане-проспекте должны быть установлены общие очертания работ по созданию ПО и оценена стоимость разработки, а также предоставляемые для разработки ПО материально-финансовые ресурсы и временные ограничения. Кроме того, он должен включать обоснование, какого рода коллективом должно разрабатываться ПО (специальной организацией, отдельной бригадой и т. п.). И наконец, должны быть сформулированы необходимые технологические требования (включая, возможно, и выбор подходящей технологии программирования).
Планирование и составление расписаний по разработке ПО — это деятельность, связанная с распределением работ между исполнителями и по времени их выполнения в рамках намеченных сроков и имеющихся ресурсов.
Управление издержками по разработке ПО — это деятельность, направленная на обеспечение подходящей стоимости разработки в рамках выделенного бюджета. Она включает оценивание стоимости разработки проекта в целом или отдельных его частей, контроль выполнения бюджета, выбор подходящих вариантов его расходования. Эта деятельность тесно связана с планированием и составлением расписаний в течение всего периода выполнения проекта. Основными источниками издержек являются затраты на аппаратное оборудование (hardware), вербовку и обучение персонала, оплату труда разработчиков.
Текущий контроль и документирование деятельности коллектива по разработке ПО — это непрерывный процесс слежения за ходом развития проекта, сравнения действительных состояния и издержек с запланированными, а также документирования различных аспектов развития проекта. Этот процесс помогает вовремя обнаружить затруднения и предсказать возможные проблемы в развитии проекта.
Подбор и оценка персонала коллектива разработчиков ПО — это деятельность, связанная с формированием коллектива разработчиков ПО. Имеющийся в распоряжении штат разработчиков далеко не всегда будет подходящим по квалификации и опыту работы для данного проекта. Поэтому приходится частично вербовать подходящий персонал и частично организовывать дополнительное обучение имеющихся разработчиков. В любом случае в формируемом коллективе хотя бы один его член должен иметь опыт разработки программных средств (систем), сопоставимых с ПО, которое требуется разработать. Это поможет избежать многих простых ошибок в развитии проекта.
Обеспечение качества. Качество ПО формируется постепенно в процессе всей разработки ПО в каждой отдельной работе, выполняемой по программному проекту. Не могут вноситься изменения по улучшению качества в уже созданную программу.
Для руководства этой деятельностью назначается специальный менеджер, подчиненный непосредственно директору, — менеджер по качеству. Ему непосредственно подчинены формируемые бригады по контролю качества. Для каждой работы организуется смотр (review) соответствующей бригадой. Смотру подлежат все программные компоненты и документы, включаемые в ПО, а также процессы их разработки. Смотр по контролю качества является функцией управления разработкой и связан с оценкой того, насколько результаты этой работы согласуются с декларированными требованиями относительно качества ПО.
Для оценки существуют программные стандарты. Они фиксируют удачный опыт высококвалифицированных специалистов по разработке ПО для различных его классов и для разных моделей качества.
Различают два вида таких стандартов:
• стандарты ПО (программного продукта);
• стандарты процесса создания и использования ПО.
Стандарты ПО определяют некоторые свойства, которыми должны обладать программы или документы ПО, т. е. определяют в какой-то степени качество ПО. К стандартам ПО относятся прежде всего стандарты на языки программирования, состав документации, структуру различных документов, различные форматы и др.
Стандарты процесса создания и использования ПО определяют, как должен проводиться этот процесс, т. е. подход к разработке ПО, структуру жизненного цикла ПО и его технологические процессы. Хотя эти стандарты непосредственно не определяют качества ПО, однако считается, что качество ПО существенно зависит от качества процесса его разработки.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 22 Испытание и верификация программных продуктов
Глава 22 Испытание и верификация программных продуктов Мы уже неоднократно затрагивали тему испытания средств безопасности. В главе 7 обсуждался выбор криптографических примитивов. Там же была выдвинута идея, что наилучшим способом проверки надежности криптографии
Глава 23 Будущее программных продуктов
Глава 23 Будущее программных продуктов Напрашивается закономерный вопрос: «Какие технологии помогут созданию продуктов, обеспечивающих безопасность, в будущем?» Конечно, криптография постоянно улучшается. Несомненно, мы все лучше и лучше проектируем брандмауэры. Будет
Глава 10. Установка и обновление программных пакетов
Глава 10. Установка и обновление программных пакетов 10.1. Два способа установки ПО Необходимость в установке новых программных пакетов под LINUX возникает в двух основных случаях: • когда появляется новая версия одного из уже установленных у вас пакетов; • когда возникает
1.11. Найдите хорошего партнера, работающего в сфере веб-разработок
1.11. Найдите хорошего партнера, работающего в сфере веб-разработок Сложность создания и поддержки современного веб-сайта настолько велика, что решение этой задачи только собственными силами компании, как правило, невозможно и экономически нецелесообразно (хотя на первый
Глава 5. Выманивание денег с помощью специальных программных средств
Глава 5. Выманивание денег с помощью специальных программных средств Существует категория злоумышленников, которые обладают очень неплохими знаниями в сфере IT-технологий. Это позволяет им практически безнаказанно заниматься мошенничеством, вымогательством, шантажом и
Глава 7 Конвертирование баз данных из других программных сред
Глава 7 Конвертирование баз данных из других программных сред Мы уже говорили о том, что по мере появления новых, более совершенных СУБД все актуальнее становится проблема использования данных, которые накоплены в информационных банках предыдущих, в том числе и морально
Марисса и менеджмент P2P Сергей Голубицкий
Марисса и менеджмент P2P Сергей Голубицкий Опубликовано 17 декабря 2013 Когда я, измучившись найти идеал в менеджменте ИТ-компаний, с энтузиазмом ухватился за достижения Мариссы Майер, я даже не догадывался, что за блестящими результатами скрывается
Пакетный менеджмент
Пакетный менеджмент Разговоры о репозиториях и политиках обновления повисают в воздухе без сравнения инструментария, обеспечивающего доступ к первым и реализацию вторых. Сравнением их мы сейчас и
Менеджмент через сотрудничество
Менеджмент через сотрудничество В 1990-х годах деловая среда претерпела значительные и очень быстрые перемены. Теперь основным акцентом является нацеленность на потребителя, усиление и сбалансированность основных профессиональных качеств предприятий, что вынуждает их
Менеджмент системы
Менеджмент системы Цель этой задачи — подготовка системной среды к реальной работе, что подразумевает определение системных требований к инфраструктуре, допустимых значений характеристик работы системы, системное администрирование и окончательное создание рабочей
Менеджмент, ориентированный на повышение эффективности
Менеджмент, ориентированный на повышение эффективности Чтобы оправдать ожидания акционеров и повысить ценность компании, менеджеры компании должны не только уметь сформулировать стратегию, но и претворить ее в жизнь. Управление в стоимостном отношении (Value-based management, VBM)
Тайм-менеджмент с помощью HTC HD mini Глеб Архангельский
Тайм-менеджмент с помощью HTC HD mini Глеб Архангельский Опубликовано 21 октября 2010 года Эта статья для тех, для кого смартфон, как и для меня — практически часть тела, причём в первую очередь — рабочий инструмент, и в последнюю — предмет любования и
1.5. ОСОБЕННОСТИ ПРОГРАММНЫХ РАЗРАБОТОК
1.5. ОСОБЕННОСТИ ПРОГРАММНЫХ РАЗРАБОТОК Томас Кун в 1977 г. определил термин «парадигма» как свод норм научного мышления. Парадигма — это правило (modus operandi) развития научного знания. Оно в течение определенного времени дает научному сообществу модель постановки проблем и их
Глава 2 ОПТИМИЗАЦИЯ ПРОГРАММНЫХ РАЗРАБОТОК
Глава 2 ОПТИМИЗАЦИЯ ПРОГРАММНЫХ РАЗРАБОТОК 2.1. ВЫБОР ОПТИМАЛЬНОГО ВАРИАНТА ПРОЕКТНОГО РЕШЕНИЯ На разных этапах проектирования (особенно часто на начальных этапах) перед разработчиком встает задача выбора наилучшего варианта из множества допустимых проектных решений,
Глава 6 АРХИТЕКТУРА ПРОГРАММНЫХ СИСТЕМ
Глава 6 АРХИТЕКТУРА ПРОГРАММНЫХ СИСТЕМ 6.1. ПОНЯТИЕ АРХИТЕКТУРЫ ПРОГРАММНОЙ СИСТЕМЫ Разработка архитектуры системы — это процесс разбиения большой системы на более мелкие части. Для обозначения этих частей придумано множество названий: программы, компоненты,