
- •Безруков а.И. Экономические и правовые основы разработки программного обеспечения (Тексты лекций)
- •Лекция 1. Знакомство с предметом Введение
- •Программно-информационный продукт – особый вид товара Что такое программный продукт
- •Характеристики качества программного продукта
- •Лекция 2. Маркетинговые исследования Проблема управления производительными силами общества
- •Простое воспроизводство. Закон стоимости
- •Расширенное воспроизводство. Проблема распределения прибавочной стоимости
- •Что такое маркетинг?
- •Проблемы, решению которых может помочь проведение маркетинговых исследований
- •Цели и результаты маркетингового исследования
- •Выбор данных
- •Первичные данные
- •Вторичные данные
- •Сбор первичных данных Определение потребности в данных
- •Подготовка предложения по исследованию
- •Выбор метода
- •Определение выборки
- •Сбор данных
- •Анализ данных
- •Сообщение о результатах
- •Сбор и анализ вторичных данных Внешние данные
- •Внутренние данные
- •Анализ деятельности
- •Отчеты об объемах продаж
- •Выбор метода
- •Определение выборки
- •Сбор данных
- •Анализ данных
- •Сообщение о результатах
- •Сбор и анализ вторичных данных Внешние данные
- •Внутренние данные
- •Анализ деятельности
- •Отчеты об объемах продаж
- •Методы исследования
- •Качественные методы
- •Групповые дискуссии (фокус-группы)
- •Глубинные интервью
- •Проекционные методы
- •Наблюдения
- •Количественные методы
- •Эксперименты
- •Маркетинговая смесь
- •Лекция 3. Экономическая оценка затрат на создание компьютерных программ
- •Классификация видов затрат. Маржинальный анализ
- •Методики расчета различных видов затрат
- •Операционные затраты
- •Пример расчета операционных затрат
- •Операционные затраты
- •Специфические структурные затраты Затраты на оборудование
- •Затраты на оборудование
- •Приведение затрат к одному времени
- •Затраты на нематериальные активы
- •Затраты на лицензии
- •Общефирменные затраты и накладные расходы
- •Использование ms Excel
- •Пример использования электронной таблицы
- •Лекция 4. Оценка эффекта от использования компьютерных программ Классификация программного обеспечения как товара
- •Оценка доли эффекта от собственно разработки программного обеспечения
- •Программное обеспечение массового использования
- •Позиционирование на рынке программных продуктов
- •Пример оценки экономической эффективности программного продукта массового спроса
- •Виды обучающих компьютерных программ на cd
- •Индивидуальные программные продукты
- •Лекция 5. Пример оценки эффекта от внедрения системы управления
- •Описание объекта управления
- •Построение вероятностной модели предприятия
- •Определим условные вероятности последствий
- •Согласование данных
- •Требования к согласованности условных вероятностей
- •Оценка потерь от выбросов
- •Моделирование последствий внедрения системы мониторинга
- •Алгоритм оценки
- •Уровень зрелости фирмы. Стандарт cmm
- •Лекция 6. Управление рисками программного проекта
- •Риски, связанные с реализацией проекта
- •Разделение ответственности
- •Количественная оценка рисков
- •Определение размеров ресурсов, необходимых для снижения рисков
- •Типовые и специфические источники рисков
- •Откуда брать информацию о рисках
- •Лекция 7. Управление персоналом
- •Роль персонала в эффективности проекта
- •Обеспечение условий работы
- •Работа в потоке
- •Организация рабочего места
- •Формирование команды Что такое команда
- •Лидерство
- •Факторы, способствующие формированию команды
- •Факторы, препятствующие формированию команды
- •Инвестиции в человека
- •Лекция 8. Управление качеством Эволюция представлений о качестве Потерянный рай (допромышленное ремесленное производство)
- •Издержки промышленной революции
- •Система Тейлора
- •Главное не наказать, а найти причину (система Шухарта)
- •Новая философия качества (идеи Деминга)
- •Системы управления качеством Роль рынка, ориентация на потребителя
- •Человеческий фактор, роль персонала
- •Международные стандарты серии iso 9000
- •Тотальное управление качеством (tqm)
- •Современные представления об управлении качеством
- •Лекция 9. Система управления качеством программной разработки Требования к системе управления качеством организации Политика в области качества
- •Система менеджмента качества
- •Управленческая деятельность
- •Система требований
- •Информационное обеспечение принятия решений
- •Контроль качества
- •Вовлечение персонала, партнеров, потребителей и общества
- •Требования к развитию
- •Управление качеством при проектировании и разработке
- •Оценка готовности предприятия к выпуску качественного программного продукта
- •Методы управления качеством программных проектов Управление документацией
- •Виды программной документации
- •Управление конфигурацией
- •Элементы конфигурации программного проекта
- •Контроль качества в ходе проектирования
- •Лекция 10. Программный продукт как объект интеллектуальной собственности Что такое интеллектуальная собственность?
- •Авторское право и смежные права
- •Регистрация интеллектуальной собственности
- •Регистрирующие органы
- •Рассмотрение заявки на официальную регистрацию
- •Выдача свидетельства
- •Правовые аспекты использования интеллектуальной собственности
- •Правовое обеспечение создания и использования объектов ис
- •Правовая охрана объектов интеллектуальной собственности
- •Экономические аспекты
Откуда брать информацию о рисках
Как отмечается в литературе об управлении, самые опасные риски, это те о которых мы забыли или вообще не знали. Поэтому, первое, что мы должны сделать, приступая к управлению рисками, выписать все возможные риски проекта.
Серьезным поставщиком рисков являются нерешенные проблемы. Даже, если в предыдущем проекте нам удалось как-то выкрутиться, проблема грозит нагнать нас в следующих проектах, и так до тех пор, пока не будет найдено её решение. Поэтому проблемы следует анализировать и решать сразу после их осознания, не дожидаясь, пока они проявятся в самый неподходящий момент.
Чем больше мы знаем о рисках, тем эффективнее можем ими управлять. Источники таких знаний – наш и чужой опыт. У каждого из этих источников есть свои достоинства и недостатки. Чужого опыта много, на его основе можно делать достоверные статистические выводы, но он не учитывает особенности нашей команды, фирмы и тематики. Поэтому необходимо постоянно собирать и систематизировать собственный опыт управления разработками.
Лекция 7. Управление персоналом
А главное, Шарапов, нужно, чтобы люди были тебе действительно интересны.
к/ф «Место встречи изменить нельзя»
Роль персонала в эффективности проекта
Хорошая команда разработчиков может создать выдающийся проект, несмотря на объективные трудности, ошибки администрации, неудачную конъюнктуру и т.д. Однако, в мировой практике не известны случаи, когда команда посредственностей создавала действительно хороший проект.
В середине 80-х годов в США и Австралии проводились эксперименты, целью которых являлись выявление факторов, влияющих на производительность и оценка различий в производительности разработчиков программного обеспечения [1]. В эксперименте участвовали несколько сотен программистских фирм, каждую из которых представляли 2-3 разработчика. Всем участникам эксперимента выдавались задания, которые они выполняли на своих рабочих месте, используя привычные языки программирования, инструментарий и технические средства. Задания подбирались схожими по сложности и по трудоемкости. Результаты и время выполнения заданий фиксировались экспериментаторами.
На основании полученных данных была построена кривая распределения персональной производительности разработчиков (рис. 7.1). На горизонтальной оси откладывалось время, потраченное на выполнение задания, а по вертикали – количество разработчиков, выполнивших задание за указанное время.
Рис. 7.1. Вариации производительности разработчиков программного обеспечения.
Аналогичные кривые получались по результатам нескольких лет наблюдений, проводимых разными экспериментаторами. Лучшие разработчики имели производительность в 2,5 раз выше средней и почти в 10 раз выше, чем аутсайдеры. При этом, если разделить разработчиков на две группы: с производительностью выше средней и ниже средний, то средняя производительность первой группы в 2 раза превышает среднюю производительность второй группы.
В ходе эксперимента выяснилось, что многие факторы, которые мы интуитивно включаем в список существенно влияющих на производительность, на самом деле влияют очень слабо. Рассмотрим эти факторы.
Язык программирования. Эксперимент показал, что лучшим языком для решения поставленной задачи является язык, который лучше знает разработчик. Исключением является язык Ассемблер, требующий существенно больших затрат усилий по сравнению с языками высокого уровня.
Стаж разработчиков. Если стаж более двух лет, то он практически не влияет на производительность. Другое дело – опыт: сумма знаний, умений и навыков, приобретенных в прошлых разработках. Но опыт зависит не столько от того, как долго человек работал, сколько от того, как он работал.
Качество выполнения заданий (количество недочетов). У большинства разработчиков, быстро справившихся с заданием, качество работы было выше, чем у отстающих. Это свидетельствует о том, что при правильной организации работы, качество не приводит к её удорожанию, а если работа организована неправильно, даже дополнительные затраты не смогут повысить её качество.
Уровень заработной платы. Это неожиданно, но производительность разработчика слабо коррелирует с уровнем его зарплаты. Лучшая половина получала зарплату всего на 10% выше, чем худшая, имея вдвое большую производительность.
Эксперимент выявил ещё одну интересную закономерность: высокую корреляцию производительности разработчиков одной фирмы. Например, если у одного представителя фирмы дело не ладилось, то с большой вероятностью и у другого представителя той же фирмы, дела также шли плохо. Кривая распределения производительности по фирмам оказалась схожей с кривой индивидуальной производительности, изображенной на рис. 1. Складывалось впечатление, что одни фирмы сумели собрать у себя классных специалистов, а другие могли привлечь только аутсайдеров.
Фирмы-лидеры, собравшие лучших разработчиков, приобретают огромное конкурентное преимущество, так как их издержки могут быть значительно ниже, чем у остальных фирм. А фирмы-аутсайдеры попадают в порочный круг: Из-за низкого профессионального уровня и текучки персонала руководство считает нецелесообразным вкладываться в кадры. Это приводит к ещё большей текучке, при этом в первую очередь, фирму покидают наиболее перспективные сотрудники, которым легче найти другую работу. Если фирма действительно хочет стать лидером, она должна разорвать этот круг, постоянно заботится о формировании команды профессионалов, стремиться выпускать продукты, лучшие в своей области.