Skip to main content

Совместная разработка приложений (JAD) – Это то, что Вы действительно хотите?

Перевод: Игорь Бралгин

Перевод статьи "Joint Application Development (JAD) - What do you really want?";
оригинал был доступен по адресу www.utexas.edu/ecs/trecs/hris/pub/jad.php

 

Итак, почему я должен знать о Joint Application Development (JAD)?

  • Вы спрашиваете клиента, что он хочет.
  • Клиент останавливается на неких спецификациях.
  • Вы разрабатываете и поставляете систему согласно спецификациям.
  • Ваши клиенты говорят, что они ожидали, совершено другое.

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

Реальная проблема обычно очень отличается от первого восприятия клиента. Только не будьте решателем проблем (problem solver)... "зрите в корень". И не предполагайте, что один человек может знать все о проблеме.

Что такое JAD?

Определение JAD: Совместная разработка приложений (JAD) - процесс управления, который помогает ИТ специалистам эффективнее взаимодействовать с пользователями, с целью разработки информационно-технологических решений, которые действительно работают.

Цель JAD: определение границ проекта, разработка решение, и контроль проекта до его завершения.

Философия JAD: процесс JAD основан на четырех простых идеях:

  1. Люди, фактически выполняющие работу, имеют лучшее понимание этой работы.
  2. Люди, обученные информационной технологии, имеют лучшее понимание возможностей этой технологии.
  3. Информационные системы и бизнес-процессы редко существуют в изоляции - они преступают формальные границы и осуществляют работу в связанных отделах. Люди, работающие в этих связанных сферах, имеют ценное понимание роли, выполняемой системой в большом сообществе.
  4. Лучшие информационные системы разработаны, когда все эти группы сотрудничают на проекте как равные партнеры.

Рамки (scope) JAD – JAD должен охватывать весь жизненный цикл разработки системы. JAD – это обычно строго очерченный 3-6 месячный проект. Для крупномасштабных проектов, рекомендуется применить к проекту инкрементальный подход, и использовать JAD для каждого приращения.

Кто вовлечен в JAD?

Спонсор (Sponsor) - это – руководитель(и), давший(ие) "добро" на проект, владелец системы. Они должны быть достаточно высокопоставленными в организации, чтобы быть в состоянии принять решения и обеспечить необходимые ресурсы и поддержку проекту.

Бизнес Пользователи – предполагаемые пользователи разрабатываемой системы. Они - здесь для деловой экспертизы. Есть два вида Бизнес Пользователей: Реальные пользователи (Real End Users) и Big Picture Users.

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

Системные Аналитики - Обеспечивают нетехнические объяснения, которые помогают другим членам JAD-группы понимать и полностью использовать доступную технологию. Контролируют дизайн в отношении простоты использования/обслуживания и соответствия стандартам. Обеспечивают разработку аппаратных средств и программного обеспечения.

Задайте себе важный вопрос: "Все ли необходимые области и персоны представлены в проекте?"

Роли членов JAD-группы

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

Обязанности Спонсора Проекта

  • гарантировать, что "правильные" представители заказчика - часть группы
  • обеспечить проекту необходимый штат технической поддержки
  • обеспечить приобретение программного обеспечения и аппаратных средств, необходимых для проекта
  • обеспечить предоставление представителям заказчика времени на их постоянной работе, для посещения JAD заседаний и выполнения задач, полученным в рамках JAD проекта (исследование правил и методик, сбор информации, обсуждение с другими группами клиента, документирование, тестирование и пр.)
  • назначать и воздействовать на исследование политики
  • делегировать задачи представителям заказчика, входящим в группу
  • обеспечить выполнение задач
  • принимать участие в выборе тестовых сценариев (test cases)
  • принимать участие в определении рамок и функциональности системы
  • принимать участие в оценочном сравнении с используемой и внешними системами
  • помогать в выборе показателей качества (quality measures)
  • оценивать эффективность и рациональность системы

Лидер Проекта - лидер проекта может сделать или "завалить" проект. Он должен быть всецело передан проекту, иметь достаточные знания о бизнес области и об используемой или подобных информационных системах. Он также должен быть предан организации, и понимать значения проекта в контексте целей Университета. Он должен быть энтузиастом проекта, и должен быть объективным. Он должен быть чувствительным к политическим проблемам и способным вытянуть мнения у молчаливых членов группы, и не позволять кому-либо одному доминировать над группой.

Обязанности Лидера Проекта

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

Секретарь (Record Keeper) - делает всесторонние заметки в течение собраний, и затем редактирует их в точное краткое изложение обсуждений и решений. Важно, чтобы итоговые записи не были простой стенограммой того, кто что сказал. Роль может быть разделена между различными членами команды при необходимости.

Обязанности Секретаря

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

Хронометрист (Timekeeper) - Хронометрист отвечает за соблюдение временных рамок заседаний.

Обязанности Хронометриста

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

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

Типичные обязанности Клиентов

  • описывать последовательность событий в бизнес-процессах
  • описывать решения, которые должны быть сделаны в бизнес-процессе
  • определять информацию, обрабатываемую процессом
  • определять, что является критичным для текущей версии системы, а что было бы хорошим дополнением
  • поднимать для обсуждения любые проблемы, которые существуют в текущем процессе или любые возможности делать это более эффективно
  • исследовать "политические" вопросы, когда предлагается новая бизнес процедура
  • анализировать, есть ли какие-нибудь препятствия в текущей бизнес среде для успешного осуществления проекта
  • создавать тестовые сценарии
  • выполнять тестирование
  • обеспечивать обратную связь с разработчиками, касательно удобства и простоты использования (usability), точности и эффективности системы. Обратная связь осуществляется организованным, документированным способом.
  • помогать готовить документацию по работе c системой с точки зрения пользователя
  • помогать готовить и осуществлять обучение для других клиентов

Все члены команды – имеют следующие обязанности:

  • Приверженность группе
  • Регулярное присутствие
  • Активно слушать
  • Принимать активное участие
  • Выявлять и идентифицировать проблемы
  • Высказывать идеи в мозговых штурмах (Brainstorm)
  • Рекомендовать решения
  • Согласовать дизайн на основе общего мнения
  • Помогать с проектными обязанностями

Устав проекта (Project Charters) / Контрактные Соглашения (Contract Agreements)

Спонсор проекта и Лидер проекта встречаются, чтобы определить проблемы/требования, общую цель и задачи JAD группы. Определить, что находится в рамках проекта и что не подпадает под действие этого проекта. Спонсор и Лидер Проекта должны оценить необходимые ресурсы и создать первый черновой базовый график. Наконец, Спонсор и Проектный Лидер должны определить, кто должен быть в JAD команде

 

Устав JAD проекта

JAD Project Definition
 
 
In Focus (In Scope) Out of Focus (Out of Scope)
 
 
 
 
JAD Objectives
 
 
JAD Project Sponsor JAD Project Leader
 
 
 
 
Estimate & Allocate Resources Required Estimate Timeline
 
 
 
 
JAD Team Members
 
 

Контрольный список для начала работы JAD

  1. Определение проекта
    Лидер JAD Проекта встречается со Спонсором проекта, чтобы завершить устав JAD проекта (JAD Project Charter).
  2. Формирование JAD группы
    Лидер Проекта и Спонсор Проекта формируют JAD группу, удостоверяясь, что все затронутые области представлены. Вам необходимы Спонсор Проекта, Лидер Проекта, Бизнес Пользователи и Системные Аналитики. JAD группа должна состоять из восьми или менее членов. Трудно быть эффективным с больше чем пятнадцатью членами.
  3. Первое JAD заседание – Стартовое заседание
    Ваше первое JAD заседание может иметь следующие пункты повестки дня:
    • Поделиться определениями проблемы и цели. Получить согласие по этим двум понятиям.
    • Ознакомить (обучить) каждого члена новой группы, что такое JAD группа, объяснить цели, роли и как JAD работает.
    • Утвердить ожидаемый результат и обязанности JAD группы
    • Определить периодичность заседаний, время и место
    • Определить роли - Спонсор проекта, Лидер проекта, Секретарь, Хронометрист, Клиенты
    • Продолжить проведение JAD встреч примерно каждую неделю (или раз в две недели) до тех пор, пока вы не достигли согласия в отношении проектирования.
  4. JAD заседания – Фазы Планирования, Анализа, Проектирования
    • Обзор текущего процесса, планирование
    • Определение проблемы / сложных задач в текущем процессе
    • Мозговой штурм для решения этих проблем и задач
    • Сравнение с другими организациями возможных решений
    • Обсуждение "Разработка или Покупка"
    • Опрос, обследование ваших заказчиков на предмет проблем и идей
    • Оценка список сгенерированных идей
    • Определение вашего направления деятельности - задачи, которые будут решены
    • Составление вашего "timebox" - список задач, кому поручено и когда каждая должна быть решена
    • Презентация плана проекта Спонсору проекта и представителям заказчика и получение одобрения
    • Общение, общение, общение (деловое общение)
  5. JAD заседания – Фазы Разработки, Запуска, Завершения
    Встречайтесь раз в 2 недели, чтобы удостовериться, что разработка идет по намеченному пути.
    Повестке дня: "Как мы выполняем наши цели?"
    • Обсуждайте проблемы и задачи
    • Принимайте решения совместно
    • Установите цели следующего совещания
    • Распределяйте задачи

    Распределите как можно больше проектных обязанностей членам JAD группы – это поможет приобщить чувство причастности и собственности к проекту.

Как узнать, успешно ли Вы используете JAD?

Ответьте на вопросы:

  • Ваши заседания хорошо посещаемы?
  • Все ли заинтересованные стороны вовлечены? Все ли стороны знают о принятых решениях?
  • Вы решали основную проблему?
  • Ваше решение принято и используется клиентами?
  • Доступно ли решение вовремя?

Факторы успеха

  • Четкие цели разделяют все члены группы – это устав проекта
  • В проекте работает разнообразная команда, представляющая все необходимые области
  • Каждый человек в группе имеет равные ответственность и возможность принятия решения
  • Каждая идея ценна. На всем протяжении JAD - слушать и принимать во внимание все идеи и высказывания. Оценка идей в ходе "мозгового штурма" прервет творческий процесс. Лучшую идею могут никогда не высказать, опасаясь, что ее отвергнут
  • Участие каждого человека - это очень важно. Поощряйте более тихих членов говорить, они часто имеют лучшие идеи. Не позволяйте одному или двум членам доминировать. Это общая для всех обязанность - не доминировать
  • Слушайте, когда говорят другие; не прерывайте и не говорите, когда говорят другие (собеседники могут иметь отличные идеи - Вы же не хотим упустить их)
  • Ведите запись важных вопросов, которые выходят за рамки данного проекта.
  • Не проводите совещания только для того, чтобы собраться. Встречайтесь только, когда есть что-то значительное для обсуждения
  • Не затягивайте период между заседаниями больше чем 3 или 4 недели, вы потеряете динамику. Помните, что каждое заседание – это мотивация для команды, чтобы закончить назначенные задачи. Прийти на заседание и признать, что Вы не выполнили задачу - не составляет удовольствия.
  • Принимайте решения на основе согласия. Мы здесь для того, чтобы создать решение, не ущемляющее ничьих интересов... не обоюдовыгодные решения нас не устроят. Вы можете прийти к согласию путем голосования, давая каждому выбрать три варианта:
    • "Согласен"
    • "Против"
    • "Воздержался" (в оригинале – "I can support this idea")

Во избежание ошибок:

  • Нет реально заинтересованного спонсора – отсутствие ресурсов
  • Нечеткие цели или задачи - отсутствие направленности
  • Слишком много или мало членов в команде
  • Недостаточная для принятия решений коммуникация с внешними заинтересованными сторонами
  • Не выдерживается временной график
  • Расползание проекта (Project Creep) - проектов выходит за первоначальные определение и рамки:
    • Если это действительно необходимо – пора переписывать устав проекта
  • Совещания не помогают:
    • нет повестки дня
    • не придерживаются повестки дня
    • не начинаются или не заканчиваются вовремя
    • ничего не достигается на заседаниях – старые пункты обсуждаются от встречи к встречи
    • один или два человека доминируют в дискуссии

Преимущества JAD групп

  • Коммуникация, Коммуникация, Коммуникация
  • Формирование согласия и сопричастности (ownership)
  • Улучшенное качество проектирования и объединенные знания = Наилучшие решения
  • Проектирование кросс-функциональных (cross-functional) решений
  • Помогает проектным группам сфокусироваться и оставаться сфокусированными
  • Помогают сделать работу правильно и вовремя