Задачи и навыки аналитика

Значит, вы хотите быть аналитиком требований?

Карл Вигерс

Process Impact

www.processimpact.com

Аннотация: Все говорят об анализе требований, но не так много сказано об аналитике требований. Каким характером должен обладать человек, чтобы выполнять такую работу? Что аналитики в действительности делают? Что им необходимо знать? Данная статья затрагивает эти вопросы и резюмирует некоторые ключевые навыки аналитика: умение слушать, проводить интервью, анализировать, организовывать семинары, наблюдательность, умение составлять документацию, моделировать и др. Здесь также приведены советы новичкам, пришедших из рядов технических специалистов или пользователей.

Явно или нет, но кто-то всегда исполняет роль аналитика требований в проекте по разработке программного обеспечения. Конечно, официальное название должности может значиться как «инженер требований», «бизнес-аналитик», «системный аналитик», «менеджер продукта» или просто «аналитик», но кому-то всё равно приходится объединять различные точки зрения, составляя спецификацию требований, и взаимодействовать со всеми заинтересованными лицами. Возможно, наиболее важная часть работы аналитика заключается в том, что он помогает определить разницу между тем, что клиенты озвучивают как свои потребности, и тем, что им на самом деле нужно. Но проще сказать, чем сделать.

Главный посредник

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

Аналитик требований — роль в проекте, не обязательно название должности. Эту роль могут исполнять один или несколько специалистов. Впрочем, на эту роль может быть назначено любое количество членов команды: менеджер проекта, менеджер продукта, эксперт в предметной области, разработчик или даже пользователь. Тем не менее, талантливый аналитик может существенно повлиять на успех проекта. В своей книге «Оценка стоимости программного обеспечения с помощью модели Cocomo II» (англ.: Software Cost Estimation with Cocomo II, изд. Prentice Hall PTR, 2000 г.) Бари Боэм отмечает, что бывалый аналитик способен сократить на одну треть усилия, требуемые для выполнения проекта, по сравнению с аналогичным проектом, где задействован неопытный аналитик, а проект, в котором участвует высокоспециализированный аналитик, требует вдвое меньших усилий, чем тот, где трудится менее способный аналитик.

1 стр., 463 слов

Проект. Юные инженеры

Создать команду Начало формы Название «Юные инженеры: шаг в будущее» Целевая аудитория проекта Школьники возрастных групп 8-9 и 10-12 лет. Актуальность проекта Несбалансированность рынка труда приводит к хронической нехватке квалифицированных кадров инженерных и технических специальностей. На наш взгляд, это связано, в том числе, с отсутствием необходимого уровня будущей профессиональной ...

Рис. 1 — Аналитик требований налаживает взаимодействие между заинтересованными сторонами заказчика и команды разработки

Задачи аналитика

Баражируя между неопределёнными идеями заказчика и ясной спецификацией, которая будет направлять команду разработки по нужному курсу, аналитик прежде всего должен понять цели, которые ставят пользователи к новой системе. Затем определить функциональные требования и атрибуты качества, которые позволят менеджеру проекта оценить, разработчикам — спроектировать и разработать, а тестировщикам — проверить продукт. Вы можете скачать типовое описание должности аналитика требований по ссылке http://www.processimpact.com/goodies.shtml.

Далее следуют типичные задачи, которые вам предстоит выполнять в роли аналитика.

Определение потребностей бизнеса. Ваша работа начинается с помощи заказчику или менеджеру продукта в определении бизнес-требования к проекту. Первый вопрос, который стоит задать, звучит так: «Почему мы берёмся за этот проект?» Бизнес-требования включают в себя изложение бизнес-целей организации и конечное видение того, как система будет выглядеть и что делать. Чтобы помочь сотрудникам компании изложить свои взгляды, можно воспользоваться шаблоном документа «Образ и границы проекта» (англ.: Vision and Scope Document Template; пример доступен по ссылке www.processimpact.com/goodies.shtml).

6 стр., 2643 слов

Требования к выпускной квалификационной работе

Примерная структура выпускной квалификационной работы. Выполненная квалификационная работа должна строиться в указанной ниже последовательности: ТИТУЛЬНЫЙ ЛИСТ; ОГЛАВЛЕНИЕ; ВВЕДЕНИЕ, ОСНОВНОЙ РАЗДЕЛ; ЗАКЛЮЧЕНИЕ – СПИСОК ЛИТЕРАТУРЫ ПРИЛОЖЕНИЯ. Титульный лист сообщает основные сведения о работе. Он включает в себя обычно надзаголовочные данные, заглавие, подзаголовочные данные и выходные данные ...

Выявление заинтересованных сторон и категорий пользователей. Документ об образе и границах проекта поможет определить важные категории пользователей продукта и другие заинтересованные стороны. Далее вам следует поработать с заказчиком, чтобы выбрать подходящих представителей из каждой категории пользователей, заручиться их поддержкой и обсудить зону их ответственности. Определите тот вклад, который вы желаете получить от представителей клиента, и договоритесь о должном уровне участия от каждого из них.

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

Проведение анализа требований. Ищите требования, которые логически вытекают из запросов клиентов, а также извлекайте те неявные требования, которые они не озвучили, но ожидают, что они будут учтены. Замечайте смутные, неясные слова — причины двусмысленностей и замешательств. Обращайте внимание на конфликтующие требования и области, которые требуют большей детализации. Определяйте функциональные требования на должном уровне детализации для разработчиков, которым предстоит их реализовывать. Проект по созданию веб-сайта, разрабатываемый постепенно небольшой слаженной командой, может иметь поверхностную документацию с требованиями, но сложная встроенная система, которую предстоит передать на стороннюю разработку, должна быть тщательно описана в спецификации требований программного обеспечения (SRS).

2 стр., 946 слов

Общие требования к написанию КС

Прежде чем браться за написание КС, начинающему полезно ознакомиться с теми общими требованиями, которым она должна соответствовать. КС должна быть ориентирована на обучаемого, то есть на того, кто является пользователем вашего продукта. Хорошая КС поведет обучаемого от фактов к проблеме, которую предлагается решить. Отсюда, факты в КС должны быть ясны для обучаемого, что совсем не означает быть ...

Составление спецификации требований. Эффективный процесс разработки требований сводится к формированию совместного понимания и созданию системы, которая решает проблему клиента. Вы ответственны за написание хорошо структурированной спецификации, которая ясно отражает это общее видение системы. Применение стандартных шаблонов для описания вариантов использования и спецификации требований программного обеспечения ускоряет процесс разработки требований, напоминая о вопросах, которые необходимо обсудить с пользователями. Некоторые шаблоны вы можете найти по ссылке: www.processimpact.com/goodies.shtml

Разработка моделей требований. Вам следует определить, когда полезно представить требования не в виде текста, а в форме графических аналитических моделей, таблиц, математических уравнений, последовательности эскизов или прототипов. Аналитические модели изображают информацию на более высоком уровне абстракции, чем подробный текст. Чтобы увеличить доходчивость и ясность информации, создавайте аналитические модели в соответствии с общепринятыми стандартными нотациями вроде унифицированного языка моделирования (UML).

Проведение проверки требований. Вы должны удостовериться, что задокументированные требования удовлетворяют потребности клиента и что они являются ясными, полными, корректными, достижимыми, необходимыми, отслеживаемыми, недвусмысленными, проверяемыми и т. д. Аналитик — центральный участник экспертной оценки документации с требованиями. Чтобы убедиться, что требования истолкованы корректно, вам также следует просмотреть дизайн, код и варианты тестирования, основанные на спецификации требований.

Расстановка приоритетов требований. Вы будете налаживать взаимодействие и диалог между различными категориями пользователей и разработчиков, чтобы убедиться в том, что нужные люди принимают разумные решения.

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

Возможно, вам захочется отслеживать статус отдельных функциональных требований по мере того, как они переходят от стадии задумки к проверке их реализации в продукте. Собирайте среди команды разработчиков отслеживаемую информацию, чтобы сопоставлять отдельные требования с прочими элементами системы. Эти данные поспособствуют управлению изменениями, вносимыми в базисную версию требований, в рамках процесса и инструмента контроля изменениями.

6 стр., 2600 слов

Раздел «Физиология сенсорных систем»

16 Раздел «Физиология сенсорных систем» Сенсорная система (анализатор), ее принципиальное строение. Рецептивная поверхность органа чувств. Принципы классификации рецепторов. Сс-комплекс нервных структур, обеспечивают восприятие и анализ сенс инф из внеш и внутр среды организма. Строение сс – 3 отдела: периферический(рецептор, орган чувств), проводниковый (афф волокна, ганглии и нц-проведение и ...

Необходимые навыки

Эффективный аналитик сочетает в себе способности взаимодействовать, участвовать в командной работе, налаживать межличностное общение и знания технического и бизнес-контекста, а также подходящие для данной работы личные качества. Терпение и подлинное желание работать с людьми являются ключевыми факторами. Ниже приведены 10 навыков, необходимых для вашего успеха.

1. Умение слушать. Активное слушание затрагивает моменты устранения отвлекающих факторов, поддержания открытой позы и визуального контакта, а также пересмотра ключевых моментов для того, чтобы подтвердить ваше понимание проблемы. Вы должны схватывать налету то, что говорят люди и, кроме того, читать меж строк, чтобы выявить недосказанное. Изучите, как ваши коллеги предпочитают общаться, и попытайтесь избавиться от субъективного фильтра, чтобы ваше понимание соответствовало тому, что говорят клиенты. Следите за предположениями, которые лежат в основе того, что вы слышите от других, и вашего собственного представления.

2. Умение проводить интервью и задавать вопросы. Большинство требований добываются в ходе дискуссий, поэтому аналитик должен уметь задавать правильные вопросы. К примеру, естественно, что пользователи акцентируют внимание на нормальном, ожидаемом поведении системы. Однако, любой программист знает, насколько много кода необходимо написать, чтобы обработать исключительные ситуации. Задавайте вопросы из разряда: «Что должно произойти, если…» или «Может ли такая-то проблема в принципе возникнуть?» — так вы сможете определить, как система должна реагировать на неожиданные исключительные ситуации. С опытом вы постигнете искусство задавать вопросы, которые раскрывают и проясняют неопределённости, разногласия, предположения и неупомянутые ожидания. Дональд Гаузе и Джеральд Вайнберг описывают «контекстно-независимые вопросы» в книге «Исследуя требования: качество прежде дизайна» (англ.: Exploring Requirements: Quality Before Design, изд. Dorset House, 1989 г.).

7 стр., 3345 слов

Требования к должности «музыкальный руководитель»

У каждого работодателя есть пакет документов, регулирующих отношения с работниками. В этот пакет, как правило, входят и должностные инструкции, с которыми работники знакомятся под роспись. В соответствии с требованиями Квалификационной характеристики должности музыкального руководителя, утв. приказом Минздравсоцразвития России от 26.08.2010 № 761н (1), должна быть составлена новая должностная ...

3. Аналитические способности. Вам нужно будет научиться действовать на различных уровнях абстракции. Иногда вам придётся от информации высокого уровня перейти ниже и углубиться в детали. В иных ситуациях вам нужно будет перейти от конкретной потребности пользователя к множеству требований, которые относятся к целому классу пользователей. Критически оценивайте информацию, полученную из разных источников, чтобы разрешать конфликты, отделяйте желания пользователей от их потребностей и различайте идеи и требования.

4. Организация групповой работы. Семинары по сбору требований являются общепринятым приёмом. Для их успешного проведения необходим нейтральный куратор. Вам потребуются хорошие навыки в задании вопросов и умении наблюдать, чтобы помочь группам достичь чувства доверия и разрядить атмосферу зажатости, иногда возникающую между представителями бизнеса и техническими специалистами. В книге «Требования через взаимодействие: семинары для определения потребностей» (англ.: Requirements by Collaboration: Workshops for Defining Needs, изд. Addison-Wesley, 2002 г.) Эллен Готсдинер приводит значительное количество советов для кураторов рабочих встреч.

5. Наблюдательность. Если вы добросовестно наблюдаете за тем, как пользователь выполняет свою работу или пользуется приложением, вы можете отследить тонкости, которые он мог не упомянуть, и таким образом обнаружить новые области для обсуждения требований.

6. Составление документации. Основным результатом вашего труда будет составленная спецификация требований, которая предназначается для клиентов, маркетологов, менеджеров и технических специалистов. Для выполнения этой задачи вам потребуется отличное владение английским или иным языком. Стремитесь к ясности, избегайте двусмысленных слов и фраз, грамматических ошибок и обилия идиоматических выражений.

28 стр., 13822 слов

Требования к личности психолога-консультанта. Модель эффективного психолога-консультанта

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

7. Организаторские способности. Вам придётся иметь дело с широким спектром разрозненной информации, полученной в результате извлечения и анализа требований. Структурирование всех быстро меняющихся частей в связное целое, наряду с терпением и упорством требуют выдающихся организационных способностей.

8. Моделирование. Такие нотации, как уже давно известные потоковые диаграммы, модели структурного анализа (диаграммы потока данных, «сущность-связь» и пр.), и современные нотации вроде унифицированного языка моделирования (UML) должны быть включены в снаряжение каждого аналитика. Некоторые из этих приёмов будут полезны при взаимодействии с пользователями, другие — с разработчиками. Вам часто придётся объяснять другим заинтересованным лицам значение этих диаграмм и то, как их читать. И тогда вы поймёте, что эти инструменты весьма пригодны для представления информации, даже когда вы не обсуждаете компьютерные системы.

9. Межличностное взаимодействие. Вам необходимо организовать работу так, чтобы люди с конкурирующими интересами могли работать вместе. Вам также следует чувствовать себя комфортно, общаясь с представителями различных должностей, находящихся на любом уровне служебной лестницы. Вам, возможно, придётся работать с командами, члены которых разделены по географическому, временному, культурному или языковому признаку.

10. Проявление творческих способностей. Аналитик далеко не писарь, который фиксирует всё, что скажет клиент. В своей статье «Эврика! Почему аналитику следует изобретать требования» (англ.: Eureka! Why Analysts Should Invent Requirements, изд. IEEE Software, июль/август 2002 г.) авторитет в области анализа требований Джеймс Робертсон заявляет, что лучшие аналитики требования именно предлагают. Аналитик может предложить инновационные возможности продукта, представить новые рынки и возможности для бизнеса и подумать о способах, как можно удивить и воодушевить своих заказчиков. Поистине значимый аналитик находит творческие пути для удовлетворения нужд пользователей, о которых они даже и не подозревали.

Знание предметной области, бизнеса и задач

Один лишь энтузиазм не проведёт вас далеко в сборе требований: широта знаний, накопленных опытным путём, — единственный путь отточить ваши способности. Закрепите для начала понимание современных техник разработки требований и того, как они совмещаются с различными жизненными циклами разработки программного обеспечения. Аналитику следует понимать, какую роль разработка и управление требованиями играет в жизненном цикле продукта. Глубокое понимание таких дисциплин, как управление проектами, управление рисками и обеспечение качества может помочь избежать ситуаций, когда связанные с требованиями проблемы подрывают устойчивость проекта. В реальных проектах вы выиграете от знания концепций управления продуктом и способа, в соответствии с которым корпоративные программные продукты позиционируются и разрабатываются.

Знания прикладной области, которые уменьшают недопонимания с пользователями, являются мощным активом для успешного аналитика. Аналитик, который разбирается в прикладной области, часто обнаруживает несформулированные предположения и неявные требования. Он также подсказывает пользователям пути улучшения их бизнес-процессов. Такой аналитик иногда предлагает ценную функциональность, о которой пользователь даже и не задумывался. И наоборот, он может обнаружить украшательства, т. е. избыточную или ненужную функциональность, что не сделал бы тот, кто не знаком с проблемной областью.

Не обученный, а воспитанный

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

Каким бы ни было профессиональное прошлое, обучение необходимым навыкам (таким, как восприятие на слух, проведение переговоров и организация групповой работы) и их практическое применение помогут новоиспечённому аналитику любого происхождения раскрыть неозвученные доселе желания пользователей.

Приложение: Сбор данных

Попробуйте использовать следующие приёмы, чтобы собрать сведения о требованиях:

  • проведение интервью;
  • организация рабочих встреч;
  • анализ документации;
  • проведение опросов;
  • посещение веб-сайта клиента;
  • анализ бизнес-процессов;
  • анализ потока работ и задач;
  • изучение списка внешних событий и откликов системы;
  • анализ конкурентных продуктов;
  • осуществление обратной разработки существующей системы;
  • создание ретроспективы прошедших проектов.