Agile/Scrum методики<br />
1. Этимология<br />Что значит Agile?<br /><ul><li>лично мне было всегда интересно, но как-то не догадывалась заглянуть в с...
Итеративная
Спиральная
Cleanroom
RAD
RUP
MSF
Agile</li></li></ul><li>2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
Итеративная
Спиральная
Cleanroom
RAD
RUP
MSF
Agile</li></ul>Водопад<br />Последовательный переход между этапами разработки<br />Недостатки: <br /><ul><li> нет гибкости
 с шага N очень сложно вернуться на шаг N-1</li></li></ul><li>2. Обзор существующих методик<br />Чтобы понять положение Ag...
Итеративная
Спиральная
Cleanroom
RAD
RUP
MSF
Agile</li></ul>Итеративная методика<br />Цель: снижение рисков<br /><ul><li>Риск неправильного планирования
Риск превышения стоимости
Риск потерь качества</li></li></ul><li>2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul>...
Итеративная
Спиральная
Cleanroom
RAD
RUP
MSF
Agile</li></ul>Спиральная методика<br />- является развитием идеи итераций<br />
2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
Upcoming SlideShare
Loading in …5
×

Agile/Scrum

2,279 views

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,279
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Agile/Scrum

  1. 1. Agile/Scrum методики<br />
  2. 2. 1. Этимология<br />Что значит Agile?<br /><ul><li>лично мне было всегда интересно, но как-то не догадывалась заглянуть в словарь. Заглядываем: </li></li></ul><li>2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
  3. 3. Итеративная
  4. 4. Спиральная
  5. 5. Cleanroom
  6. 6. RAD
  7. 7. RUP
  8. 8. MSF
  9. 9. Agile</li></li></ul><li>2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
  10. 10. Итеративная
  11. 11. Спиральная
  12. 12. Cleanroom
  13. 13. RAD
  14. 14. RUP
  15. 15. MSF
  16. 16. Agile</li></ul>Водопад<br />Последовательный переход между этапами разработки<br />Недостатки: <br /><ul><li> нет гибкости
  17. 17. с шага N очень сложно вернуться на шаг N-1</li></li></ul><li>2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
  18. 18. Итеративная
  19. 19. Спиральная
  20. 20. Cleanroom
  21. 21. RAD
  22. 22. RUP
  23. 23. MSF
  24. 24. Agile</li></ul>Итеративная методика<br />Цель: снижение рисков<br /><ul><li>Риск неправильного планирования
  25. 25. Риск превышения стоимости
  26. 26. Риск потерь качества</li></li></ul><li>2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
  27. 27. Итеративная
  28. 28. Спиральная
  29. 29. Cleanroom
  30. 30. RAD
  31. 31. RUP
  32. 32. MSF
  33. 33. Agile</li></ul>Спиральная методика<br />- является развитием идеи итераций<br />
  34. 34. 2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
  35. 35. Итеративная
  36. 36. Спиральная
  37. 37. Cleanroom
  38. 38. RAD
  39. 39. RUP
  40. 40. MSF
  41. 41. Agile</li></ul>Cleanroom<br />Цель: качество продукта<br />Методика: фокусирование на предупреждении дефектов, а не на их устранении. <br />Идея состоит в том, чтобы потратить время на анализ, проверку, обеспечение качества кода/алгоритмов во время разработки, а не следовать методу «code and fix».<br />
  42. 42. 2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
  43. 43. Итеративная
  44. 44. Спиральная
  45. 45. Cleanroom
  46. 46. RAD
  47. 47. RUP
  48. 48. MSF
  49. 49. Agile</li></ul>Rapid Application Development<br /><ul><li> переводится как «быстрая разработка»
  50. 50. суть - создание прототипа для уточнения требований заказчика, затем доведение прототипа до состояния готового продукта</li></ul>Недостатки: <br />Очень тяжело привести проект к завершающей фазе<br />Проект сложно планировать и финансировать<br />В результате можно не получить ничего, кроме прототипа системы<br />
  51. 51. 2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
  52. 52. Итеративная
  53. 53. Спиральная
  54. 54. Cleanroom
  55. 55. RAD
  56. 56. RUP
  57. 57. MSF
  58. 58. Agile</li></ul>Rapid Application Development<br />Критики говорят: <br /><ul><li>Очень тяжело привести проект к завершающей фазе
  59. 59. Проект сложно планировать и финансировать
  60. 60. В результате можно не получить ничего, кроме прототипа системы</li></li></ul><li>2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
  61. 61. Итеративная
  62. 62. Спиральная
  63. 63. Cleanroom
  64. 64. RAD
  65. 65. RUP
  66. 66. MSF
  67. 67. Agile</li></ul>Rational Unified Process<br />- ход работ определяется целями проекта, выраженными в виде use cases<br />- основой является архитектура результирующей программной системы <br />- разработки основана на планируемых и управляемых итерациях<br />
  68. 68. 2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
  69. 69. Итеративная
  70. 70. Спиральная
  71. 71. Cleanroom
  72. 72. RAD
  73. 73. RUP
  74. 74. MSF
  75. 75. Agile</li></ul>Microsoft Solutions Framework<br /><ul><li>описывает подход Майкрософт к организации персонала
  76. 76. цель - максимизация успешности проекта</li></ul>- работа основывается на создании и объединении команд<br />
  77. 77. 2. Обзор существующих методик<br />Чтобы понять положение Agile среди них<br /><ul><li>Водопад
  78. 78. Итеративная
  79. 79. Спиральная
  80. 80. Cleanroom
  81. 81. RAD
  82. 82. RUP
  83. 83. MSF
  84. 84. Agile</li></ul>Agile<br />Об этом мы поговорим детальнее…<br />
  85. 85. 3. Agile<br />семейство гибких методологий разработки<br />Характеристики:<br />минимизация рисков <br />разработка на базе коротких циклов (итераций)<br />упор на общение в команде<br />
  86. 86. 3.1. Ценности Agile<br />личности и их взаимодействия; <br />работающее программное обеспечение; <br />сотрудничество с заказчиком; <br />реакция на изменения.<br />
  87. 87. 3.2. ПринципыAgile<br />1. удовлетворение клиента; <br />2. приветствие изменения требований;<br />3. частая поставка рабочего ПО;<br />4. ежедневное общение заказчика с разработчиками; <br />5. мотивированные личности, обеспеченные нужными условиями работы, поддержкой и доверием; <br />6. рекомендуемый метод передачи информации — личный разговор, лицом к лицу; <br />7. работающее ПО — лучший измеритель прогресса; <br />8. спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп работы; <br />
  88. 88. 3.2. ПринципыAgile<br />9. улучшение технического мастерства и удобный дизайн; <br />10. простота и искусство не делать лишней работы; <br />11. самоорганизованная команда;<br />12. Частая адаптация к изменяющимся обстоятельствам. <br />
  89. 89. 4. Методики семействаAgile<br />4.1. Agile Modeling<br />-это коллекция лучших практик моделирования <br />
  90. 90. 4. Методики семействаAgile<br />4.2. Agile Unified Process (AUP)<br />-это упрощённая версия RUP (Rational Unified Process)<br />
  91. 91. 4. Методики семействаAgile<br />4.3. Agile Data<br />- это набор стратегий которые IT профессионалы используют для того чтобы эффективно взаимодействовать в плане использования данных в программных системах<br />
  92. 92. 4. Методики семействаAgile<br />4.4. Dynamic Systems Development Method(DSDM)<br /><ul><li>это итеративный и инкрементальный подход к разработке</li></li></ul><li>4. Методики семействаAgile<br />4.5. Экстремальное программирование<br />это набор приёмов программирования, таких как:<br />pазработка через тестирование<br />парное программирование<br />непрерывная интеграция<br />рефакторинг<br />частые небольшие релизы<br />стандарт кодирования <br />
  93. 93. 4. Методики семействаAgile<br />4.6.Бережливая разработкаПО<br />Принципы:<br />Исключение затрат. Затратами считается всё, что не добавляет ценности для потребителя. В частности: излишняя функциональность; ожидание (паузы) в процессе разработки; нечёткие требования; бюрократизация; медленное внутреннее сообщение.<br />Акцент на обучении. Короткие циклы разработки, раннее тестирование, частая обратная связь с заказчиком.<br />Предельно отсроченное принятие решений. Решение следует принимать не на основе предположений и прогнозов, а после открытия существенных фактов.<br />
  94. 94. 4. Методики семействаAgile<br />4.6.Бережливая разработкаПО<br />Принципы:<br />Предельно быстрая доставка заказчику. Короткие итерации.<br />Мотивация команды. Нельзя рассматривать людей исключительно как ресурс. Людям нужно нечто большее, чем просто список заданий.<br />Интегрирование. Передать целостную информацию заказчику. Стремиться к целостной архитектуре. Рефакторинг.<br />Целостное видение. Стандартизация, установление отношений между разработчиками. Разделение разработчиками принципов бережливости. «Мыслить широко, действовать мало, промахиваться быстро; учиться стремительно».<br />
  95. 95. 4. Методики семействаAgile<br />4.7. Scrum<br /><ul><li>Это методология из семейства Agile
  96. 96. Основывается на разбиении проекта на спринты длительностью 15-30 дней</li></li></ul><li>4. Методики семействаAgile<br />4.7. Scrum: Scrummeetings<br />Работа разделяется на спринты длительностью 15-30 дней.<br />Спринт складывается из:<br /><ul><li>Planning Meeting
  97. 97. Daily Scrum
  98. 98. Demo Meeting
  99. 99. Retrospective Meeting</li></li></ul><li>4. Методики семействаAgile<br />4.7. Scrum: Planning meeting<br />Ограничен 4-8 часами<br />Выбирается объём работ на спринт <br />Определяется каким образом будет реализован этот объём работ <br />разбивается на подзадачи, которые оцениваются в человеко-часах <br />
  100. 100. 4. Методики семействаAgile<br />4.7. Scrum: Daily Scrum<br />Происходит каждый день <br />начинается точно вовремя; <br />ограничен 15-ю минутами; <br />проводится в одном и том же месте<br />Вопросы Daily Scrum :<br />Что сделано с момента предыдущего митинга до текущего? <br />Что будет сделано с момента текущего митинга до следующего? <br />Какие проблемы мешают достижению целей спринта?<br />
  101. 101. 4. Методики семействаAgile<br />4.7. Scrum: Demo Meeting<br />ограничен 4-мя часами<br />происходит в конце итерации<br />демонстрируется инкремент функциональности продукта<br />привлекается максимальное количество зрителей. <br />все члены команды участвуют в демонстрации<br />
  102. 102. 4. Методики семействаAgile<br />4.7. Scrum: Retrospective Meeting<br />ограничен 1—3-мя часами. <br />все члены команды рассказывают своё отношение к ходу прошедшего спринта;<br />что было сделано хорошо в прошедшем спринте? <br />что надо улучшить или не допускать в следующем? <br />выполняют улучшение процесса разработки<br />
  103. 103. Завершение<br />Главное - не нужно хватать список методик и бежать к менеджеру с криками «Давайте работать по этим методикам» )))<br />Каждый программист – сам себе микро-менеджер, так как когда мы получаем задачу, то нам приходится решать, как её выполнять )))<br />Поэтому, прочитав об этих методиках, можно выделить лучшее для себя и изменить стратегию своей работы )) Менеджер будет рад )))<br />
  104. 104. Лучшее<br />1. Из методики «Водопад»:<br />Сложную задачу – разбивать на этапы и выполнять один за одним<br />2. Из методики «Итеративная»:<br />Каждую подзадачу выполнять как отдельную задачу – начинать с анализа, и заканчивать тестированием<br />3. Из методики «Спиральная разработка»:<br /><ul><li>Если задача или алгоритм очень сложный, то можно выполнить основу, а затем «наращивать» функционал в ходе итераций</li></li></ul><li>Лучшее<br />4. Из методики «Cleanroom»:<br /><ul><li>Уделять внимание качеству во время написания кода, а не следовать логике «code and fix» (F5)</li></ul>5. Из методики «Rapid Application Development»:<br /><ul><li>Когда заказчик не совсем чётко понимает чего он хочет, - сделать прототип и показать ему</li></ul>6. Из методики «RUP»:<br /><ul><li>Действительно, можно проанализировать “use cases” – варианты использования - и отталкиваться от них</li></li></ul><li>Лучшеe<br />7. Из подхода agile:<br /><ul><li>приветствие изменения требований
  105. 105. простота и искусство не делать лишней работы
  106. 106. Разбиение на спринты
  107. 107. Daily Scrum – что сделано/что будет сделано/что мешает
  108. 108. Retrospective Meeting - анализ того, что было сделано и что надо улучшить на следующих шагах</li></li></ul><li>Ссылки<br />Одна, но хорошая: <br />http://en.wikipedia.org/wiki/Agile_software_development<br />

×