SlideShare a Scribd company logo
Гибкая разработка
пользовательской
документации
Сергей Рогачев
rogachev@list.ru

@rsn81
rsn81.wordpress.com
Постановка проблемы
С чего мы начинали?
Кроссфункциональная команда
вначале 5, теперь 8 человек
роль – технический писатель
функционально отвечает за разработку
пользовательской документации

Менеджер
администрирует этот процесс
С какими проблемами мы столкнулись?
Накопление долга
когда там программисты уже разродятся
новой функциональностью?

Актуализация и тестирование
программисты изменили одну функцию –
где в документации и что нужно
изменить? а как тестировать?

Планирование и отслеживание
почему все проблемы с документацией
всплывают прямо перед выпуском?
Решение
Гибкий процесс разработки
пользовательской документации
Мы изменили процесс,
наделив его следующими
свойствами
итеративность
работа делается сразу малыми
порциями и не откладывается на потом
легко планировать и отслеживать

Итеративность

трассируемость
легко актуализировать и тестировать
становится возможной автоматизация
сборки

Трассируемость
Как обеспечить итеративность?
Определить критерии
готовности
это требования к процессу

Визуализировать работы
а это гарантия выполнения
требований к процессу

Definition of
Done

Task Board
Как у нас выглядят критерии готовности
пользовательской истории?

* См. подробнее в заметке «Ежедневный Scrum с использованием интерактивной доски»
(http://rsn81.wordpress.com/2012/08/27/daily_stand-up_meeting_with_smart_board).
Как у нас выглядит визуализация работ?

* См. подробнее в заметке «Ежедневный Scrum с использованием интерактивной доски»
(http://rsn81.wordpress.com/2012/08/27/daily_stand-up_meeting_with_smart_board).
Как у нас выглядит работа над
документацией на доске задач?

* См. подробнее в заметке «Ежедневный Scrum с использованием интерактивной доски»
(http://rsn81.wordpress.com/2012/08/27/daily_stand-up_meeting_with_smart_board).
Как обеспечить трассируемость?
Декомпозировать
документацию
это не монолитный артефакт, а
сборка документаций отдельных
пользовательских историй

Document Item

Автоматизировать сборку
документации
нам удалось это на
Microsoft Team Foundation Server
Microsoft Word
TeamSolutions TeamSpec

Build
Automation
Как у нас выглядит документация
пользовательской истории?

* См. подробнее в заметке «Гибкая разработка пользовательской документации» (http://rsn81.wordpress.com/2013/02/20/userguide-agile-development).
Как у нас выглядит работа над
документацией в Microsoft Team Foundation
Server?

* См. подробнее в заметке «Гибкая разработка пользовательской документации» (http://rsn81.wordpress.com/2013/02/20/userguide-agile-development).
Как у нас выглядит работа над
документацией в Microsoft Word?

* См. подробнее в заметке «Гибкая разработка пользовательской документации» (http://rsn81.wordpress.com/2013/02/20/userguide-agile-development).
Результат
Итого, к чему мы пришли?
Кроссфункциональная команда
выделенный системный аналитик и технический
писатель
но практически любой член команды может
выполнить роль технического писателя

Менеджер
не нужно администрировать процесс разработки
документации
Ваши вопросы?

Сергей Рогачев
rogachev@list.ru

@rsn81
rsn81.wordpress.com

More Related Content

PPTX
Гибкая разработка пользовательской документации
PPT
Алексей Рыбак (Badoo)
PPTX
Devprom ALM - платформа для поддержки процессов разработки
PPT
О чем молчит Scrum. Whalerider 2010
PPTX
Управление виртуальной командой аналитиков
PPTX
Система управления требованиями Devprom
PDF
Мобильный веб: назад в будущее
PPTX
IT-шная история игрушек или feature-driven тестирование в действии
Гибкая разработка пользовательской документации
Алексей Рыбак (Badoo)
Devprom ALM - платформа для поддержки процессов разработки
О чем молчит Scrum. Whalerider 2010
Управление виртуальной командой аналитиков
Система управления требованиями Devprom
Мобильный веб: назад в будущее
IT-шная история игрушек или feature-driven тестирование в действии

What's hot (20)

PDF
TechLeads meetup: Макс Лапшин, Erlyvideo
PDF
TechLeads meetup: Алексей Рыбак, Badoo
PDF
DevOps от и до - что, зачем и почему
PDF
DevOps модное слово или следующая ступень эволюции
PDF
Как автотесты ускоряют релизы в OK.ru
PDF
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
PPTX
Длинный путь к DevOps?
PPTX
Discovery Kanban для управления беклогом Scrum-команды
PPTX
Как построить системный анализ в продуктовых Agile-командах
PDF
Юлия Викторова; Александр Тарасов. DevOps без булшита.
PDF
Контроль над распределенной командой
PPTX
TechLeads meetup: Евгений Потапов, ITSumma
PPT
Роль ретроспектив в создании эффективного процесса разработки
PPTX
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
PDF
12 m kononov20161026
PPTX
Адаптация Jira стэка для 1с продуктов
PPTX
Переписать нельзя рефакторить
PPT
QA как драйвер трансформации
PDF
Agile Testing: вопросы и ответы
PPTX
Гибкое тестирование
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Алексей Рыбак, Badoo
DevOps от и до - что, зачем и почему
DevOps модное слово или следующая ступень эволюции
Как автотесты ускоряют релизы в OK.ru
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Длинный путь к DevOps?
Discovery Kanban для управления беклогом Scrum-команды
Как построить системный анализ в продуктовых Agile-командах
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Контроль над распределенной командой
TechLeads meetup: Евгений Потапов, ITSumma
Роль ретроспектив в создании эффективного процесса разработки
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
12 m kononov20161026
Адаптация Jira стэка для 1с продуктов
Переписать нельзя рефакторить
QA как драйвер трансформации
Agile Testing: вопросы и ответы
Гибкое тестирование
Ad

Гибкая разработка пользовательской документации

  • 3. С чего мы начинали? Кроссфункциональная команда вначале 5, теперь 8 человек роль – технический писатель функционально отвечает за разработку пользовательской документации Менеджер администрирует этот процесс
  • 4. С какими проблемами мы столкнулись? Накопление долга когда там программисты уже разродятся новой функциональностью? Актуализация и тестирование программисты изменили одну функцию – где в документации и что нужно изменить? а как тестировать? Планирование и отслеживание почему все проблемы с документацией всплывают прямо перед выпуском?
  • 6. Гибкий процесс разработки пользовательской документации Мы изменили процесс, наделив его следующими свойствами итеративность работа делается сразу малыми порциями и не откладывается на потом легко планировать и отслеживать Итеративность трассируемость легко актуализировать и тестировать становится возможной автоматизация сборки Трассируемость
  • 7. Как обеспечить итеративность? Определить критерии готовности это требования к процессу Визуализировать работы а это гарантия выполнения требований к процессу Definition of Done Task Board
  • 8. Как у нас выглядят критерии готовности пользовательской истории? * См. подробнее в заметке «Ежедневный Scrum с использованием интерактивной доски» (http://rsn81.wordpress.com/2012/08/27/daily_stand-up_meeting_with_smart_board).
  • 9. Как у нас выглядит визуализация работ? * См. подробнее в заметке «Ежедневный Scrum с использованием интерактивной доски» (http://rsn81.wordpress.com/2012/08/27/daily_stand-up_meeting_with_smart_board).
  • 10. Как у нас выглядит работа над документацией на доске задач? * См. подробнее в заметке «Ежедневный Scrum с использованием интерактивной доски» (http://rsn81.wordpress.com/2012/08/27/daily_stand-up_meeting_with_smart_board).
  • 11. Как обеспечить трассируемость? Декомпозировать документацию это не монолитный артефакт, а сборка документаций отдельных пользовательских историй Document Item Автоматизировать сборку документации нам удалось это на Microsoft Team Foundation Server Microsoft Word TeamSolutions TeamSpec Build Automation
  • 12. Как у нас выглядит документация пользовательской истории? * См. подробнее в заметке «Гибкая разработка пользовательской документации» (http://rsn81.wordpress.com/2013/02/20/userguide-agile-development).
  • 13. Как у нас выглядит работа над документацией в Microsoft Team Foundation Server? * См. подробнее в заметке «Гибкая разработка пользовательской документации» (http://rsn81.wordpress.com/2013/02/20/userguide-agile-development).
  • 14. Как у нас выглядит работа над документацией в Microsoft Word? * См. подробнее в заметке «Гибкая разработка пользовательской документации» (http://rsn81.wordpress.com/2013/02/20/userguide-agile-development).
  • 16. Итого, к чему мы пришли? Кроссфункциональная команда выделенный системный аналитик и технический писатель но практически любой член команды может выполнить роль технического писателя Менеджер не нужно администрировать процесс разработки документации

Editor's Notes

  • #7: На ретроспективе я поднял эти проблемы и предложил команде совместно определить процесс создания документации таким образом, чтобы создание и модификация документации к продукту стало прогнозируемо. В итоге, мы изменили процесс разработки пользовательской документации, наделив его следующими свойствами: итеративность и трассируемость.ИтеративностьИсключить накопление долга и обеспечить возможность планирования и отслеживания работ по документированию можно с помощью включения этих работ в общий процесс итеративной разработки. Таким образом будет обеспечено согласованное инкрементальное наращивание и функциональности продукта, и его описания. Как следствие, появление долга по документированию принципиально исключается, а весь процесс разработки в целом получается прогнозируемым.ТрассируемостьНа простой вопрос, часто возникающий при разработке пользовательской документации: “А мы вот это уже задокументировали?” – не всегда просто ответить сходу. Совсем тяжело бывает найти главу пользовательской документации, где описано реализованное требование. Слышал несколько раз и такой вопрос менеджера: “А вот эта глава актуальна? Кажется, в последнем выпуске мы эти функции сильно переделали. Пошли разбираться к разработчикам…”Соответственно, нужен механизм, который позволит быстро отвечать на все эти вопросы, исключая необходимость полагаться на память людей, которая не идеальна. Как следствие, будут решены проблемы актуализации и тестирования документации.
  • #8: Как обеспечить свойство процесса – итеративность?Критерии готовностиПервая часть решения заключается наличии таких критериев готовности (DefinitionofDone) функциональности (реализованного требования), которые обязывают завершить все связанные работы: программирование, тестирование и документирование реализованного требования. Таким образом, функциональность считается готовой только тогда, когда она в том числе и описана в пользовательской документации. В итоге, минимизируется отставание всех связанных работ от программирования, что решает проблему накопления долгов. В идеале после завершения реализации каждой функциональности вы полностью готовы к отгрузке выпуска.Стоит особенно отметить, что при этом технический писатель постоянно обеспечивается работой в рамках итерации. Он становится равноправным членом команды, как разработчики и тестировщики несет коллективную ответственность за общий результат команды. Менеджерам, которые беспокоятся за максимально полную утилизацию ресурсов, не стоит переживать по этому поводу: если технический писатель не является ресурсом ограничения, то есть на день работы разработчика приходится меньше дня его работы, то нужно просто задействовать его во всех проектах на необходимый процент загрузки – он будет работать по конкретному проекту практически каждый день, просто переключаясь по мере поступления работы. Самое важное, что работа ему будет поступать малыми порциями и часто, поэтому менеджеру остается только собрать необходимые метрики его работы в проекте, чтобы оптимально запланировать его участие в нем.Визуализация работОпределить требования к процессу – это половина, если не меньшая часть дела. Как обеспечить гарантию их выполнения, как не забывать их выполнять?Традиционным решением, упрощающим следование гибким процессам, является визуализация работ с помощью доски задач. Критерии готовности требования, которое взяли в реализацию, нужно визуализировать таким образом, чтобы можно было легко увидеть: какие критерии уже выполнены, какие не выполнены, а какие находятся в процессе выполнения. Если на вашей доске задач напротив “бумажки” каждой пользовательской истории будут висеть “бумажки”, которые визуализируют все работы по реализации функциональности: разработка, тестирование, документирование и т.п. – вы вряд ли забудете поработать над каждой из них.
  • #12: Как обеспечить свойство процесса – трассируемость?Декомпозиция документацииАктуализация и тестирование документации являются затратными работами, потому что пользовательская документация представляет собой монолитный большой артефакт, внутри которого каким-то непредсказуемым образом разбросано описание реализованных пользовательских историй.А что если декомпозировать документацию на отдельные детали, каждая из которых представляет атомарную автономную документацию конкретного реализованного требования? Тогда станет возможной двусторонняя навигация: от конкретной пользовательской истории к ее описанию в пользовательской документации и обратно от конкретной части документации к тому требованию, которое было реализовано и породило данное описание. В итоге, сценарий обновления документации превращается в механическую работы: найти и добавить в пользовательскую документацию описания требований, реализованных за время работы над последним выпуском, обновить в пользовательской документации описания измененных требований, удалить описания исключенных из выпуска функций.Автоматизация сборки документацииОсновные идеи, описанные выше, впервые посетили воспаленный мозг одного менеджера и были опробованы им в команде еще несколько лет назад. Единственное, что омрачало тогда все это действо: незначительные, но никак не поддающиеся исключению посредством автоматизации, трудозатраты по сборке документации. Конечно, при таком подходе уже не нужно было пытать программистов, что же изменилось в последней версии продукта, чтобы найти изменения, которые необходимо перенести в финальный документ пользовательской документации: просто выбираешь все описания, созданные или измененные в рамках подготовки последнего выпуска. К слову, это самые значительные трудозатраты при сборке пользовательской документации. Но все же остается достаточно много работы по поиску в финальном документе мест, которые нужно заменить на текст из подготовленных заранее описаний. Сейчас тот менеджер нашел таблетку и от этой головной боли.Идеальный вариант – это найти инструмент, который умеет синхронизировать описания (атомарные описания пользовательских историй) и пользовательскую документацию (финальный документ, файл справки, портал и прочие используемые вами форматы). И здесь конкретное решение зависит от того, какую систему управления жизненным циклом приложения (ALM, ApplicationLifecycleManagement) вы используете. Но если вы, как и мы, используете Microsoft Team FoundationServer (далее – TFS), то с решением этой проблемы  вам поможет программа TeamSolutionsTeamSpec, позволяющая в обе стороны синхронизировать документы MicrosoftWord и рабочие элементы TFS.