Бакалавриат
2020/2021
Групповая динамика и коммуникации в профессиональной практике программной инженерии
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус:
Курс обязательный (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Язык:
русский
Кредиты:
4
Контактные часы:
60
Программа дисциплины
Аннотация
Общая информация о курсе: - Язык преподавания: русский - Уровень: Бакалавриат - Направление: 09.03.04. Программная инженерия - Когда читается: 2-й курс, 1-3 модуль - Авторы и преподаватели курса: Горденко М.К., Береснева Е.Н. Сейчас ни для кого не секрет, что рынок труда меняется быстрее, нежели чем 30-40 лет назад. Это обусловлено стремительным ростом технологий и увеличением количества знаний и навыков. Особо заметен рост в сфере информационных технологий (ИТ), где прогресс не стоит на месте, и примерно каждые полгода появляется нечто кардинально новое. Вышеописанные факторы приводят к тому, что одному человеку практически невозможно добиться хорошего результата. На текущий момент ни один полноценный программный продукт не был написан кем-то в одиночку. И потому в индустрии разработки ПО навыки командной работы становятся критическими факторами успеха. Как следствие этого, обучение студентов ИТ-специальностей навыкам организации совместной деятельности необходимо и как актуальная потребность, диктуемая работодателем, и как конкурентное преимущество. В рамках образовательной программы «Программная инженерия» факультета компьютерных наук НИУ ВШЭ, изучение аспектов командного взаимодействия и разработки ПО реализуется на 2 курсе бакалавриата в рамках авторского курса «Групповая динамика и коммуникации в профессиональной практике программной инженерии». Ядро дисциплины – сквозной учебный проект по разработке ПО, выполняемый командами студентов (3-5 человек) и решающий нужды конкретного заказчика. Целью учебного проекта в данной дисциплине являются прохождение студентов через жизненный цикл разработки программного обеспечения, погружение в реальную практику и развитие комплекса ключевых компетенций. Наша миссия – сделать наших студентов конкурентоспособными на рынке труда за счет формирования у них целостного представления о состоянии, механизмах и основах продуктивной деятельности проектных команд в жизненном цикле разработки ПО.
Цель освоения дисциплины
- выработать навыки формирования и организации проектной команды и навыки использования командных методов работы
- научить планировать деятельность проектной команды, в первую очередь, планировать управление человеческими ресурсами и коммуникацию в проекте
- выработать навыки анализа и диагностики проблем эффективной работы проектных команд и определить способы совершенствования процессов управления
- дать возможность практического применения приобретенных знаний, умений, навыков и компетенций в профессиональной практике и деловом общении и получения опыта создания сплочённой высокопродуктивной команды
Планируемые результаты обучения
- Приобрести навыки формирования и организации проектной команды
- Уметь пользоваться инструментами для командной разработки программного обеспечения
- Применить приобретенные знания, умения, навыки и компетенции в профессиональной практике и деловом общении для создания сплочённой высокопродуктивной команды
- Знать основные этапы в процессе командной разработки программного обеспечения
- Научиться планировать деятельность проектной команды, в первую очередь, планировать управление человеческими ресурсами и коммуникацию в проекте
Содержание учебной дисциплины
- Командная разработка простого web-приложенияОсновы создания просто серверного приложения с web-интерфейсом и базой данных.
- GitВведение в распределённую систему управления версиями Git. Общие сведения. Начало работы с проектом. Ежедневный цикл работы. Ветвления. Слияние версий. Конфликты и их разрешение. Базовые принципы командной разработки ПО в DVCS.
- Анализ предметной областиАнализ предметной области. Определение и анализ конкурентов. Введение в анализ требований к программному обеспечению.
- Методологии разработки программного обеспеченияЖизненные циклы программного обеспечения. Основные идеи и принципы гибкой методологии разработки. Введение в Agile. Использование программы управления проектами.
- Требования к программному обеспечениюПроцесс работы с требованиями к программному обеспечению. Извлечение и анализ требований. Спецификация требований. Проверка требований. Практические соображения.
- ПланированиеПланирование IT-проекта. Принципы, особенности и техники оценки задач в Agile.
- Психология командной разработкиКлючевые признаки и характеристики команды. Построение команды: задачи, люди, взаимоотношения. Индивидуальные типы личности. Типология Майерс-Бриггс. Обзор тестов по самопознанию. Мозговой штурм. Цена преждевременной критики. Обратная связь. Лидерство. Мотивация. Конфликты. Управление рисками. Определение и анализ рисков.
- РискиУправление рисками. Определение, анализ, планирование и мониторинг рисков. Громкие успехи и неудачи.
- UX/UI проектированиеUX/UI проектирование программного продукта. Типы прототипов. Инструменты. Разработка пользовательского интерфейса. Принципы расположения элементов на интерфейсе. Хорошие практики. Карта экранов.
- Деловые игрыДеловые игры на развитие навыков командного взаимодействия. Концепция MVP в командной разработке группового проекта.
- РетроспективаРетроспектива. Лайфхаки проектной команды: выученные уроки, хорошие практики.
- ТестированиеТестирование программного продукта. Задачи и подходы тестирования.
- ВведениеСодержание дисциплины. Описание основных этапов реализации будущего проекта
- Подготовка командной презентацииИдеальный питч. Построение идеальной презентации. Специфика командной презентации проекта. Напутствие перед защитой.
- ПредзащитаПредварительная защита командного проекта перед преподавателями и учебными ассистентами дисциплины.
Элементы контроля
- Домашнее задание (ДЗ1)Git. Групповое домашнее задание, время выполнения - 1 неделя.
- Домашнее задание (ДЗ2)Анализ конкурентов, драфт пользовательского интерфейса. Групповое домашнее задание с защитой на семинаре, время выполнения - 3 недели.
- Домашнее задание (ДЗ3)Требования. Групповое домашнее задание с защитой на семинаре, время выполнения - 1 неделя.
- Домашнее задание на взаимное оценивание (ДЗ4)Peer review требований и пользовательских интерфейсов других команд. Групповое домашнее задание, время выполнения - 11 дней.
- Домашнее задание (ДЗ5)Тестирование. Групповое домашнее задание, время выполнения - 1 неделя.
- Домашнее задание (ДЗ6)Групповое домашнее задание, время выполнения - 2 недели.
- Компьютерное тестирование (Т1)Количество включенных в работу тестовых заданий – 20. Продолжительность тестирования составляет 20 минут.
- Компьютерное тестирование (Т2)Количество включенных в работу тестовых заданий – 20. Продолжительность тестирования составляет 20 минут.
- Компьютерное тестирование (Т3)Количество включенных в работу тестовых заданий – 20. Продолжительность тестирования составляет 20 минут.
- Компьютерное тестирование (Т4)Количество включенных в работу тестовых заданий – 20. Продолжительность тестирования составляет 20 минут.
- Компьютерное тестирование (Т5)Количество включенных в работу тестовых заданий – 20. Продолжительность тестирования составляет 20 минут.
- Компьютерное тестирование (Т6)Количество включенных в работу тестовых заданий – 20. Продолжительность тестирования составляет 20 минут.
- Экзамен (Экз)Выступление с презентацией и предоставление итоговой документации - командная защита группового проекта. 10 минут на выступление + 10 минут на вопросы. Экзамен проходит в виде защиты проектов по командам (команды все сформированы внутри групп) по 30 минут на команду. Экзамен без прокторинга в MS Teams, создана специальная группа.
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)ДЗ = Округление(1/6 * (ДЗ1 + ДЗ2 + ДЗ3 + ДЗ4 + ДЗ5 + ДЗ6)) Т = Округление(1/6 * (Т1 + Т2 + Т3 + Т4 + Т5 + Т6)) Окончательная оценка = 0.25 * ДЗ + 0.25 * Т + 0.5 * Экз
Список литературы
Рекомендуемая основная литература
- Методические основы управления ИТ - проектами : учебник для вузов, Грекул, В. И., 2011
Рекомендуемая дополнительная литература
- Основы риск - менеджмента : учеб. пособие, Круи, М., 2011
- Психология общения : учеб. пособие для вузов, Леонтьев, А. А., 2005
- Человеческие факторы в программной инженерии: рекомендации и требования к профессиональной квалиф... : учебник, Липаев, В. В., 2009