Жизненный циклпрограммного обеспечения         Тема № 2
Почему «цикл»?
Почему «цикл»?
Почему «цикл»?
Жизненный цикл ПО (AL)
Эдвард Деминг       Американский ученый-         статистик, консультант         по теории управления         качеством.   ...
Цикл Деминга (PDCA)
Определение AL• Жизненный цикл программного  обеспечения (ПО) — период времени,  который начинается с момента принятия  ре...
Разные модели AL• Модель AL – это способ организации  процессов разработки, внедрения и  сопровождения программного  обесп...
Примитивная модель AI:     Code & Fix
Стадии и активности AL
Модели AL• «Водопадная»  – Стадии проходятся последовательно с    максимальным качеством приближения к    заданному резуль...
Уинстон Ройс      Американский        менеджер в сфере        разработки ПО,        руководитель Центра        программных...
Водопадная модель AL
Три амиго
Rational Unfied Process (RUP)
Читаем А. Якобсон Г. Буч Дж. Рамбо Унифицированный    процесс разработки    программного    обеспечения
Барри Боэм     Директор отдела       исследований програм       много обеспечения и       технологий       аэрокосмической...
Спиральная модель AL
Спиральная модель AL
Спиральная модель AL
Время в водопадной модели AL
Время в спиральной модели AL
Гибкая разработка (Agile)
Гибкая разработка (Agile)             • Жизненный цикл               состоит из               повторяющихся               ...
Основные идеи Agile• Личности и их взаимодействия важнее, чем  процессы и инструменты;• Работающее программное обеспечение...
Принципы Agile• удовлетворение клиента за счёт ранней и  бесперебойной поставки ценного ПО;• приветствие изменений требова...
Принципы Agile• проектом занимаются мотивированные личности,  которые обеспечены нужными условиями работы,  поддержкой и д...
Принципы Agile• постоянное внимание на улучшение  технического мастерства и удобную  архитектуру;• простота — искусство НЕ...
Варианты методологий Agile• SCRUM• Экстремальное программирование  (eXtreme Programming, XP)• Бережливая разработка (Lean ...
SCRUM
Джефф Сазерленд, Кен Швабер
SCRUM
SCRUM: Burndown diagram
SCRUM: Burndown diagram
SCRUM: Task board
Максим Дорофеев               Руководитель отдела                 разработки Лаборатории                 Касперского.     ...
Дорофеев: История одной доски
Дорофеев: История одной доски
Дорофеев: История одной доски
Дорофеев: История одной доски
Читаем Хенрик Книберг SCRUM и XP: Заметки   с передовой. Как   мы делаем SCRUM
eXtreme programming
Кент Бек, Уорд Каннингем
eXtreme programming (XP)Более технологичная методология, чем  SCRUMФокус не только на человеческом  взаимодействии, но и н...
12 основных практик XP• Короткий цикл обратной связи (Fine scale feedback)    –   Заказчик всегда рядом (Whole team, Onsit...
Читаем Кент Бек Экстремальное  программирование
ЧитаемКент Бек,Мартин ФаулерЭкстремальное программирование: Планирование
ЧитаемКент Бек,Экстремальное программирование: Разработка через тестирование
Kanban
Kanban• Kanban – это метод «гладкого и  непрерывного» выполнения  производственного процесса• Это часть методологии «береж...
Толстая книжка       Джеффри Лайкер       Дао «Тойота»: 14        принципов        менеджмента        ведущей        компа...
Смотрим презентацию                         Максим Дорофеев                         Lean: Принципы                        ...
Таичи Оно
7 принципов Lean1. Убираем потери2. Встраиваем качество3. Постоянное обучение4. Откладывать обещания на более позднее   вр...
7 видов потерь1.   Не полностью сделанная работа2.   Лишние возможности3.   Изучение заново4.   Слишком длинная цепочка5. ...
Kanban
Читаем   Хенрик Книберг   Маттиас Скарин   Scrum и Kanban:     выжимаем     максимум
Выпуск продукта в «водопаде» и     итеративной модели
Выбор модели AL•   В зависимости от размера проекта•   Его типичности или новизны•   Выделенного на него времени•   Состав...
Вопросы для реферата• Какая модель жизненного цикла Вам лично  ближе?• Почему?• Как можно было бы применить полученные  зн...
Практические аспекты разработки ПО #2
Upcoming SlideShare
Loading in …5
×

Практические аспекты разработки ПО #2

1,488 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
1,488
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Практические аспекты разработки ПО #2

  1. 1. Жизненный циклпрограммного обеспечения Тема № 2
  2. 2. Почему «цикл»?
  3. 3. Почему «цикл»?
  4. 4. Почему «цикл»?
  5. 5. Жизненный цикл ПО (AL)
  6. 6. Эдвард Деминг Американский ученый- статистик, консультант по теории управления качеством. Основоположник концепции «бережливого производства» (lean manufacturing)
  7. 7. Цикл Деминга (PDCA)
  8. 8. Определение AL• Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации Стандарт IEEE 610.12
  9. 9. Разные модели AL• Модель AL – это способ организации процессов разработки, внедрения и сопровождения программного обеспечения• Модель AL – это способ, которым решили потратить время жизненного цикла ALб
  10. 10. Примитивная модель AI: Code & Fix
  11. 11. Стадии и активности AL
  12. 12. Модели AL• «Водопадная» – Стадии проходятся последовательно с максимальным качеством приближения к заданному результату. Итерации внутри стадий.• «Спиральная» – Стадии укорачиваются и проходятся итеративно, каждая итерация приближает к промежуточному результату. Стадии внутри итераций.
  13. 13. Уинстон Ройс Американский менеджер в сфере разработки ПО, руководитель Центра программных технологий компании «Локхид». В 1970 г. опубликовал работу с описанием «водопадной» модели
  14. 14. Водопадная модель AL
  15. 15. Три амиго
  16. 16. Rational Unfied Process (RUP)
  17. 17. Читаем А. Якобсон Г. Буч Дж. Рамбо Унифицированный процесс разработки программного обеспечения
  18. 18. Барри Боэм Директор отдела исследований програм много обеспечения и технологий аэрокосмической корпорации TRW. Автор метода оценки затрат на разработку ПО COCOMO и спиральной модели AI.
  19. 19. Спиральная модель AL
  20. 20. Спиральная модель AL
  21. 21. Спиральная модель AL
  22. 22. Время в водопадной модели AL
  23. 23. Время в спиральной модели AL
  24. 24. Гибкая разработка (Agile)
  25. 25. Гибкая разработка (Agile) • Жизненный цикл состоит из повторяющихся итераций • Каждая итерация содержит все стадии • Результатом итераций является выпуск законченной версии продукта
  26. 26. Основные идеи Agile• Личности и их взаимодействия важнее, чем процессы и инструменты;• Работающее программное обеспечение важнее, чем полная документация;• Сотрудничество с заказчиком важнее, чем контрактные обязательства;• Реакция на изменения важнее, чем следование плану. Agile Manifesto, 2001
  27. 27. Принципы Agile• удовлетворение клиента за счёт ранней и бесперебойной поставки ценного ПО;• приветствие изменений требований, даже в конце разработки (это может повысить конкурентоспособность полученного продукта);• частая поставка рабочего ПО (каждый месяц или неделю или ещё чаще);• тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта; Agile Manifesto, 2001
  28. 28. Принципы Agile• проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;• рекомендуемый метод передачи информации — личный разговор (лицом к лицу);• работающее ПО — лучший измеритель прогресса;• спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределенный срок; Agile Manifesto, 2001
  29. 29. Принципы Agile• постоянное внимание на улучшение технического мастерства и удобную архитектуру;• простота — искусство НЕ делать лишней работы;• лучшие технические требования и архитектура получаются у самоорганизованной команды;• постоянная адаптация к изменяющимся обстоятельствам. Agile Manifesto, 2001
  30. 30. Варианты методологий Agile• SCRUM• Экстремальное программирование (eXtreme Programming, XP)• Бережливая разработка (Lean Development); Kanban
  31. 31. SCRUM
  32. 32. Джефф Сазерленд, Кен Швабер
  33. 33. SCRUM
  34. 34. SCRUM: Burndown diagram
  35. 35. SCRUM: Burndown diagram
  36. 36. SCRUM: Task board
  37. 37. Максим Дорофеев Руководитель отдела разработки Лаборатории Касперского. Возможно, один из лучших IT-менеджеров России.http://cartmendum.livejournal.com/
  38. 38. Дорофеев: История одной доски
  39. 39. Дорофеев: История одной доски
  40. 40. Дорофеев: История одной доски
  41. 41. Дорофеев: История одной доски
  42. 42. Читаем Хенрик Книберг SCRUM и XP: Заметки с передовой. Как мы делаем SCRUM
  43. 43. eXtreme programming
  44. 44. Кент Бек, Уорд Каннингем
  45. 45. eXtreme programming (XP)Более технологичная методология, чем SCRUMФокус не только на человеческом взаимодействии, но и на инженерных практиках
  46. 46. 12 основных практик XP• Короткий цикл обратной связи (Fine scale feedback) – Заказчик всегда рядом (Whole team, Onsite customer) – Игра в планирование (Planning game) – Разработка через тестирование (Test driven development) – Парное программирование (Pair programming)• Непрерывный, а не пакетный процесс – Непрерывная интеграция (Continuous Integration) – Рефакторинг (Design Improvement, Refactor) – Частые небольшие релизы (Small Releases)• Понимание, разделяемое всеми – Простота (Simple design) – Метафора системы (System metaphor) – Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership) – Стандарты кодирования (Coding standard or Coding conventions)• Социальная защищенность программиста (Programmer welfare): – 40-часовая рабочая неделя (Sustainable pace, Forty hour week)
  47. 47. Читаем Кент Бек Экстремальное программирование
  48. 48. ЧитаемКент Бек,Мартин ФаулерЭкстремальное программирование: Планирование
  49. 49. ЧитаемКент Бек,Экстремальное программирование: Разработка через тестирование
  50. 50. Kanban
  51. 51. Kanban• Kanban – это метод «гладкого и непрерывного» выполнения производственного процесса• Это часть методологии «бережливого производства» (Lean Manufacturng)• Разработано в Производственной системе компании Toyota (Toyota Production System, TPS) и подсмотрено американцами.
  52. 52. Толстая книжка Джеффри Лайкер Дао «Тойота»: 14 принципов менеджмента ведущей компании мира
  53. 53. Смотрим презентацию Максим Дорофеев Lean: Принципы бережливого производстваhttp://www.slideshare.net/Cartmendum/intro-2-lean
  54. 54. Таичи Оно
  55. 55. 7 принципов Lean1. Убираем потери2. Встраиваем качество3. Постоянное обучение4. Откладывать обещания на более позднее время5. Доставлять заказчику как можно быстрее6. Уважать людей и доверять им7. Оптимизировать целое, а не частности
  56. 56. 7 видов потерь1. Не полностью сделанная работа2. Лишние возможности3. Изучение заново4. Слишком длинная цепочка5. Переключение с задачи на задачу6. Задержки7. Дефекты
  57. 57. Kanban
  58. 58. Читаем Хенрик Книберг Маттиас Скарин Scrum и Kanban: выжимаем максимум
  59. 59. Выпуск продукта в «водопаде» и итеративной модели
  60. 60. Выбор модели AL• В зависимости от размера проекта• Его типичности или новизны• Выделенного на него времени• Состава и опыта команды• Требований заказчика
  61. 61. Вопросы для реферата• Какая модель жизненного цикла Вам лично ближе?• Почему?• Как можно было бы применить полученные знания в учебном процессе или на (будущей) работе?

×