Записывайтесь на новый онлайн-курс от Mail.Ru Group на Stepic
Мы продолжаем запускать в партнерстве со Stepic бесплатные онлайн-курсы по дисциплинам из Технопарка, Техносферы и Технотрека. Сегодня мы хотим представить наш новый курс: «Основы постановки задачи на разработку программ».
Кроме того, мы перезапускаем три курса: «Web-технологии», «Многопоточное программирование», «Hadoop» — и снова открываем на них запись.
Основы постановки задачи на разработку программ
Курс формирует основные навыки подготовки и документирования требований к программному обеспечению. По итогам курса вы научитесь:
— работать с требованиями и заинтересованными сторонами;
— анализировать проблему и формулировать требования;
— проектировать взаимодействие пользователей с системой;
— обеспечивать необходимые качества системы на этапе постановки задачи.
Программа курса состоит из шести модулей.
1. Постановка задачи на разработку (зачем нужны требования?)
- Вводный урок курса
- Введение в проектирование требований
- Определение контекста и границ системы
- Анализ заинтересованных сторон
2. Бизнес-требования и бизнес-анализ
- Введение в бизнес-анализ
- Обзор техник сбора требований
- Интервью для сбора потребностей
- Формирование глоссария
- Анализ проблемы
- Формулирование проблемы
- Определение возможностей решения
- Документирование бизнес-требований
3. Определение поведения системы (функциональные требования)
- Модель использования системы
- Оптимизация модели использования системы
- Документирование сценария/варианта использования системы
4. Требования к качеству (нефункциональные требования)
- Качество программных продуктов
- Категории нефункциональных требований
- Сценарии атрибутов качества
5. Управление требованиями
- Система управления требованиями
- Прослеживаемость требований
- Приоритизация требований
- Управление изменениями
6. Подведение итогов
- Что дальше?
- Заключительный урок
Регистрация на IT.Mail.Ru.
Постановка задачи — это первый шаг к успешной реализации любой задачи. И часто именно на этом этапе возникает первое непонимание между заказчиками и исполнителями, что выливается в дальнейшие конфликты и приводит к срыву сроков. Чтобы этого избежать, постановщик задачи должен овладеть «разговорником разработчика», чтобы понимать, как мыслит разработчик и как донести до него ценность задачи.
В нашем подразделении существует целая методология постановки задач, мы называем их спецификациями. Новый менеджер должен ознакомиться с этой методологией, чтобы говорить с командой на одном языке. Овладеть этим искусством достаточно легко даже для человека без технического образования. Первый этап в нашей методологии — изложить суть задачи, как будто ты рассказываешь ее семилетнему школьнику. Я считаю, что это краеугольный камень в постановке задачи: уметь объяснить суть задачи простым языком, чтобы она была понятна человеку с любым уровнем подготовки. Кроме этого, на данном этапе важно зафиксировать цель задачи — какая метрика изменится и почему это произойдет. Такой подход позволяет ликвидировать взаимное непонимание в команде и создать общую мотивацию на достижение цели.
Одна из главных ошибок, которую совершают менеджеры, — не объясняют ценности задачи. Это пришло к нам из менеджмента XX века, где задача, по сути, есть приказ, который не обсуждается и обязателен к исполнению. Из-за этого разработчики теряют мотивацию, начинают считать менеджеров самодурами и относятся к выполнению задачи формально. Именно формальное отношение к задаче — наш главный враг. Мы стараемся не допускать ситуаций, когда разработчик использует отговорку «к пуговицам претензий нет». Основной принцип, который исповедуется в нашей команде, — передача максимальной ответственности исполнителям. Для этого важно привлечь разработчиков еще на этапе разработки спецификации, чтобы они почувствовали причастность к общей цели, а также указали на возможные технические ограничения.
Я думаю, что данный курс окажется интересен как менеджерам, так и разработчикам. Первым полезно будет научиться основам взаимопонимания между заказчиком и исполнителем. Повторюсь, хорошо сформулированная задача — ключ к высокой мотивации разработчика на ее выполнение и достижение общей цели. Для разработчиков данный курс будет также полезен, ведь программирование — это командная дисциплина, требующая постоянного взаимодействия с разработчиками из других проектов. Рано или поздно любой разработчик должен поставить свою первую задачу коллегам, и, чтобы она была решена успешно, нужно знать основы постановки задач, которые излагаются в этом курсе.
Роман Новиков, руководитель проекта Мой Мир
Перезапуск курсов
Кроме нового курса, мы доработали запущенные ранее программы и снова открыли запись на них. Регистрация через портал IT.Mail.Ru:
- 30 апреля начнется курс по web-технологиям.
- 20 мая — «Многопоточное программирование на C/C++».
- 23 мая — «Hadoop. Система для обработки больших объемов данных».