Записывайтесь на новый онлайн-курс от Mail.Ru Group на Stepic

image

Мы продолжаем запускать в партнерстве со Stepic бесплатные онлайн-курсы по дисциплинам из Технопарка, Техносферы и Технотрека. Сегодня мы хотим представить наш новый курс: «Основы постановки задачи на разработку программ».

Кроме того, мы перезапускаем три курса: «Web-технологии», «Многопоточное программирование», «Hadoop» — и снова открываем на них запись.

Основы постановки задачи на разработку программ


ab8648090a754bae84fc5ab14243b83a.pngКурс формирует основные навыки подготовки и документирования требований к программному обеспечению. По итогам курса вы научитесь:

— работать с требованиями и заинтересованными сторонами;
— анализировать проблему и формулировать требования;
— проектировать взаимодействие пользователей с системой;
— обеспечивать необходимые качества системы на этапе постановки задачи.

Программа курса состоит из шести модулей.

1. Постановка задачи на разработку (зачем нужны требования?)

  • Вводный урок курса
  • Введение в проектирование требований
  • Определение контекста и границ системы
  • Анализ заинтересованных сторон


2. Бизнес-требования и бизнес-анализ

  • Введение в бизнес-анализ
  • Обзор техник сбора требований
  • Интервью для сбора потребностей
  • Формирование глоссария
  • Анализ проблемы
  • Формулирование проблемы
  • Определение возможностей решения
  • Документирование бизнес-требований


3. Определение поведения системы (функциональные требования)

  • Модель использования системы
  • Оптимизация модели использования системы
  • Документирование сценария/варианта использования системы


4. Требования к качеству (нефункциональные требования)

  • Качество программных продуктов
  • Категории нефункциональных требований
  • Сценарии атрибутов качества


5. Управление требованиями

  • Система управления требованиями
  • Прослеживаемость требований
  • Приоритизация требований
  • Управление изменениями


6. Подведение итогов

  • Что дальше?
  • Заключительный урок


Регистрация на IT.Mail.Ru.

Постановка задачи — это первый шаг к успешной реализации любой задачи. И часто именно на этом этапе возникает первое непонимание между заказчиками и исполнителями, что выливается в дальнейшие конфликты и приводит к срыву сроков. Чтобы этого избежать, постановщик задачи должен овладеть «разговорником разработчика», чтобы понимать, как мыслит разработчик и как донести до него ценность задачи.

В нашем подразделении существует целая методология постановки задач, мы называем их спецификациями. Новый менеджер должен ознакомиться с этой методологией, чтобы говорить с командой на одном языке. Овладеть этим искусством достаточно легко даже для человека без технического образования. Первый этап в нашей методологии — изложить суть задачи, как будто ты рассказываешь ее семилетнему школьнику. Я считаю, что это краеугольный камень в постановке задачи: уметь объяснить суть задачи простым языком, чтобы она была понятна человеку с любым уровнем подготовки. Кроме этого, на данном этапе важно зафиксировать цель задачи — какая метрика изменится и почему это произойдет. Такой подход позволяет ликвидировать взаимное непонимание в команде и создать общую мотивацию на достижение цели.

Одна из главных ошибок, которую совершают менеджеры, — не объясняют ценности задачи. Это пришло к нам из менеджмента XX века, где задача, по сути, есть приказ, который не обсуждается и обязателен к исполнению. Из-за этого разработчики теряют мотивацию, начинают считать менеджеров самодурами и относятся к выполнению задачи формально. Именно формальное отношение к задаче — наш главный враг. Мы стараемся не допускать ситуаций, когда разработчик использует отговорку «к пуговицам претензий нет». Основной принцип, который исповедуется в нашей команде, — передача максимальной ответственности исполнителям. Для этого важно привлечь разработчиков еще на этапе разработки спецификации, чтобы они почувствовали причастность к общей цели, а также указали на возможные технические ограничения.

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

Роман Новиков, руководитель проекта Мой Мир


Перезапуск курсов


Кроме нового курса, мы доработали запущенные ранее программы и снова открыли запись на них. Регистрация через портал IT.Mail.Ru:

  1. 30 апреля начнется курс по web-технологиям.
  2. 20 мая — «Многопоточное программирование на C/C++».
  3. 23 мая — «Hadoop. Система для обработки больших объемов данных».

© Habrahabr.ru