• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Групповая динамика и коммуникации в профессиональной практике программной инженерии

2021/2022
Учебный год
RUS
Обучение ведется на русском языке
4
Кредиты
Статус:
Курс обязательный
Когда читается:
3-й курс, 1, 2 модуль

Преподаватели

Программа дисциплины

Аннотация

Общая информация о курсе: Язык преподавания: русский Уровень: Бакалавриат Направление: 09.03.04. Программная инженерия Когда читается: 2-й курс, 1-2 модуль Преподаватель курса: Белова Н.С. Сейчас ни для кого не секрет, что рынок труда меняется быстрее, нежели чем 30-40 лет назад. Это обусловлено стремительным ростом технологий и увеличением количества знаний и навыков. Особо заметен рост в сфере информационных технологий (ИТ), где прогресс не стоит на месте, и примерно каждые полгода появляется нечто кардинально новое. Вышеописанные факторы приводят к тому, что одному человеку практически невозможно добиться хорошего результата в реализации ИТ-проектов. На текущий момент ни один полноценный программный продукт не был написан кем-то в одиночку. И потому в индустрии разработки ПО навыки командной работы становятся критическими факторами успеха. Как следствие этого, обучение студентов ИТ-специальностей навыкам организации совместной деятельности необходимо и как актуальная потребность, диктуемая работодателем, и как конкурентное преимущество. В рамках образовательной программы «Программная инженерия» факультета компьютерных наук НИУ ВШЭ, изучение аспектов командного взаимодействия и разработки ПО реализуется на 2 курсе бакалавриата в рамках авторского курса «Групповая динамика и коммуникации в профессиональной практике программной инженерии». Ядро дисциплины – сквозной учебный проект по разработке ПО, выполняемый командами студентов (4-5 человек) и решающий нужды конкретного заказчика. Целью учебного проекта в данной дисциплине являются прохождение студентов через жизненный цикл разработки программного обеспечения, погружение в реальную практику и развитие комплекса ключевых компетенций. Наша миссия – сделать наших студентов конкурентоспособными на рынке труда за счет формирования у них целостного представления о состоянии, механизмах и основах продуктивной деятельности проектных команд в жизненном цикле разработки ПО.
Цель освоения дисциплины

Цель освоения дисциплины

  • выработать навыки формирования и организации проектной команды и навыки использования командных методов работы
  • научить планировать деятельность проектной команды, в первую очередь, планировать управление человеческими ресурсами и коммуникацию в проекте
  • выработать навыки анализа и диагностики проблем эффективной работы проектных команд и определить способы совершенствования процессов управления
  • дать возможность практического применения приобретенных знаний, умений, навыков и компетенций в профессиональной практике и деловом общении и получения опыта создания сплочённой высокопродуктивной команды
Планируемые результаты обучения

Планируемые результаты обучения

  • Уметь пользоваться инструментами для командной разработки программного обеспечения
  • Знать основные этапы в процессе командной разработки программного обеспечения
  • Применить приобретенные знания, умения, навыки и компетенции в профессиональной практике и деловом общении для создания сплочённой высокопродуктивной команды
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в дисциплину
    Введение. Понятие проекта. Понятие заказной разработки. Заказчик и исполнитель. Разные виды компаний-заказчиков: корпорации, стартапы, фирмы- подрядчики. Особенности групповой (командной) разработки.
  • Команда. Особенности построения
    Понятие команды. Эффект синергии. Построение команды c учетом результатов тестов Белбина, Хони-Мамфорда, Майерс-Бриггс.
  • Групповые коммуникации
    Решение конфликтов. Групповые коммуникации. Мозговой штурм. Питчинг идей
  • Git
    Введение в распределённую систему управления версиями Git. Общие сведения. Начало работы с проектом. Ежедневный цикл работы. Ветвления. Слияние версий. Конфликты и их разрешение. Базовые принципы командной разработки ПО в DVCS.
  • Методологии разработки программного обеспечения
    Жизненные циклы программного обеспечения. Основные идеи и принципы гибкой методологии разработки. Введение в Agile. Использование программы управления проектами.
  • Особенности заказной разработки
    Выстраивание взаимодействия с заказчиком. Извлечение требований. Методы извлечения требований. Анкетирование. Интервьюирование. Анализ полученных требований. Анализ аналогов для формирования предварительного предложения
  • Требования к программному обеспечению
    Спецификация требований. Написание ТЗ. Планирование Разработки. Техники оценки задач. Диаграмма Ганта. Сете-вое планирование.
  • Техническая документация
    Особенности составления технической документации по ГОСТ. ТЗ как юридический документ. Внесение изменений. Разбор типичных ошибок, возникающих при разработке ТЗ.
  • Взаимодействие с заказчиком
    Особенности взаимодействия с заказчиком в процессе доизвлечеия требований, оформление дополнительных соглашений, внесение изменений в план, перераспределение ресурсов.
  • Риски
    Управление рисками. Определение, анализ, планирование и мониторинг рисков. Громкие успехи и неудачи.
  • UX/UI проектирование
    UX/UI проектирование программного продукта. Типы прототипов. Инструменты. Разработка пользовательского интерфейса. Принципы расположения элементов на интерфейсе. Хорошие практики. Карта экранов.
  • Архитектура ПО
    Принципы разработки и описание архитектуры ПО
  • Тестирование
    Тестирование программного продукта. Задачи и подходы тестирования.
  • Презентация проекта
    Техника презентации проекта. Разработка презентации с учетом правил размещения текста и объектов на экране, а так же принципов цветовосприятия
  • Предзащита
    Предварительная защита командного проекта перед преподавателями и учебными ассистентами дисциплины.
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание (ДЗ1)
    Формирование команды с учетом проведенного тестирования. Распределение членов команды по ролям с обоснованием такого распределения
  • неблокирующий Домашнее задание (ДЗ2)
    Представление описания проекта, выработанного командой после мозгового штурма. На дополнительные баллы можно подготовить питч проекта
  • неблокирующий Техническое задание (ТЗ)
    Анализ извлеченных требований. Разработка ТЗ. Время выполнения 3 недели.
  • неблокирующий Домашнее задание (ДЗ5)
    Извлечение требований с использованием анкетирования и интервьюирования. Составление анкеты и протокола встречи.
  • неблокирующий Домашнее задание (ДЗ6)
    Составить список рисков, основного и дополнительного плана их решения. Составить план тестирования. Актуализировать итоговый документ проекта, диаграмму Ганта, составить список конфликтов в команде и пути их решения
  • неблокирующий Компьютерное тестирование (Т)
    Количество включенных в работу тестовых заданий – 20. Продолжительность тестирования составляет 40 минут.
  • неблокирующий Домашнее задание (ДЗ4)
    Git. Групповое домашнее задание, время выполнения - 1 неделя.
  • неблокирующий Домашнее задание (ДЗ3)
    Проведение сравнительного анализа выбранного на реализацию проекта. Групповое домашнее задание с защитой на семинаре, время выполнения - 3 недели (постепенное внесение изменений в результирующую сравнительную таблицу по мере извлечения требований у заказчика)
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    Н=0.1*АП+0.35*ТЗ+0.35*ДЗ+0.2*Т Окончательная оценка = 0.6*Н + 0.4 * Экз
Список литературы

Список литературы

Рекомендуемая основная литература

  • Методические основы управления ИТ - проектами : учебник для вузов, Грекул, В. И., Коровкина, Н. Л., 2011

Рекомендуемая дополнительная литература

  • Основы риск - менеджмента : учеб. пособие, Круи, М., Галай, Д., 2011