Тема Организация разработки и внедрения информационных продуктов
Скачать 0.72 Mb.
|
Менеджмент в информационно- коммуникационных технологиях Тема 2. Организация разработки и внедрения информационных продуктов. Цели изучения темы: - освоение технологии разработки и внедрения информационных продуктов; - исследование этапов и инструментов разработки и внедрения информационных продуктов. Задачи изучения темы: Изучить роли менеджера проекта и архитектора проекта. Изучить состав Технического задания на аппаратно- программный комплекс и требования к современным информационным системам. Определить области применения диаграммы Ганта и других инструментов планирования. Автоматическое, полуавтоматическое и ручное планирование. Распределение работы при управлении проектом. Распределенное программирование. Ознакомиться с технологиями «Scrum», «Agile», «Waterfall», «Project Management». Посмотреть возможности «MS Project». Познакомится с представлением кода, блок-схем и результатов программы, документации на программу. Изучить методы контроля выполнения проектов, оптимальные KPI. Интеграционные проекты, связанные с обменом данными. В результате изучения данной темы Вы будете знать: основные понятия технологииразработки и внедрения информационных продуктов; техническое задание на аппаратно-программный комплекс и требования к современным информационным системам; инструменты планирования разработки проектов; представление кода, блок-схем и результатов программы уметь: формулировать требования к современным информационным системам; выбирать инструменты планирования разработки проектов; представлять код, блок-схемы и результаты программы. Учебные вопросы темы: 1. Роль менеджера проекта и архитектора проекта. Техническое задание на аппаратно-программный комплекс и требования к современным информационным системам. 2. Техническое задание и требования к системам. 3. Диаграмма Ганта и другие инструменты планирования. Автоматическое, полуавтоматическое и ручное планирование. Распределение работы при управлении проектом. Представление о возможностях MS Project. 4. Технологии «Scrum», «Agile», «Lean», «Waterfall», «MS Project». 5. KPI в IT – проектах. Документация на программное обеспечение. Основные термины и понятия, которые Вам предстоит изучить: 1. Менеджер проекта. 2. Архитектор проекта. 3. Техническое задание на аппаратно-программный комплекс. 4. Требования к современным информационным системам. 5. Диаграммы Ганта. Представление о возможностях MS Project. 6. Инструменты планирования разработки информационной системы. 7. Автоматическое, полуавтоматическое и ручное планирование. 8. Распределение работы при управлении проектом. 9. Распределенное программирование. 10. Практика Scrum, Agile, Waterfall, Lean. 12. Представление кода, блок-схем и результатов программы. 13. Документация на программу. 14. Контроль выполнения, оптимальные KPI. 15. Интеграционные проекты, связанные с обменом данными Обратите внимание: 1. Техническое задание на аппаратно-программный комплекс и требования к современным информационным системам. 2. Распределенное программирование. 3. Представление кода, блок-схем и результатов программы. Вопрос 1. Роль менеджера проекта и архитектора проекта. Техническое задание на аппаратно-программный комплекс и требования к современным информационным системам Архитектор проекта работает в тесном взаимодействии с заказчиком. Он выполняет прототип проекта, чтобы показать его заказчику и бизнесу. При выборе архитектурного стиля нужно вовлекать разные стороны – разработчиков, пользователей системы, специалистов по безопасность, специалистов по эксплуатацию. Менеджер ИТ проекта. Управление проектом — это работа над его составляющими. Составляющие проекта показаны на рисунке 1. Рис 1. Составляющие ИТ проекта Основная обязанность и ответственность менеджера проекта — довести идею заказчика до реализации в установленный срок, используя существующие ресурсы. В рамках этой задачи менеджеру необходимо построить план разработки, организовать команду, настроить процесс работы над проектом, обеспечить обратную связь между командами и заказчиком, устранять помехи для команд, контролировать качество и поставку продукта в срок. Задачи менеджера проекта можно классифицировать следующим образом: тактические это решение каждодневных проблем проекта, устранение препятствий с пути команды; стратегические заключаются в том, чтобы координировать общую цель проекта, путь к ней, а также скорость передвижения. Менеджер проектов ценит время, является хорошим аналитиком, психологом, лидером. Менеджер проектов энергичен, позитивен, не паникует, вместо отговорок ищет пути решения проблем, понимает стратегию и тактику проекта. Главная задача архитектора проекта поиск оптимальных (простых, удобных, дешевых) решений, которые будут максимально соответствовать потребностям заказчика и возможностям команды. На основании бизнес- требований этот специалист создает функциональную и техническую спецификацию системы, планирует и проектирует способы технической реализации, выбирает технологии. Архитектор обязан иметь целостное видение всей системы и грамотно определять, как система будет разбита на модули, и как эти модули будут взаимодействовать между собой. Только после принятия этих решений команда разработчиков сможет приступить к работе над отдельными модулями. В обязанности архитектора проекта входит: 1. Проектирование системы на основе требований заказчика. 2. Определение архитектуры приложения или ее эволюции. 3. Выбор технологии для каждого звена системы. 4. Выбор способов взаимодействия между компонентами системы. 5. Просмотр кода и дизайна при больших изменениях. 6. Рефакторинг кода. 7. Обучение и консультирование программистов. Архитектор ПО не отличаются от других Архитекторов, которые строят мосты или дома, кроме сферы строения. Приложение – это тоже строение: ему нужен правильный фундамент и сильные решения. Стоя под мостом во время проверки нагрузкой, нужно быть уверенным, что он не рухнет. Вопрос 2. Техническое задание и требования к современным информационным системам Техническое задание или спецификация превращение мысли клиента в структурированный документ, четко описывающий, что необходимо сделать команде. Позже, именно этот документ утверждается с клиентом и ложится в основу выполняемого проекта. Системные требования и ограничения определения элементарных операций, которые должна иметь система, а также различных условий, которым она может удовлетворять. Требования по характеру: 1) бизнес-требования; 2) пользовательские требования; 3) функциональные требования. К системным требованиям и ограничениям относятся: 1) требования к применяемому оборудованию и ПО; 2) требования к документированию; 3) требования к дизайну и юзабилити; 4) требования к безопасности и надежности; 5) требования к показателям производительности, устойчивости к сбоям; 6) требования к эксплуатации. Техническое задание на разработку информационной системы состоит из трех стадий: 1. Обоснование необходимости разработки информационной системы: постановка задачи; сбор исходных материалов; выбор и обоснование критериев эффективности и качества разработанной системы; обоснование необходимости проведения научно-исследовательской работы. 2. Научно-исследовательская работа: определение структуры входных и выходных данных; предварительный выбор методов решения задач; обоснование целесообразности применения разработанной системы; определение требований к техническим средствам; обоснование принципиальной возможности решения поставленной задачи. 3. Разработка и утверждение технического задания: определение требований к программам; разработка технико-экономического обоснования системы: определение стадий, этапов и сроков разработки системы; определение документация на систему; выбор языков программирования; согласование и утверждение технического задания. Вопрос 3. Диаграмма Ганта и другие инструменты планирования. Автоматическое, полуавтоматическое и ручное планирование. Распределение работы при управлении проектом Диаграмма Ганта это диаграмма, отображающая визуально запланированные задачи. Горизонтальные графики используются для планирования проектов любых размеров в разных отраслях и сферах деятельности. Диаграмма Ганта – это удобный способ показать, какая работа планируется к выполнению в определенный день и время. Это помогает командам и менеджерам проектов контролировать даты начала и окончания любого проекта. Шаблон диаграммы приведен на рисунке 2. Рис 2. Шаблон диаграммы Ганта Как создать диаграмму Ганта? Запускаем программу «MS Project» и создаем новый проект. Переходим на вкладку Задача и выбираем Диаграмма Ганта. В верхней части появившегося окна вводим задачи и сроки их выполнения и в основной части окна появятся заполненные строки диаграммы Ганта. Скриншот приведен на рисунке 3. Рис 3. Заполнение диаграммы Ганта Распределение работы при управлении проектом. Задача управления проектом разбивается на управление следующими этапами. 1. Управление задачами. 2. Управление сроками. 3. Управление качеством. 4. Управление рисками. Распределенное программирование – это способ обработки данных, при котором различные части программы выполняются на нескольких компьютерах, образующих параллельную, вычислительную систему с возможностью наращивания производительности. Технологии «Scrum», «Agile», «Lean», «Waterfall», «MS Project». Agile (agile software development, от англ. agile – проворный или шустрый) – это семейство «гибких» подходов к разработке программного обеспечения. Такие подходы также иногда называют фреймворками или agile-методологиями. Agile возник в IT-среде, но затем распространился и в другие сферы – от промышленной инженерии до искусственного интеллекта. Универсальные программисты - важнейшая составная часть успеха. Трудность подбора команд универсальных программистов является недостатком технологии гибкого программирования. К отдельным agile-подходам относятся «scrum» и «kanban». Scrum — это каркас разработки, с использованием, которого можно решать появляющиеся проблемы программирования быстро и качественно. На рисунке 4 представлена схема технологического процесса разработки в модели Scrum. Рис 4. Схема технологического процесса разработки в модели Scrum Основой Scrum является этап Sprint, в течение которого выполняется работа над продуктом. По окончанию Sprint должна быть получена новая рабочая версия продукта. Sprint всегда ограничен по времени (1-4 недели) и имеет одинаковую продолжительность на протяжении всей жизни продукта. Kanban – это «подход баланса». Его задача – сбалансировать разных специалистов внутри команды и избежать ситуации, когда дизайнеры работают сутками, а разработчики жалуются на отсутствие новых задач. Вся команда едина – в kanban нет ролей владельца продукта и scrum-мастера. Бизнес-процесс делится не на универсальные спринты, а на стадии выполнения конкретных задач: «Планируется», «Разрабатывается», «Тестируется», «Завершено» и др. Главный показатель эффективности в kanban – это среднее время прохождения задачи по доске. Задача прошла быстро – команда работала продуктивно и слаженно. Задача затянулась – надо думать, на каком этапе и почему возникли задержки и чью работу надо оптимизировать. Для визуализации agile-подходов используют доски: физические и электронные. Они позволяют сделать рабочий процесс открытым и понятным для всех специалистов, что важно, когда у команды нет одного формального руководителя. Waterfall (модель «Водопад») - водопадная или каскадная разработка продуктов. Подобно потоку воды, она направляет команды решать задачи последовательно и строго, по изначальному плану. Название появилось в 1970 году в статье Винстона Уолкера Ройса, директора Lockheed Software Technology Center, а структура модели позаимствована у диаграммы Ганта. Рассмотрим каскадную модель разработки продуктов в «MS Project». Запускаем программу MS Project и создаем новый проект. Переходим на вкладку Задача и выбираем Диаграмма Ганта. Появится окно, представленное на рисунке 3. Переходим в меню Задачи в поле Вставить и нажимаем Суммарная задача. Откроется окно, представленное на рисунке 5. Рис 5. Добавление новой задачи Следуя каскадной модели, разработчик переходит от одной стадии к другой строго последовательно. Сначала полностью завершается этап «определение требований», в результате чего получается список требований к ПО. После того как требования полностью определены, происходит переход к проектированию, в ходе которого создаются документы, подробно описывающие для программистов способ и план реализации указанных требований. После того как проектирование полностью выполнено, программистами выполняется реализация полученного проекта. На следующей стадии процесса происходит интеграция отдельных компонентов, разрабатываемых различными командами программистов. После того, как реализация и интеграция завершены, производится тестирование и отладка продукта. На этой стадии устраняются все недочеты, появившиеся на предыдущих стадиях разработки. После этого, программный продукт внедряется и обеспечивается его поддержка — внесение новой функциональности и устранение ошибок. Концепция Lean. Концепция Lean пришла из бережливого производства (Lean Manufacturing). Lean имеет набор принципов, относящихся к качеству, скорости и ориентированности на клиента. Рассмотрим основные принципы Бережливого Производства: 1. Устранение потерь. 2. Повышение качества. 3. Создание знаний. 4. Отсроченные обязательства. 5. Быстрая поставка. 6. Уважение людей. 7. Полная оптимизация. Lean говорит: «безжалостно избавляйтесь от всего, что не добавляет дополнительной ценности, и делайте только то, в чем вы абсолютно уверены, что это нужно делать в настоящий момент». «Устранять потери» означает устранять бесполезные собрания, задачи и документацию. Но это также означает избавляться от временных потерь в любых известных задачах, которые нужно будет сделать в будущем (все постоянно меняется и часто в итоге становится ненужным. Если бы мы сделали что-то наперед, то мы должны были бы потратить время на переделку этого, потому что условия или наше понимание уже изменилось в последствии). Это также означает, что мы должны избавляться от неэффективных способов работы, таких как многозадачность, чтобы мы могли делать поставки быстро. Lean делает акцент на то, что называется «системой», т.е. что команда работает как единое целое. В концепции Lean мы всегда должны смотреть на работу «с высоты», чтобы быть уверенным, что мы улучшаемся в целом. Например, много менеджеров хотят «занять» работой каждого разработчика на 100%, но в большинстве случаев это, на самом деле, контрпродуктивно. Lean же говорит: «Давайте не будем заставлять людей кодить то, что не нужно (или полностью не определено), только ради того, чтобы они кодили, потому что в будущем для нас это создает еще больше работы». Подводя черту, Lean говорит: «уважайте людей». Это означает давать людям ту работу, которую они лучше всего знают, как надо делать. Дайте им то, что им необходимо, чтобы быть эффективными и затем доверьте им сделать это. Суть программной разработки - в постоянном обучении, поэтому строить работу нужно так, чтобы убеждаться, что мы постоянно учимся. И поэтому, нужно откладывать принятие решения до последнего момента. В итоге, разработка идет путем создания качественного продукта, потому что нет другого способа, обеспечивающего постоянную быструю поставку, если нужно возвращаться и убирать наш беспорядок. Компании, которые по-настоящему следуют Lean, имеют сильное конкурентное преимущество, потому что они очень быстро и в высшей степени дисциплинированно реагируют на рыночный спрос, а не пытаются предсказывать будущее. Вопрос 4. KPI в IT - проектах. Документация на программное обеспечение Соблюдение единых правил оформления программного кода значительно облегчает читаемость кода и позволяет обеспечивать высокую эффективность технической поддержки информационных систем и процессов реализации доработок в информационных системах. Примеры алгоритмов «Следование» и «Полной развилки» приведены ниже. Алгоритм Следование - это последовательное выполнение операций Рис 6. Блок схем алгоритма «Следование» Развилка (условие) - выбор пути передачи управления программой с помощью проверки выполнения наперед заданного условия. Развилка, в свою очередь, делится на: • неполную развилку; • полную развилку; • ветвление. При полной развилке программа выполняет последовательность операций по каждой из двух веток (при выполнении или невыполнении условия): Рис 7. Блок-схема алгоритма «Полной развилки» Документация на программное обеспечение: печатные руководства пользователя; диалоговая (оперативная) документация; инструкция для пользователя. Программный документ документ, содержащий в зависимости от назначения данные, необходимые для разработки, производства, эксплуатации, сопровождения программы или программного средства. Типы документации на программное обеспечение: архитектурная/проектная: обзор программного обеспечения, включающий описание рабочей среды и принципов, которые должны быть использованы при создании программного обеспечения; техническая: документация на код, алгоритмы, интерфейсы; пользовательская — руководства для конечных пользователей; инструкция для системных администраторов; маркетинговая. Ключевые показатели эффективности (Key Performance Indicators, KPI) — числовые показатели деятельности предприятия, которые помогают организации в достижении целей. Ключевые показатели эффективности (KPI) - инструмент измерения достижения целей для компании в целом, и отделов в частности. Они наглядно демонстрируют, насколько эффективно бизнес реализует свои стратегические и тактические планы. Определение ключевых показателей эффективности для конкретной компании сводится к двухэтапному процессу: 1. Устанавливаем наиболее важные цели, от которых зависит бизнес. 2. Выявляем корреляцию индикаторов и исходных данных и прогнозируем. Рассмотрим, какие есть KPI: KPI Sales Growth - измеряет темпы прироста или уменьшения доходов предприятия от реализации своих услуг. Это ключевой показатель для любой организации. Регулярный мониторинг становится важной частью прогноза доходов, и играет важную роль в принятии стратегических решений. KPI Purchase Funnel - анализирует процесс привлечения клиентов. Индикатор помогает понять, как потенциальные покупатели находят ваш продукт или бренд и, что более важно, как они в конечном итоге становятся лояльными клиентами. KPI Product Performance позволяет оценить эффективность продаж с учетом анализа доходности ассортимента услуг. Цель — информировать о том, какие услуги повышенным спросом. При мониторинге этого показателя важно сравнивать продажи и проводимые маркетинговые программы, нацеленные на продвижение конкретных услуг. KPI Sales Targets - измеряет текущие продажи и сравнивает их с плановыми показателями или со значениями за аналогичный период в прошлом. Цель - определение причин отклонения от плана или прогноза. KPI Marketing ROI - финансовый показатель, оценивающий способность маркетинговой кампании генерировать доход для компании. KPI Goal Completion Rate - измеряет количество людей, которые выполняют определенное действие, например, подписываются на e-mail рассылку или становятся участниками проводимой акции скидок. Интеграция данных (Data integration) - процесс объединения данных из различных источников для получения их согласованного представления. Это - процесс организации регулярного обмена данными между различными информационными системами предприятия. Основные KPI: 1. Степень удовлетворенности внешнего или внутреннего заказчика. 2. Соблюдение сроков, согласно ТЗ. 3. Качество выполняемой работы. 4. Сокращение издержек и рисков. 5. Минимизация количества ошибок. Вопросы для самопроверки: 1. Какие функции менеджера проекта? 2. Каков состав технического задания на информационную систему? 3. Что такое диаграмма Ганта? 4. Какие функции выполняет диаграмма Ганта? 5. Опишите практики проектирования Scrum, Agile. 6. Перечислите основные KPI в IT - проектах. |