cje что это за роль
Бизнес-аналитики в Agile — зачем, почему, как
Зачем вообще нужны бизнес аналитики
Большинство людей считают, что для разработки какой-то программы нужны только программисты, ведь именно они пишут код и воплощают мечту заказчика в реальность. Но между тем, что говорит заказчик и тем, что в итоге сделает программист, — целая пропасть. Не потому что они — плохие люди или не хотят общаться и понимать друг друга, а потому что заказчик мыслит в масштабе цели, думает, что должна делать программа, для чего он хочет ее использовать. А программист обязан думать, как программа должна работать, откуда брать данные, как назвать новую колонку в таблице данных и т. д., проще говоря, думать о деталях реализации.
Поскольку и программисты, и заказчики — люди занятые, выяснение деталей проходит в форме раундов «вопрос — ответ», при этом нигде не фиксируется, когда и почему было принято такое решение или как оно изменялось со временем. Но главный минус такой коммуникации — разработчик спрашивает «как?», а заказчик может ответить только на «зачем?», а остальное его уже мало интересует. Более того, обычно, отвечая на «как?», заказчик заводит себя в тупик, потому что не может и не обязан знать, сколько вариантов существует для выполнения его потребности и какой оптимален. Программист же всего лишь делает, что ему сказали. В итоге складывается ситуация, когда недоуменный клиент спрашивает, почему приложение не вписывается в его картину мира, а недоуменный программист отвечает, что так и просили сделать.
Даже из названия профессии аналитика видно, что в его обязанности входит не только сбор требований, но и их анализ, а именно — выбор оптимального пути выполнения поставленной цели. Т. е. аналитик должен знать, и зачем клиенту та или иная функциональность, и как она сделана у конкурентов, чтобы проанализировать возможные пути реализации, выбрать оптимальный и описать программистам в деталях.
Аналитик в Agile
Сегодня в России и странах СНГ набирают популярность гибкие методологии разработки ПО. При рассмотрении возможности перехода на них (и даже в процессе перехода или начального использования), почти неизбежно встает целый ряд вопросов. Один из них состоит в необходимости участия бизнес аналитика в процессе разработки.
Привычный всем набор функций аналитика — сбор требований и написание подробной спецификации, как должна работать система. Еще перед запуском проекта требования должны быть собраны, спецификация написана, дизайны нарисованы, и только потом программисты начинают писать код. Эта красивая история написания программы редко соответствует действительности даже в проектах по методологии waterfall, не говоря уже о Scrum.
Проектная документация имеет тенденцию очень быстро устревать— в особенности в сочетании с Agile, где изменения — норма, а не форс-мажор.
Но это вовсе не значит, что минимизировать надо все и до нуля. При полном отсутствии документации, скорее всего, возникнут следующие проблемы:
Возможные функции аналитика в Agile
Связующее звено между разработчиками и заказчиками
В отличие от классической интерпретации функций аналитика, в Agile именно обеспечение эффективной связи между заказчиками (пользователями) и командой разработчиков играет, по сути, ключевую роль.
В большинстве случаев этот «кто-то» — аналитик, которому помогают менеджеры, когда требуется административный ресурс, и ключевые эксперты проекта или даже компании, когда требуется генерация или верификация нестандартных решений.
Контроль качества
Традиционно считается, что качество контролируют специальные люди, которые выполняют приемочные испытания по описанным методикам и программам. Однако кто проверит, что сделали то, что нужно с точки зрения бизнеса, и что пользоваться удобно?
Пользователи и заказчики на демонстрации — конечно, вариант, но, во-первых, не факт, что среди них окажутся заинтересованные именно в этой функциональности люди; во-вторых, так можно потерять лицо (демонстрация превратится в сессию тестирования и отладки); в-третьих, уже будет потрачено определенное количество ресурсов и времени на отладку возможно неверного бизнес решения.
Достаточно очевидно, что вместо (или совместно с) владельцем продукта эта почетная обязанность может быть возложена на аналитика
Схемы взаимодействия аналитик – команда
В Agile большое внимание уделяется командной работе, самоорганизации. Как организовать взаимодействие аналитика с командой с учетом возлагаемых на него функций? Есть разные варианты, причем в зависимости от обстоятельств, эффективными оказываются те или иные.
Владелец продукта — аналитик
Это самый простой и очевидный случай. Владелец продукта отвечает за продукт, за сбор и приоритизацию требований, является своеобразным представителем заказчика, но на стороне исполнителя, отвечает или помогает ответить на уточняющие вопросы. Всё это тесно переплетается с функциями аналитика, обсуждаемыми выше.
Т. ч. можно решить: функции аналитика исполняет владелец продукта. Или, если угодно, наоборот — аналитик исполняет роль владельца продукта.
Среди плюсов такой схемы: простота, минималистичность, относительное удобство и для заказчика, и для разработчиков — и те, и другие всегда знают, к кому именно нужно обратиться со своими вопросами.
Аналитик — помощник владельца продукта
Большинство недостатков предыдущей схемы можно преодолеть, если поделить обязанности владельца продукта и аналитика между двумя людьми — достаточно распространенная практика. Как правило, при этом «главный» решает, что в какую очередь делать, и дополнительно выполняет менеджерские функции. А помощник больше концентрируется на содержании и деталях работ, т. е. играет роль аналитика.
Аналитик внутри команды
Заключение
Так есть разница между аналитиком в Agile и не-Agile (например, в водопаде или другой тяжеловесной методологии)? Однозначный ответ — есть!
В тяжеловесных методологиях аналитик похож на слабопроницаемую стену между командой разработчиков и представителями заказчика/бизнеса. Чтобы сделать хороший продукт, приходится тратить кучу сил на «ковыряние дырок» в этой стене. Кроме того, ужасно высоки риски, связанные с ошибками аналитика. Команде разработчиков при этом отводится роль второго плана.
В Agile же аналитик играет роль связующего звена между разработчиками и заказчиками — своего рода магнит, который не дает им разбежаться по разным углам и тихо там что-то делать без ведома друг друга. При этом команде разработчиков отводится весьма значимая роль. Благодаря этому снижаются риски, связанные с ошибками аналитика: если что, команда уточнит/поправит (а если не поправит, на демонстрации заказчики поправят).
Аналитик в Agile — золотая середина между крайностями:
Одна крайность | Золотая середина | Другая крайность |
Команду не допускают к аналитической работе. | Agile | Разработчикам самим приходится полностью прояснять, что же нужно. |
Аналитик мало общается с заказчиком. | Agile | Аналитик всё время проводит у заказчика. |
Подробные спецификации перед началом итерации. | Agile | Отсутствие какой-либо проработки требований до постановки их в итерацию. |
Команда «с придыханием» относится к установкам аналитика. | Agile | Команда не доверяет результатам работы аналитика (не использует их). |
Аналитик не участвует в тестировании (QA). | Agile | Аналитик вынужден постоянно «протыкать» много старых интерфейсов. |
Команда воспринимает аналитика как руководителя. | Agile | Аналитик для команды — мальчик/девочка «на побегушках». |
Аналитик взаимодействует с командой исключительно при помощи документации и баг-трекера. | Agile | Аналитик взаимодействует с командой исключительно посредством устных коммуникаций. |
С заказчиком и пользователями общается только аналитик. | Agile | Все члены команды вынуждены плотно общаться с заказчиками и пользователями. |
Автор: Ольга Азимбаева, Senior Business Analyst.
Да пребудет с вами Agile: гайд по основным терминам + курсы.
Понятия Agile и Scrum давно и прочно вошли в словарь ИТ-специалистов. Но не каждый, кто руководствуется в своей работе принципами манифеста Agile (или так думает), делает это правильно.
Мы составили краткий гайд по Agile в вопросах и ответах и подготовили список курсов, которые помогут разобраться в том, как организовать настоящую команду Scrum и эффективно применять Agile на практике, даже если вы далеки от ИТ.
Понятия Agile и Scrum давно и прочно вошли в словарь ИТ-специалистов. Но не каждый, кто руководствуется в своей работе принципами манифеста Agile (или так думает), делает это правильно.
Мы составили краткий гайд по Agile в вопросах и ответах и подготовили список курсов, которые помогут разобраться в том, как организовать настоящую команду Scrum и эффективно применять Agile на практике, даже если вы далеки от ИТ.
Содержание
Ищем людей, которые проходили образовательные онлайн-курсы и готовы поделиться отзывом о них. Если это вы, напишите нам в чат-бот.
Что такое Agile?
Agile часто определяют как гибкую методологию разработки, что не совсем верно, т. к. Agile — это подход к разработке ПО, совокупность принципов, которые лежат в основе целого набора конкретных фреймворков. Их объединяет сосредоточенность на клиенте и его целях, работа короткими циклами-итерациями, стремление к максимальному упрощению правил, процессов, структур и т. д., большое значение обратной связи и расширение полномочий сотрудников. Другими словами, Agile — это образ мышления, философия и культура, суть которой изложена в Манифесте Agile.
Кто придумал Agile?
Agile, а точнее Agile Манифест или Манифест гибкой разработки программного обеспечения был сформулирован в 2001 году в США группой Snowbird 17, которая состояла из ИТ-специалистов. Их виденье того, как упростить работу и повысить ее эффективность, и легло в основу Манифеста.
Какие основные идеи и принципы Agile?
Главных идей и принципов Agile, которые составляют суть этого подхода и так или иначе определяют любую гибкую методологию разработки, не так уж много.
4 идеи Agile
12 принципов Agile
Какие методологии разработки основываются на принципах Agile?
Это гибкие методологии Scrum, Kanban, экстремальное программирование (XP), DSDM, Crystal, FDD. Самой популярной из них считается Scrum. Ее используют более половины компаний, которые используют Agile-подход.
Scrum представляет собой набор правил, цель которых — создать условия для гибкой, ускоренной разработки и эффективного выстраивания рабочих процессов. В Scrum продукт создается поэтапно, а за адаптацию всех процессов отвечают одна или несколько самоорганизованных команд. У этого фреймворка есть свой набор ценностей, которые помогают создать атмосферу доверия, необходимую для эффективной работы. Это смелость, сосредоточенность, ответственность, уважение и открытость.
Scrum называют эвристической методологией, т. к. в его основе лежит идея о постоянном совершенствовании через обучение и адаптацию. Команда проекта не знает изначально, как точно он будет развиваться. В процессе работы она осваивает навыки самоорганизации, приспосабливается к меняющимся требованиям, анализирует успехи и неудачи и использует полученный опыт для того, чтобы сделать свою деятельность более эффективной.
Как проходит процесс разработки в Scrum?
Процесс создания продукта начинается не с составления или изучения технического задания, которого в принципе нет в Scrum, а с бэклога.
Бэклог — это список задач, составленный на основе желаний и требований заказчика к системе, ее функциональности. Все задачи располагаются в бэклоге в порядке их приоритетности. Это помогает команде понять, какие из них стоит выполнить в первую очередь. Бэклог не создается раз и навсегда: в него постоянно вносятся изменения, т. к. может возникнуть необходимость в добавлении новой функциональности, измениться приоритеты и т. д.
Весь процесс разработки делится на спринты — итерации фиксированной длинны, в течение которых команда выполняет определенный объем работы. Обычно они занимают от 1 до 4 недель.
Команда забирает из бэклога часть задач, которые согласованны и должны быть выполнены за итерацию, и приступает к их выполнению. Такие задачи называются бэклогом спринта. В идеале в конце каждого спринта создается инкремент продукта — готовый к использованию конечный продукт, например, работающая функция ПО, его прототип и т. п.
Бэклог продукта, бэклог спринта и инкремент объединяются термином «артефакты Scrum» — это работа, которую нужно выполнить, чтобы завершить спринт или проект.
Как организована работа команды?
В Scrum очень важно постоянное обсуждение работы, полученных результатов, проблем и вариантов их решения. Поэтому процесс создания продукта включает набор мероприятий или Scrum-событий, на которых члены команды оценивают свои достижения и возникающие сложности.
К ним относятся:
Как распределяются роли в команде Scrum?
Scrum предусматривает три основные роли, которые определяют структуру Scrum-команды. Это Product Owner (владелец продукта), Scrum Master (Scrum-мастер, Scrum-менеджер) и Scrum Development Team (команда разработки, команда разработчиков). Каждая из этих ролей имеет свой набор функций и зону ответственности.
Владельца продукта можно назвать посредником между заказчиком и разработчиками. Он собирает концепцию продукта на основе требований стейкхолдеров, доносит их до технических специалистов, формулирует задачи, определяет их приоритет, ведет бэклог продукта, управляет релизами и заинтересованными сторонами.
Scrum-мастер отвечает за эффективную реализацию методики Scrum. Он помогает наладить групповую коммуникацию, оптимизировать процесс поставки продукта и «защищает» команду от любых отвлекающих факторов. В зону ответственности Scrum-мастера также входит координирование ежедневных процессов: фиксация начала спринта, дедлайнов, добавление оценок и т. д.
Команда разработчиков — специалисты, которые выполняют все технические задачи по созданию продукта. Т. е. под этим термином понимаются не только программисты, но и дизайнеры, аналитики и другие участники команды. Команда разработчиков обычно состоит из 5–7 человек (иногда встречается формула 6 ± 3). Важно, чтобы команда была стабильной и все члены группы понимали, как работает продукт, ведь именно команда разработчиков отвечает за его поставку и качество.
Зачем применять Agile?
Гибкие методологии разработки позволяют максимально быстро реагировать на изменяющиеся требования заказчиков и ситуацию на рынке, а это дает компании конкурентное преимущество и помогает удержать клиентов. Кроме того Agile и Scrum позволяют снизить экономические издержки без ущерба для эффективности работы. Немаловажен и человеческий фактор. Все гибкие методологии подразумевают гуманистический подход: полномочия (и ответственность) сотрудников растут, стимулируя их мотивацию и давая возможности для самореализации, что положительно влияет на результаты работы.
Где и когда стоит использовать Agile-подход?
Несмотря на то, что в Agile-манифесте речь идет о разработке ПО, применять принципы Agile можно не только в ИТ-сфере. Они будут работать практически в любой области, которая связана с проектной деятельностью. Если вам важна ориентация на клиента, его потребности и командная работа, у вас нет точно сформулированных конечных задач, но есть множество факторов, способных повлиять на итоговый результат, а все члены вашей команды мотивированны и организованны, то Agile вам точно подойдет.
Курсы по Agile
spoiler#handleClick»>Примечание редакции
Стоимость указана на момент подготовки материала и носит ориентировочный характер.
Управление по Agile: Scrum, Kanban, Lean (Нетология)
Курс для проджект-менеджеров, тимлидов и владельцев бизнеса, которые хотят научиться применять Agile в своей работе.
Программа обучения включает знакомство с самыми популярными Agile-подходами и предполагает большое количество практики. Всю теорию вы будете отрабатывать во время выполнения заданий в группах или вместе с экспертами на вебинарах. Студенты научатся Agile-планированию, смогут оценивать и декомпозировать задачи, освоят такие инструменты работы над продуктом, как User Stories, Jobs-To-Be-Done, Lean Canvas.
Занятия проходят в формате предзаписанных видеолекций и онлайн-вебинаров. Преподают на курсе ведущие специалисты и практики Agile. На протяжение всего курса доступна поддержка кураторов и экспертов. Выдается удостоверение о переквалификации установленного образца.
Продолжительность: около 3 месяцев (18 марта — 28 июня).
Agile и Scrum в работе над проектами и продуктами (Coursera)
Курс рассчитан на менеджеров проектов и тимлидов, но пользу от него получат все, кто хочет применять в работе Agile и Scrum, даже далекие от ИТ-сферы люди.
Эта программа — совместный продукт Национального исследовательского Томского госуниверситета, Фонда развития онлайн-образования и ScrumTrek, а преподают на курсе аккредитованные ICAgile коучи и тренеры. За несколько недель на доступных примерах вы разберетесь с системой ценностей Agile и принципами Scrum. Изучите основные преимущества Agile-подходов, особенности процесса разработки в Scrum, познакомитесь с сервисом Trello и поймете, как грамотно организовать работу в Scrum-команде.
Продолжительность: примерно 5 недель (по 1-4 часа в неделю).
Роли scrum и правда о должностях в scrum
Узнайте, почему три роли scrum (scrum-мастер, владелец продукта и команда разработчиков) описывают ключевые обязанности, а не конкретные должности.
Просмотр тем
Какие три роли существуют в scrum?
Scrum подразумевает три роли: владелец продукта, Scrum-мастер и участники команды разработчиков. Хотя все кажется довольно понятным, с обязанностями таких должностей можно запутаться. Многие команды спрашивают, нужно ли им менять названия должностей при внедрении Scrum. Если коротко: нет, не нужно.
В этой статье мы разберемся с ролями Scrum и поговорим о том, как вы можете использовать их в своей организации, не печатая новые визитные карточки.
Роли Scrum и должности
Три роли Scrum описывают основные обязанности участников Scrum-команды. Это не должности. А значит, взять на себя одну из этих ролей может сотрудник с любой должностью, в том числе и вы. Поскольку суть Scrum заключается в эмпирическом подходе, самоорганизации и постоянном совершенствовании, эти три роли дают минимальное определение обязанностей и подотчетности для эффективного выполнения работы в команде. Они позволяют командам нести ответственность за свою организацию и постоянно совершенствоваться.
Создание scrum-команды
Scrum — это методика, позволяющая выстраивать рабочие процессы в команде. Она представляет собой базовую структуру для организации регулярных собраний, создания артефактов и определения обязанностей каждого участника.
Однако вы не получите универсальной модели для работы в команде. Например, если команда создает веб-приложение для страхования, им понадобятся люди, знающие технологию, внутренние системы и предметную область бизнеса. При этом команде, работающей над следующим поколением игры Donkey Kong, нужны совершенно другие навыки. Им понадобятся графический дизайнер, инженер звукозаписи и графический разработчик. Поскольку решаемые проблемы отличаются, структура и навыки команды тоже должны быть разными.
Все становится еще труднее по мере увеличения сложности проблемы, которую пытается решить команда. Как говорится, «вы не знаете, чего вы не знаете, пока не узнаете, что вы об этом не знали». Команды могут не знать заранее, какие навыки им понадобятся или какой объем работы потребуется сделать, и потому им нужен запас гибкости, чтобы менять курс по мере накопления знаний.
Чтобы немного систематизировать этот сложный, постоянно меняющийся и зачастую раздражающий мир, Scrum предоставляет простую структуру с тремя ролями: участник команды разработчиков, владелец продукта и Scrum-мастер.
Команда разработчиков: переопределение понятия «разработчик»
Команда разработчиков — это люди, выполняющие работу. Сперва можно подумать, что под командой разработчиков подразумеваются только технические специалисты. Но это не всегда так. Согласно руководству по Scrum, команда разработчиков может состоять из людей самых разных профессий, в том числе дизайнеров, писателей, программистов и т. д.
Представьте, что у вас есть дом и вы нанимаете «разработчика». Он разрабатывает проект и выполняет работу. Да, он может класть кирпичи, заниматься водопроводом и даже копать огромные ямы, но этот человек все равно просто «разработчик». Это значит, что роль «разработчика» в Scrum означает участника команды, который обладает определенными навыками, необходимыми для выполнения работы в команде.
Команда разработчиков должна уметь самостоятельно организовывать себя, чтобы принимать решения относительно выполнения работы. Команду разработчиков можно сравнить с командой производственного обеспечения, которую вызывают ночью, потому что произошла авария. Команда разработки, как и команда производственного обеспечения, может принимать решения и устранять/оценивать поступающие проблемы. Под самоорганизацией понимается не пренебрежение к организации, а предоставление права решать рабочую проблему тем людям, которые непосредственно занимаются этой работой.
В обязанности команды разработчиков входит следующее.
Владелец продукта: установка четкого направления
Agile-команды по определению являются гибкими и быстро реагируют на изменения, а владелец продукта несет ответственность за обеспечение максимальной ценности. Владелец продукта представляет бизнес и говорит разработчикам, чего требуется достичь. Доверие между этими двумя ролями имеет принципиальное значение.
Владелец продукта должен не только понимать клиента, но и иметь концепцию ценности, которую Scrum-команда поставляет клиенту. Кроме того, владелец продукта определяет баланс между потребностями других заинтересованных сторон в организации.
Таким образом, владелец продукта должен учесть все эти входные данные и расставить приоритеты в работе. Пожалуй, это его самая значимая обязанность, поскольку противоречивые приоритеты и расплывчатые установки не только снижают эффективность команды, но и могут нарушить важные доверительные отношения между бизнесом и командой разработчиков.
Команды, следующие принципам agile, по своей сути предусматривают анализ и адаптацию. Это означает, что изменение приоритета может привести к серьезным изменениям в структуре команды, рабочих продуктах и конечном результате. Именно поэтому для успешной работы Scrum-команд крайне важно, чтобы определением приоритетов занимался только один человек. Это владелец продукта.
В руководстве по Scrum выделяют следующие обязанности владельца продукта.
Scrum-мастер: объединение всех элементов вместе
Scrum-мастер — это роль, которая объединяет все элементы и обеспечивает эффективную реализацию методики Scrum. На практике это означает, что такой сотрудник помогает владельцу продукта определять ценность, команде разработчиков — поставлять ценность, а Scrum-команде — становиться лучше. Scrum-мастер — это лидер-слуга, который не только формирует лояльный стиль руководства, но и ежедневно его практикует.
Он помогает владельцу продукта лучше понимать и выражать ценность, управлять бэклогом, планировать работу с командой и разбивать эту работу для наиболее эффективного обучения. Команде разработчиков Scrum-мастер помогает с самоорганизацией, настраивает участников на достижение конечного результата и выполнение инкрементов, а также вместе с ними управляет блокерами. Кроме того, Scrum-мастер служит организации в целом, помогая ей понять суть методики Scrum и создать для нее благоприятную среду.
Scrum-мастер фокусируется на следующем.
Scrum-мастер помогает владельцу продукта при планировании спринта и обзоре его итогов, чтобы в коллективе сохранялось четкое понимание ценности и направления. Он помогает команде разработчиков в повседневной работе по методике Scrum, следя за выполнением работы и устранением блокеров. Он также отвечает за работу с блокерами, которые команда не может устранить самостоятельно. Scrum-мастер следит за тем, чтобы Scrum-команда видела все возможности для развития, а ретроспектива давала набор четко сформулированных достижимых результатов.
Начало работы с гибкими scrum-ролями
На первый взгляд три основные области ответственности ролей Scrum довольно просто интерпретировать в любой Scrum-команде, но нередко бывает сложно сопоставить их со своей должностью. Вот с чего можно начать.