SlideShare ist ein Scribd-Unternehmen logo
1 von 85
Построение гибкого
                    процесса разработки
                                       от теории к практике




Codeparts developers initiative   ДОИ «Тендер-2012»
Обо мне


   Имя: Рахматиллаев Тимур
   Twitter: http://twitter.com/eskat0n
   Email: muyou.prj@gmail.com
   VK: http://vk.com/eskat0n
   Skype: eskat0n
Обо мне


   Получил диплом инженера по специальности 230101 в
    2011 году.
   С сентября 2010 до февраль 2012 года работал в
    компании IndyCode в должности разработчика в стеке
    технологий .NET
   С марта по июнь 2012 года работал в компании
    DoneRight в должности web-разработчика в стеке
    технологий .NET
   С августа 2012 года работаю в компании ByndyuSoft в
    должности ведущего разработчика / тимлида
Я...


   Не менеджер
   Не технический директор
   Не внедритель Agile/Scrum/Kanban


   Разработчик
С другой стороны баррикад
Что я видел

   Микроменеджмент переходящий в «наноменеджмент»

   Провальные в своей сути попытки внедрить Agile

   Переход к Kanban от Scrum’а и обратно

   Kanban-board собственной разработки

   Проведение ретроспектив

   Проведение стендапов

   Попытка уйти от стендапов

   Тайм-менеджмент

   Использование sticky-notes

   Mind map

   Roadmap

   Story mapping

   User stories

   Тестирование силами заказчика

   Заказчик в команде

   Заказчик на другом конце земного шара

   Взаимодействие через wiki

   И много чего еще...
Я вас предупреждал
Чего НЕ произойдет после того как вы
пройдете этот тренинг
   Ваши проблемы не решаться сами по себе
   Вы НЕ наладите оптимальный процесс разработки
   Поведенческие особенности разработчиков из ваших
    команд не изменятся
Но!..


   Вы сможете понять ваши проблемы
   Вы будете знать, что вы можете сделать (и что делают
    другие команды разработчиков)
   Вы сможете более эффективно решать возникающие
    проблемы
Притча про командную греблю
одна поучительная история
Выводы


   Важно осознавать факт наличия проблемы
   Необходимо понимать, в чем именно заключается
    проблема
   Нужно обладать набором знаний для решения
    проблемы
   Надо обладать навыками для эффективного
    применения этих знаний на практике
Проблемы самосознания
Насколько я квалифицирован, чтобы что-то решать?
Что я могу решить?
Я знаю, как я могу что-нибудь гарантировано решить?
Матрица компетентности
         путь творца   Компетентность
            опыт

      неосознанная              осознанная
     компетентность           компетентность     обучение
                       да
                                                подражание


          нет                     да
                                                Осознанность
      неосознанная              осознанная
    некомпетентность         некомпетентность
                       нет

                       «собирание шишек»
                         советы коллег
Матрица компетентности
                        Компетентность


          Я не                Ага, вот оно как!
    понимаю, почему     да
        так будет
    правильно, но это
       правильно
           нет                     да
                                                  Осознанность
    А че там делать?          О, да тут все не
                               просто так...
                        нет
Анекдот


Встречаются две рыбы.
Одна другую спрашивает: «А вот как ты жабрами
дышишь?»
Вторая рыба задумалась... и задохнулась.
А на самом деле...


Все правила, принципы и подходы – это просто
формализованный здравый смысл.
Нахождение в 4й стадии означает использование
собственного опыта и здравого смысла.
Здравый смысл формализуют для удобства
запоминания, чтобы совершался переход из 2й в
3ю стадию.
Еѐ величество ПРОБЛЕМА
Как понять, что у вас есть проблемы в организации процесса
разработки?
Проблемы?
Проблемы?


   Вы тратите на организацию работы команды
    неоправданно большое время
   Вы планируете дольше, чем разрабатываете
   В процессе разработки одновременно не задействованы
    все члены команды
   Вы не знаете, кто и чем занимается СЕЙЧАС
Причины?


   Неправильно построенный процесс
   Неправильно выбранные инструменты
   Неправильно расставленные приоритеты
UML – не панацея


   Что дает вам применение диаграммы прецедентов?
   Что дает вам применение диаграммы
    последовательности?
   Что дает вам применение диаграммы классов?
   Что дает вам наличие нотации?
UML – не панацея


   UML отъедает временные ресурсы команды
   UML не формирует единого представления из-за
    высокого уровня абстракции
   UML не нужен заказчику (как правило)
   UML плохо декомпозируется над подзадачи
Что мы делаем при разработке?


 Решаем   проблемы заказчика!
А не превращаем абстрактные
 рисунки в код
Если бы программисты строили
дома
42 в мире управления процессом разработки ПО
http://bit.ly/progbuilding
Отсутствие единого мнения


Обсуждали проект. Сидоров предлагает крупноблочную
архитектуру. Петрович настаивает, что все надо строить по
старинке, из кирпича, не по-ламерски. Самый радикальный
проект предложил Алекс: построить несколько десятков
деревянных коттеджей и потом соединить их подземными
туннелями. На Западе сейчас так модно. Напомнили ему, что
заказчик требует именно 12-этажный дом. Пытались решить
вопрос дуэлью в Quаkе. Алекса с его коттеджами завалили
сразу, но между Петровичем и Сидоровым вышла ничья. В
итоге каждый будет строить по своему плану, а потом
попытаемся все это соединить, чтоб не рухнуло.
«Хватит трепаться – покажите мне код!»
Линус Торвальдс
Главная задача –
быстрый переход к
непосредственной разработке
Вечные ценности команды
Немного философии
Решение проблемы заказчика


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


Вспомнили, что у нас кран достает только до 8 этажа. Послали
Сидорова доставать новый кран. Играем в Quаkе. Алекс
замочил Петровича. Растет смена!
Явное ощущение прогресса


   Что уже сделано?
   Что осталось сделать?
   Какой вклад я внес?
Коллективное владение информацией


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


   Решение проблеммы заказчика
   Саморазвитие
   Явное ощущение прогресса
   Коллективное владение информацией
Agile
Lean, Scrum, XP, Kanban, FDD
Принципы Agile

   Наисвысший приоритет – удовлетворение потребностей заказчика, благодаря
    регулярной и ранней поставке ценного программного обеспечения.
   Изменение требований приветствуется, даже на поздних стадиях разработки.
    Agile-процессы позволяют использовать изменения для обеспечения заказчику
    конкурентного преимущества.
   Работающий продукт следует выпускать как можно чаще, с периодичностью от
    пары недель до пары месяцев.
   На протяжении всего проекта разработчики и представители бизнеса должны
    ежедневно работать вместе.
   Над проектом должны работать мотивированные...


http://agilemanifesto.org/iso/ru
Agile-практики


   Lean
   XP
   Scrum
   Kanban
   FDD
Agile-практики
          XP                 Scrum                Kanban
   Whole team            Scrum master         Visualize the
   Coding standard                              workflow
                          Product owner
   TDD                                         Limit WIP
                          Team
   Collective                                  Measure and
    ownership             Sprint planning
                                                 optimize lead
                           meeting
   Customer tests                               time
                          Daily scrum
   Pair programming
                          Sprint review
   Refactoring
                          Product backlog
   Planning game
   Continuous            Spring backlog
    integration           Burndown chart
   Simple design
   Sustainable pace
   Small releases
Agile – это не серебряная пуля
Волшебства не будет – электричество закончилось
Agile – это инструментарий, который применяют люди
Незнание правил техники безопасности не освобождает от ответственности
Agile нельзя внедрять!
К Agile нужно переходить
Agile – это конструктор


   Нет понятия Agile
   Есть набор практически полностью изолированных друг от
    друга микро-практик и принципов
   Практики можно комбинировать друг с другом
   Практики нужно комбинировать друг с другом
Не сочтите за рекламу...
Но Agile это сендвич
По какому принципу комбинировать?


   Это вкусно
По какому принципу комбинировать?


   Это вкусно
   Это удобно
   Команда уже неформально использует это
   Это решает конкретную проблему
   Это способствует поддержанию определенной командной
    ценности
Основные понятия Agile
Итеративная разработка


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


   Продолжительность итерации – одна-две недели
   Результат итерации – протестированная версия
    разрабатываемого продукта
   Итерация включает в себя процесс перехода задач итерации
    из состояния в состояние
На самом деле всѐ не так
User stories

Способ описания требований к разрабатываемой
системе, сформулированных как одно или более предложений
на ежедневном или деловом языке пользователя.


Пример:
Я как зарегистрированный и авторизованный пользователь
Могу нажать на кнопку «Сменить пароль» после ввода нового
пароля на форме «Смена пароля»
При этом мой пароль изменяется и я получаю сообщение об
успешной смене пароля
User stories и Use cases


   User story представляет собой описание функции системы со
    стороны пользователя (заказчика)
   Use case представляет собой описание функции системы со
    стороны самой системы (как правило содержит большее
    число технических деталей)
WIP (work in progress)


   Количество задач (user stories, etc.), находящихся в
    одновременной разработке
   В идеале WIP на определенном этапе жизненного цикла
    задачи не должен превышать числа членов команды,
    задействованных на данном этапе
DoD (definition of done)

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


   Понимание и четкое видение DoD обязательно должно быть
    общим у всех членом команды
Agile board


   Доска (физическая или виртуальная) для фиксирования
    прогресса выполнения задач в рамках итерации
   Каждая задача должна побывать во всех состояниях-
    колонках
   Примеры состояний: «Запланировано», «В
    разработке», «Готово к тестированию», «В процессе
    тестирования», «Готово»
Решения для организации Agile board


   SaaS:
       AgileZen – http://www.agilezen.com
       YouTrack InCloud – http://www.jetbrains.com/youtrack/hosted
       My agility board – http://www.myagilityboard.com
   Standalone:
       Atlassian JIRA – http://www.atlassian.com/software/jira
   Пробковая доска ;)
Некоторые практики Agile
Детальное рассмотрение
http://agilesoftwaredevelopment.com
Whole team


Команда разработчиков должна включать в себя
специалистов, которые способны выполнять весь набор
ролей, необходимых для выпуска финальной версии продукта
и поддержания жизненного цикла разработки:
разработка, тестирование, оформление документации и, что
наиболее важно, представители заказчика.
Collective ownership
Coding standard
Коллективное владение знаниями о проекте, техническими
деталями реализации, списом требований подразумевает
открые механизмы доступа к ним.
Коллективное владение исходным кодом подразумевает
коллективную ответственность за качество этого исходного
кода, соблюдение единого стандарта кодирование и понимание
всеми членами команды разработчиков принципов
проектирования согласно которым строится дальнейшее
развитие продукта.
Planning game


   Служит инструментом выработки и проверки наличия
    единого представления всех членов команды о
    существующих задачах
   Является адаптивной системой оценки сроков выполнения
    задач
   Оценка задач может осуществляться в любых абсолютных и
    относительных единицах (минуты, дни, попугаи и т.д.)
Planning poker


   Оценка задачи производится «в закрытую» с использованием
    специальных карт оценки определенного номинала
   Затем карты переворачиваются «рубашкой» вниз
   Члены команды разработчиков с самой маленькой и большей
    оценками высказываются о причинах подобной оценки
   В случае большого несовпадения мнений карты
    перекидываются
Small releases


В конце каждой итерации выпускается релиз –
протестированная и стабильная версия системы.
Релизы делаются как можно чаще. В идеале – каждый день.
Visualize the workflow


Использование любых подручных средств для визуального
представления процесса разработки:


   Burndown chart
   Story mapping
   Agile board
Daily meeting (standup)


Ежедневное (иногда ограниченное по времени) собрание всех
членов команды с целью получить ответы каждого на
следующие вопросы:
   Что было сделано вчера?
   Какие проблемы возникли в работе? (Что мешает двигаться
    дальше?)
   Что будет сделано сегодня?


Некоторые из вопросов могут пропускаться
Daily meeting (standup)


Цели:


   Формирование единого представления о прогрессе у всей
    команды
   Предотвращение простоев в работе
   Повышение мотивации (выявление «халявщиков»)
Limit WIP


Ограничение числа задач, находящихся на стадии выполнения
(разработка, тестирование).
Pair programming


Разработка двумя разработчиками за одним компьютером с
последовательной передачей клавиатуры между ними.
Возможна комбинация с TDD: один разработчик пишет тест –
другой реализацию.
Ролевая игра
Или одни 10мин из жизни команды разработчиков
Задавайте свои вопросы
Не стесняйтесь
Фил фри ту аск мо квесченз


   Email: muyou.prj@gmail.com
   Skype: eskat0n
   Twitter: http://twitter.com/eskat0n
   VK: http://vk.com/eskat0n

Weitere ähnliche Inhalte

Was ist angesagt?

Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...ScrumTrek
 
Функции консультатнта в работе аналитика
Функции консультатнта в работе аналитикаФункции консультатнта в работе аналитика
Функции консультатнта в работе аналитикаNatalya Sveshnikova
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8Pavel Veinik
 
05 задачи эксперта в работе аналитика
05 задачи эксперта в работе аналитика05 задачи эксперта в работе аналитика
05 задачи эксперта в работе аналитикаNatalya Sveshnikova
 
Software craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsSoftware craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsPavel Veinik
 
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.ScrumTrek
 
Дмитрий Матвеев, Александр Павлович. Гибкий подход к продуктовому развитию Го...
Дмитрий Матвеев, Александр Павлович. Гибкий подход к продуктовому развитию Го...Дмитрий Матвеев, Александр Павлович. Гибкий подход к продуктовому развитию Го...
Дмитрий Матвеев, Александр Павлович. Гибкий подход к продуктовому развитию Го...ScrumTrek
 
Дизайн-мышление для инноваций в бизнесе. "Лаборатория знаний" Coursera @Digit...
Дизайн-мышление для инноваций в бизнесе. "Лаборатория знаний" Coursera @Digit...Дизайн-мышление для инноваций в бизнесе. "Лаборатория знаний" Coursera @Digit...
Дизайн-мышление для инноваций в бизнесе. "Лаборатория знаний" Coursera @Digit...Lumiknows Consultancy
 
Самоопределяйся технологично!
Самоопределяйся технологично!Самоопределяйся технологично!
Самоопределяйся технологично!Maxim Tsepkov
 
Типичные ошибки внедрения Lean и Agile
Типичные ошибки внедрения Lean и AgileТипичные ошибки внедрения Lean и Agile
Типичные ошибки внедрения Lean и AgileMagneta AI
 
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан..."Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...it-people
 
Organizing self-organizing teams
Organizing self-organizing teamsOrganizing self-organizing teams
Organizing self-organizing teamsAgileee
 
Experience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеExperience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеReturn on Intelligence
 
Дизайн: от предмета к смыслу. Презентация на интенсиве Design Thinking Lab 20...
Дизайн: от предмета к смыслу. Презентация на интенсиве Design Thinking Lab 20...Дизайн: от предмета к смыслу. Презентация на интенсиве Design Thinking Lab 20...
Дизайн: от предмета к смыслу. Презентация на интенсиве Design Thinking Lab 20...Maria Stashenko
 
Прототипирование в дизайн-мышлении
Прототипирование в дизайн-мышлении Прототипирование в дизайн-мышлении
Прототипирование в дизайн-мышлении Lumiknows Consultancy
 
Project Manager - Глупая идея
Project Manager - Глупая идеяProject Manager - Глупая идея
Project Manager - Глупая идеяNikita Filippov
 
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?Жизнь в стиле стартап в корпоративной среде: Agile в помощь?
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?ScrumTrek
 

Was ist angesagt? (20)

Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
 
Функции консультатнта в работе аналитика
Функции консультатнта в работе аналитикаФункции консультатнта в работе аналитика
Функции консультатнта в работе аналитика
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8
 
05 задачи эксперта в работе аналитика
05 задачи эксперта в работе аналитика05 задачи эксперта в работе аналитика
05 задачи эксперта в работе аналитика
 
Software craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsSoftware craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systems
 
Agile testing
Agile testingAgile testing
Agile testing
 
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
 
Дмитрий Матвеев, Александр Павлович. Гибкий подход к продуктовому развитию Го...
Дмитрий Матвеев, Александр Павлович. Гибкий подход к продуктовому развитию Го...Дмитрий Матвеев, Александр Павлович. Гибкий подход к продуктовому развитию Го...
Дмитрий Матвеев, Александр Павлович. Гибкий подход к продуктовому развитию Го...
 
Дизайн-мышление для инноваций в бизнесе. "Лаборатория знаний" Coursera @Digit...
Дизайн-мышление для инноваций в бизнесе. "Лаборатория знаний" Coursera @Digit...Дизайн-мышление для инноваций в бизнесе. "Лаборатория знаний" Coursera @Digit...
Дизайн-мышление для инноваций в бизнесе. "Лаборатория знаний" Coursera @Digit...
 
Самоопределяйся технологично!
Самоопределяйся технологично!Самоопределяйся технологично!
Самоопределяйся технологично!
 
Типичные ошибки внедрения Lean и Agile
Типичные ошибки внедрения Lean и AgileТипичные ошибки внедрения Lean и Agile
Типичные ошибки внедрения Lean и Agile
 
The Top of Agile Iceberg
The Top of Agile IcebergThe Top of Agile Iceberg
The Top of Agile Iceberg
 
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан..."Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
 
Organizing self-organizing teams
Organizing self-organizing teamsOrganizing self-organizing teams
Organizing self-organizing teams
 
Scrum
ScrumScrum
Scrum
 
Experience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеExperience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбине
 
Дизайн: от предмета к смыслу. Презентация на интенсиве Design Thinking Lab 20...
Дизайн: от предмета к смыслу. Презентация на интенсиве Design Thinking Lab 20...Дизайн: от предмета к смыслу. Презентация на интенсиве Design Thinking Lab 20...
Дизайн: от предмета к смыслу. Презентация на интенсиве Design Thinking Lab 20...
 
Прототипирование в дизайн-мышлении
Прототипирование в дизайн-мышлении Прототипирование в дизайн-мышлении
Прототипирование в дизайн-мышлении
 
Project Manager - Глупая идея
Project Manager - Глупая идеяProject Manager - Глупая идея
Project Manager - Глупая идея
 
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?Жизнь в стиле стартап в корпоративной среде: Agile в помощь?
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?
 

Andere mochten auch

Искусство просить деньги. Как просить кого угодно о какой угодно сумме для ка...
Искусство просить деньги. Как просить кого угодно о какой угодно сумме для ка...Искусство просить деньги. Как просить кого угодно о какой угодно сумме для ка...
Искусство просить деньги. Как просить кого угодно о какой угодно сумме для ка...Burt and Co LLC
 
Индексируй неиндексирумое
Индексируй неиндексирумоеИндексируй неиндексирумое
Индексируй неиндексирумоеTimur Rakhmatillaev
 
ReSharper 8.0 или магия продуктивной разработки
ReSharper 8.0 или магия продуктивной разработкиReSharper 8.0 или магия продуктивной разработки
ReSharper 8.0 или магия продуктивной разработкиTimur Rakhmatillaev
 
Арома маркетинг от мирового лидера Scent air 2012
Арома маркетинг от мирового лидера Scent air 2012Арома маркетинг от мирового лидера Scent air 2012
Арома маркетинг от мирового лидера Scent air 2012Жанибек Кенжебеков
 
Е. Марченков «Навыки проведения эффективной презентации»
Е. Марченков «Навыки проведения эффективной презентации»Е. Марченков «Навыки проведения эффективной презентации»
Е. Марченков «Навыки проведения эффективной презентации»e-Legion
 
Управление продажами. Управление отношениями с ключевыми клиентами.
Управление продажами. Управление отношениями с ключевыми клиентами.Управление продажами. Управление отношениями с ключевыми клиентами.
Управление продажами. Управление отношениями с ключевыми клиентами.Alexey Nazarov
 
Способы доставки на орбиту-2. КСМИ
Способы доставки на орбиту-2. КСМИСпособы доставки на орбиту-2. КСМИ
Способы доставки на орбиту-2. КСМИОткрытый Космос
 
О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"Yandex
 
Анализ рекламных кампаний в интернете. Что и как нужно измерять
Анализ рекламных кампаний в интернете. Что и как нужно измерятьАнализ рекламных кампаний в интернете. Что и как нужно измерять
Анализ рекламных кампаний в интернете. Что и как нужно измерятьNetpeak
 
Рынок мониторинга социальных медиа в странах СНГ (Q3 2011), отраслевой профиль
Рынок мониторинга  социальных медиа  в странах СНГ (Q3 2011), отраслевой профильРынок мониторинга  социальных медиа  в странах СНГ (Q3 2011), отраслевой профиль
Рынок мониторинга социальных медиа в странах СНГ (Q3 2011), отраслевой профильsmm3
 
Причины совершения покупок и причины отказа от них, среди покупателей в интер...
Причины совершения покупок и причины отказа от них, среди покупателей в интер...Причины совершения покупок и причины отказа от них, среди покупателей в интер...
Причины совершения покупок и причины отказа от них, среди покупателей в интер...Vladimir Kozlov
 
Зачем использовать наружную рекламу
Зачем использовать наружную рекламуЗачем использовать наружную рекламу
Зачем использовать наружную рекламуGalleryMedia
 
100 лучших способов получения клиентов из интернета
100 лучших способов получения клиентов из интернета100 лучших способов получения клиентов из интернета
100 лучших способов получения клиентов из интернетаAndrei Builov
 
MarketingPeople - proposal to investors
MarketingPeople - proposal to investorsMarketingPeople - proposal to investors
MarketingPeople - proposal to investorsOleg Mikhalevich
 
Аудитория интернета в России: еще один год. Взгляд со стороны
Аудитория интернета в России: еще один год. Взгляд со стороныАудитория интернета в России: еще один год. Взгляд со стороны
Аудитория интернета в России: еще один год. Взгляд со стороныSergey Galyonkin
 
Роль социальных медиа в выводе нового бренда на рынок (на примере Tele2 в Каз...
Роль социальных медиа в выводе нового бренда на рынок (на примере Tele2 в Каз...Роль социальных медиа в выводе нового бренда на рынок (на примере Tele2 в Каз...
Роль социальных медиа в выводе нового бренда на рынок (на примере Tele2 в Каз...Sergey Andriyashkin
 
Как попасть под фильтры поисковых систем.
Как попасть под фильтры поисковых систем.Как попасть под фильтры поисковых систем.
Как попасть под фильтры поисковых систем.DeltaClick
 

Andere mochten auch (20)

"Диагностика учебной успешности в начальной школе".
"Диагностика учебной успешности в начальной школе"."Диагностика учебной успешности в начальной школе".
"Диагностика учебной успешности в начальной школе".
 
Искусство просить деньги. Как просить кого угодно о какой угодно сумме для ка...
Искусство просить деньги. Как просить кого угодно о какой угодно сумме для ка...Искусство просить деньги. Как просить кого угодно о какой угодно сумме для ка...
Искусство просить деньги. Как просить кого угодно о какой угодно сумме для ка...
 
NPAPI
NPAPINPAPI
NPAPI
 
Индексируй неиндексирумое
Индексируй неиндексирумоеИндексируй неиндексирумое
Индексируй неиндексирумое
 
ReSharper 8.0 или магия продуктивной разработки
ReSharper 8.0 или магия продуктивной разработкиReSharper 8.0 или магия продуктивной разработки
ReSharper 8.0 или магия продуктивной разработки
 
Арома маркетинг от мирового лидера Scent air 2012
Арома маркетинг от мирового лидера Scent air 2012Арома маркетинг от мирового лидера Scent air 2012
Арома маркетинг от мирового лидера Scent air 2012
 
Е. Марченков «Навыки проведения эффективной презентации»
Е. Марченков «Навыки проведения эффективной презентации»Е. Марченков «Навыки проведения эффективной презентации»
Е. Марченков «Навыки проведения эффективной презентации»
 
Управление продажами. Управление отношениями с ключевыми клиентами.
Управление продажами. Управление отношениями с ключевыми клиентами.Управление продажами. Управление отношениями с ключевыми клиентами.
Управление продажами. Управление отношениями с ключевыми клиентами.
 
Способы доставки на орбиту-2. КСМИ
Способы доставки на орбиту-2. КСМИСпособы доставки на орбиту-2. КСМИ
Способы доставки на орбиту-2. КСМИ
 
О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"
 
Анализ рекламных кампаний в интернете. Что и как нужно измерять
Анализ рекламных кампаний в интернете. Что и как нужно измерятьАнализ рекламных кампаний в интернете. Что и как нужно измерять
Анализ рекламных кампаний в интернете. Что и как нужно измерять
 
Рынок мониторинга социальных медиа в странах СНГ (Q3 2011), отраслевой профиль
Рынок мониторинга  социальных медиа  в странах СНГ (Q3 2011), отраслевой профильРынок мониторинга  социальных медиа  в странах СНГ (Q3 2011), отраслевой профиль
Рынок мониторинга социальных медиа в странах СНГ (Q3 2011), отраслевой профиль
 
Причины совершения покупок и причины отказа от них, среди покупателей в интер...
Причины совершения покупок и причины отказа от них, среди покупателей в интер...Причины совершения покупок и причины отказа от них, среди покупателей в интер...
Причины совершения покупок и причины отказа от них, среди покупателей в интер...
 
Зачем использовать наружную рекламу
Зачем использовать наружную рекламуЗачем использовать наружную рекламу
Зачем использовать наружную рекламу
 
100 лучших способов получения клиентов из интернета
100 лучших способов получения клиентов из интернета100 лучших способов получения клиентов из интернета
100 лучших способов получения клиентов из интернета
 
MarketingPeople - proposal to investors
MarketingPeople - proposal to investorsMarketingPeople - proposal to investors
MarketingPeople - proposal to investors
 
Аудитория интернета в России: еще один год. Взгляд со стороны
Аудитория интернета в России: еще один год. Взгляд со стороныАудитория интернета в России: еще один год. Взгляд со стороны
Аудитория интернета в России: еще один год. Взгляд со стороны
 
Социальные сети для журналиста
Социальные сети для журналистаСоциальные сети для журналиста
Социальные сети для журналиста
 
Роль социальных медиа в выводе нового бренда на рынок (на примере Tele2 в Каз...
Роль социальных медиа в выводе нового бренда на рынок (на примере Tele2 в Каз...Роль социальных медиа в выводе нового бренда на рынок (на примере Tele2 в Каз...
Роль социальных медиа в выводе нового бренда на рынок (на примере Tele2 в Каз...
 
Как попасть под фильтры поисковых систем.
Как попасть под фильтры поисковых систем.Как попасть под фильтры поисковых систем.
Как попасть под фильтры поисковых систем.
 

Ähnlich wie Построение гибкого процесса разработки (3 курс)

Agile transformation_keynote
Agile transformation_keynoteAgile transformation_keynote
Agile transformation_keynoteProvectus
 
Agileee Petelin самый непонимаемый принцип Agile Manifesto
Agileee Petelin самый непонимаемый принцип Agile ManifestoAgileee Petelin самый непонимаемый принцип Agile Manifesto
Agileee Petelin самый непонимаемый принцип Agile ManifestoAgileee
 
Прикручивание колёс на ходу. Внедрение UX процессов в уже работающий продукт
Прикручивание колёс на ходу. Внедрение UX процессов в уже работающий продуктПрикручивание колёс на ходу. Внедрение UX процессов в уже работающий продукт
Прикручивание колёс на ходу. Внедрение UX процессов в уже работающий продуктПрофсоUX
 
Agile2014 Orlando обзор конференции
Agile2014 Orlando обзор конференцииAgile2014 Orlando обзор конференции
Agile2014 Orlando обзор конференцииMikhail Kudanov
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныRoman Dvornov
 
Роль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиРоль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиDmitry Lobasev
 
Борис Вольфсон. Почему Agile больше не работает
Борис Вольфсон. Почему Agile больше не работаетБорис Вольфсон. Почему Agile больше не работает
Борис Вольфсон. Почему Agile больше не работаетScrumTrek
 
ошибки аналитика
ошибки аналитикаошибки аналитика
ошибки аналитикаAndrey Verbitsky
 
Киев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымКиев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымVladimir Zavertaylov
 
Self Organizing Team
Self Organizing TeamSelf Organizing Team
Self Organizing TeamDenis Petelin
 
CEE-SECR-2011. Презентация Александра Калугина
CEE-SECR-2011. Презентация Александра КалугинаCEE-SECR-2011. Презентация Александра Калугина
CEE-SECR-2011. Презентация Александра КалугинаAlexander Kalouguine
 
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)Ontico
 
Канвас "Думай как создатель": дизайн-мышление-трендвотчинг-прототипирование
Канвас "Думай как создатель": дизайн-мышление-трендвотчинг-прототипированиеКанвас "Думай как создатель": дизайн-мышление-трендвотчинг-прототипирование
Канвас "Думай как создатель": дизайн-мышление-трендвотчинг-прототипированиеLumiknows Consultancy
 
Видимое ускорение разработки
Видимое ускорение разработкиВидимое ускорение разработки
Видимое ускорение разработкиAlex Troshin
 
Евгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsЕвгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsScrumTrek
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 
Карьера UI/UX-дизайнера
Карьера UI/UX-дизайнераКарьера UI/UX-дизайнера
Карьера UI/UX-дизайнераEugen Savitsky
 
Почему Agile больше не работает
Почему Agile больше не работаетПочему Agile больше не работает
Почему Agile больше не работаетCEE-SEC(R)
 
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыДмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыITSpringBY
 
Применение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятияПрименение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятияAskhat Urazbaev
 

Ähnlich wie Построение гибкого процесса разработки (3 курс) (20)

Agile transformation_keynote
Agile transformation_keynoteAgile transformation_keynote
Agile transformation_keynote
 
Agileee Petelin самый непонимаемый принцип Agile Manifesto
Agileee Petelin самый непонимаемый принцип Agile ManifestoAgileee Petelin самый непонимаемый принцип Agile Manifesto
Agileee Petelin самый непонимаемый принцип Agile Manifesto
 
Прикручивание колёс на ходу. Внедрение UX процессов в уже работающий продукт
Прикручивание колёс на ходу. Внедрение UX процессов в уже работающий продуктПрикручивание колёс на ходу. Внедрение UX процессов в уже работающий продукт
Прикручивание колёс на ходу. Внедрение UX процессов в уже работающий продукт
 
Agile2014 Orlando обзор конференции
Agile2014 Orlando обзор конференцииAgile2014 Orlando обзор конференции
Agile2014 Orlando обзор конференции
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важны
 
Роль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиРоль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработки
 
Борис Вольфсон. Почему Agile больше не работает
Борис Вольфсон. Почему Agile больше не работаетБорис Вольфсон. Почему Agile больше не работает
Борис Вольфсон. Почему Agile больше не работает
 
ошибки аналитика
ошибки аналитикаошибки аналитика
ошибки аналитика
 
Киев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымКиев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольным
 
Self Organizing Team
Self Organizing TeamSelf Organizing Team
Self Organizing Team
 
CEE-SECR-2011. Презентация Александра Калугина
CEE-SECR-2011. Презентация Александра КалугинаCEE-SECR-2011. Презентация Александра Калугина
CEE-SECR-2011. Презентация Александра Калугина
 
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)
Ключевые навыки успешной Agile-команды / Дмитрий Лобасев (lobasev.ru)
 
Канвас "Думай как создатель": дизайн-мышление-трендвотчинг-прототипирование
Канвас "Думай как создатель": дизайн-мышление-трендвотчинг-прототипированиеКанвас "Думай как создатель": дизайн-мышление-трендвотчинг-прототипирование
Канвас "Думай как создатель": дизайн-мышление-трендвотчинг-прототипирование
 
Видимое ускорение разработки
Видимое ускорение разработкиВидимое ускорение разработки
Видимое ускорение разработки
 
Евгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOpsЕвгений Кривошеев. Beyond DevOps
Евгений Кривошеев. Beyond DevOps
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 
Карьера UI/UX-дизайнера
Карьера UI/UX-дизайнераКарьера UI/UX-дизайнера
Карьера UI/UX-дизайнера
 
Почему Agile больше не работает
Почему Agile больше не работаетПочему Agile больше не работает
Почему Agile больше не работает
 
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыДмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
 
Применение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятияПрименение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятия
 

Построение гибкого процесса разработки (3 курс)

  • 1. Построение гибкого процесса разработки от теории к практике Codeparts developers initiative ДОИ «Тендер-2012»
  • 2. Обо мне  Имя: Рахматиллаев Тимур  Twitter: http://twitter.com/eskat0n  Email: muyou.prj@gmail.com  VK: http://vk.com/eskat0n  Skype: eskat0n
  • 3. Обо мне  Получил диплом инженера по специальности 230101 в 2011 году.  С сентября 2010 до февраль 2012 года работал в компании IndyCode в должности разработчика в стеке технологий .NET  С марта по июнь 2012 года работал в компании DoneRight в должности web-разработчика в стеке технологий .NET  С августа 2012 года работаю в компании ByndyuSoft в должности ведущего разработчика / тимлида
  • 4. Я...  Не менеджер  Не технический директор  Не внедритель Agile/Scrum/Kanban  Разработчик
  • 6. Что я видел  Микроменеджмент переходящий в «наноменеджмент»  Провальные в своей сути попытки внедрить Agile  Переход к Kanban от Scrum’а и обратно  Kanban-board собственной разработки  Проведение ретроспектив  Проведение стендапов  Попытка уйти от стендапов  Тайм-менеджмент  Использование sticky-notes  Mind map  Roadmap  Story mapping  User stories  Тестирование силами заказчика  Заказчик в команде  Заказчик на другом конце земного шара  Взаимодействие через wiki  И много чего еще...
  • 8. Чего НЕ произойдет после того как вы пройдете этот тренинг  Ваши проблемы не решаться сами по себе  Вы НЕ наладите оптимальный процесс разработки  Поведенческие особенности разработчиков из ваших команд не изменятся
  • 9. Но!..  Вы сможете понять ваши проблемы  Вы будете знать, что вы можете сделать (и что делают другие команды разработчиков)  Вы сможете более эффективно решать возникающие проблемы
  • 10. Притча про командную греблю одна поучительная история
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Выводы  Важно осознавать факт наличия проблемы  Необходимо понимать, в чем именно заключается проблема  Нужно обладать набором знаний для решения проблемы  Надо обладать навыками для эффективного применения этих знаний на практике
  • 25. Проблемы самосознания Насколько я квалифицирован, чтобы что-то решать? Что я могу решить? Я знаю, как я могу что-нибудь гарантировано решить?
  • 26. Матрица компетентности путь творца Компетентность опыт неосознанная осознанная компетентность компетентность обучение да подражание нет да Осознанность неосознанная осознанная некомпетентность некомпетентность нет «собирание шишек» советы коллег
  • 27. Матрица компетентности Компетентность Я не Ага, вот оно как! понимаю, почему да так будет правильно, но это правильно нет да Осознанность А че там делать? О, да тут все не просто так... нет
  • 28. Анекдот Встречаются две рыбы. Одна другую спрашивает: «А вот как ты жабрами дышишь?» Вторая рыба задумалась... и задохнулась.
  • 29. А на самом деле... Все правила, принципы и подходы – это просто формализованный здравый смысл. Нахождение в 4й стадии означает использование собственного опыта и здравого смысла. Здравый смысл формализуют для удобства запоминания, чтобы совершался переход из 2й в 3ю стадию.
  • 30. Еѐ величество ПРОБЛЕМА Как понять, что у вас есть проблемы в организации процесса разработки?
  • 32. Проблемы?  Вы тратите на организацию работы команды неоправданно большое время  Вы планируете дольше, чем разрабатываете  В процессе разработки одновременно не задействованы все члены команды  Вы не знаете, кто и чем занимается СЕЙЧАС
  • 33. Причины?  Неправильно построенный процесс  Неправильно выбранные инструменты  Неправильно расставленные приоритеты
  • 34. UML – не панацея  Что дает вам применение диаграммы прецедентов?  Что дает вам применение диаграммы последовательности?  Что дает вам применение диаграммы классов?  Что дает вам наличие нотации?
  • 35. UML – не панацея  UML отъедает временные ресурсы команды  UML не формирует единого представления из-за высокого уровня абстракции  UML не нужен заказчику (как правило)  UML плохо декомпозируется над подзадачи
  • 36. Что мы делаем при разработке?  Решаем проблемы заказчика! А не превращаем абстрактные рисунки в код
  • 37. Если бы программисты строили дома 42 в мире управления процессом разработки ПО http://bit.ly/progbuilding
  • 38. Отсутствие единого мнения Обсуждали проект. Сидоров предлагает крупноблочную архитектуру. Петрович настаивает, что все надо строить по старинке, из кирпича, не по-ламерски. Самый радикальный проект предложил Алекс: построить несколько десятков деревянных коттеджей и потом соединить их подземными туннелями. На Западе сейчас так модно. Напомнили ему, что заказчик требует именно 12-этажный дом. Пытались решить вопрос дуэлью в Quаkе. Алекса с его коттеджами завалили сразу, но между Петровичем и Сидоровым вышла ничья. В итоге каждый будет строить по своему плану, а потом попытаемся все это соединить, чтоб не рухнуло.
  • 39. «Хватит трепаться – покажите мне код!» Линус Торвальдс
  • 40. Главная задача – быстрый переход к непосредственной разработке
  • 42. Решение проблемы заказчика Первый этаж готов! Показали его заказчику. Он интересовался, почему в разных комнатах разная высота потолков, почему из стен вываливаются кирпичи и почему в доме нет подъезда, а влезать приходится через окно. Объяснили ему, что это специальные ограничения демо- версии. Уходим на праздники, гордые собой.
  • 43. Саморазвитие Вспомнили, что у нас кран достает только до 8 этажа. Послали Сидорова доставать новый кран. Играем в Quаkе. Алекс замочил Петровича. Растет смена!
  • 44. Явное ощущение прогресса  Что уже сделано?  Что осталось сделать?  Какой вклад я внес?
  • 45. Коллективное владение информацией Вернулся Сидоров. Кран не достал, зато достал крутой экскаватор. Предлагает вырыть глубокую шахту и построить дом не в высоту, а в глубину. Говорит, что нигде в контракте не сказано, что 12 этажей должны быть над поверхностью. Еле отговорили.
  • 46. Ценности команды  Решение проблеммы заказчика  Саморазвитие  Явное ощущение прогресса  Коллективное владение информацией
  • 47. Agile Lean, Scrum, XP, Kanban, FDD
  • 48. Принципы Agile  Наисвысший приоритет – удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения.  Изменение требований приветствуется, даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.  Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.  На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.  Над проектом должны работать мотивированные... http://agilemanifesto.org/iso/ru
  • 49. Agile-практики  Lean  XP  Scrum  Kanban  FDD
  • 50. Agile-практики XP Scrum Kanban  Whole team  Scrum master  Visualize the  Coding standard workflow  Product owner  TDD  Limit WIP  Team  Collective  Measure and ownership  Sprint planning optimize lead meeting  Customer tests time  Daily scrum  Pair programming  Sprint review  Refactoring  Product backlog  Planning game  Continuous  Spring backlog integration  Burndown chart  Simple design  Sustainable pace  Small releases
  • 51. Agile – это не серебряная пуля Волшебства не будет – электричество закончилось
  • 52. Agile – это инструментарий, который применяют люди Незнание правил техники безопасности не освобождает от ответственности
  • 54. К Agile нужно переходить
  • 55. Agile – это конструктор  Нет понятия Agile  Есть набор практически полностью изолированных друг от друга микро-практик и принципов  Практики можно комбинировать друг с другом  Практики нужно комбинировать друг с другом
  • 56. Не сочтите за рекламу...
  • 57. Но Agile это сендвич
  • 58. По какому принципу комбинировать?  Это вкусно
  • 59. По какому принципу комбинировать?  Это вкусно  Это удобно  Команда уже неформально использует это  Это решает конкретную проблему  Это способствует поддержанию определенной командной ценности
  • 61. Итеративная разработка Выполнение работ параллельно с непрерывным анализом полученных результатов и корректировкой предыдущих этапов работы. Проект при этом подходе в каждой фазе развития проходит повторяющийся цикл: Планирование — Реализация — Проверка — Оценка
  • 62. Итеративная разработка  Продолжительность итерации – одна-две недели  Результат итерации – протестированная версия разрабатываемого продукта  Итерация включает в себя процесс перехода задач итерации из состояния в состояние
  • 63. На самом деле всѐ не так
  • 64. User stories Способ описания требований к разрабатываемой системе, сформулированных как одно или более предложений на ежедневном или деловом языке пользователя. Пример: Я как зарегистрированный и авторизованный пользователь Могу нажать на кнопку «Сменить пароль» после ввода нового пароля на форме «Смена пароля» При этом мой пароль изменяется и я получаю сообщение об успешной смене пароля
  • 65. User stories и Use cases  User story представляет собой описание функции системы со стороны пользователя (заказчика)  Use case представляет собой описание функции системы со стороны самой системы (как правило содержит большее число технических деталей)
  • 66. WIP (work in progress)  Количество задач (user stories, etc.), находящихся в одновременной разработке  В идеале WIP на определенном этапе жизненного цикла задачи не должен превышать числа членов команды, задействованных на данном этапе
  • 67. DoD (definition of done)  Совокупность требований к функциональности системы, которая является критерием готовности выпуска релиза (в т.ч. и промежуточного)  Требования выражаются на языке сценариев приемочных тестов  Требования могут выражаться в виде пользовательских историй  Понимание и четкое видение DoD обязательно должно быть общим у всех членом команды
  • 68. Agile board  Доска (физическая или виртуальная) для фиксирования прогресса выполнения задач в рамках итерации  Каждая задача должна побывать во всех состояниях- колонках  Примеры состояний: «Запланировано», «В разработке», «Готово к тестированию», «В процессе тестирования», «Готово»
  • 69. Решения для организации Agile board  SaaS:  AgileZen – http://www.agilezen.com  YouTrack InCloud – http://www.jetbrains.com/youtrack/hosted  My agility board – http://www.myagilityboard.com  Standalone:  Atlassian JIRA – http://www.atlassian.com/software/jira  Пробковая доска ;)
  • 72. Whole team Команда разработчиков должна включать в себя специалистов, которые способны выполнять весь набор ролей, необходимых для выпуска финальной версии продукта и поддержания жизненного цикла разработки: разработка, тестирование, оформление документации и, что наиболее важно, представители заказчика.
  • 73. Collective ownership Coding standard Коллективное владение знаниями о проекте, техническими деталями реализации, списом требований подразумевает открые механизмы доступа к ним. Коллективное владение исходным кодом подразумевает коллективную ответственность за качество этого исходного кода, соблюдение единого стандарта кодирование и понимание всеми членами команды разработчиков принципов проектирования согласно которым строится дальнейшее развитие продукта.
  • 74. Planning game  Служит инструментом выработки и проверки наличия единого представления всех членов команды о существующих задачах  Является адаптивной системой оценки сроков выполнения задач  Оценка задач может осуществляться в любых абсолютных и относительных единицах (минуты, дни, попугаи и т.д.)
  • 75. Planning poker  Оценка задачи производится «в закрытую» с использованием специальных карт оценки определенного номинала  Затем карты переворачиваются «рубашкой» вниз  Члены команды разработчиков с самой маленькой и большей оценками высказываются о причинах подобной оценки  В случае большого несовпадения мнений карты перекидываются
  • 76. Small releases В конце каждой итерации выпускается релиз – протестированная и стабильная версия системы. Релизы делаются как можно чаще. В идеале – каждый день.
  • 77. Visualize the workflow Использование любых подручных средств для визуального представления процесса разработки:  Burndown chart  Story mapping  Agile board
  • 78. Daily meeting (standup) Ежедневное (иногда ограниченное по времени) собрание всех членов команды с целью получить ответы каждого на следующие вопросы:  Что было сделано вчера?  Какие проблемы возникли в работе? (Что мешает двигаться дальше?)  Что будет сделано сегодня? Некоторые из вопросов могут пропускаться
  • 79. Daily meeting (standup) Цели:  Формирование единого представления о прогрессе у всей команды  Предотвращение простоев в работе  Повышение мотивации (выявление «халявщиков»)
  • 80. Limit WIP Ограничение числа задач, находящихся на стадии выполнения (разработка, тестирование).
  • 81. Pair programming Разработка двумя разработчиками за одним компьютером с последовательной передачей клавиатуры между ними. Возможна комбинация с TDD: один разработчик пишет тест – другой реализацию.
  • 82.
  • 83. Ролевая игра Или одни 10мин из жизни команды разработчиков
  • 85. Фил фри ту аск мо квесченз  Email: muyou.prj@gmail.com  Skype: eskat0n  Twitter: http://twitter.com/eskat0n  VK: http://vk.com/eskat0n