Содержание
- 2. Введение в курс «Менеджмент в информационных технологиях» Введение Курс «Менеджмент в ИТ» рассматривает вопросы управления .
- 3. Введение Содержание курса Введение Проектный профессионал – новая проектная роль. Содержание, цели и задачи курса, обзор
- 4. Тема 4. Инициация проекта Требования и их анализ, концепция проекта, цели и результаты проекта, ключевые участники
- 5. Список рекомендуемой литературы Введение 1. «PMBOK. Руководство к Своду знаний по управлению проектами», 3-е изд., PMI,
- 6. Цели и задачи курса Ознакомиться с основными принципами управления проектами; Ознакомиться с основными процессами разработки ПО;
- 7. Тема 1 ВВЕДЕНИЕ В ПРОГРАММНУЮ ИНЖЕНЕРИЮ
- 8. Тема1. Введение в программную инженерию Менеджмент (англ. management ) – управление, руководство, администрирование, дирекция, регулирование Составные
- 9. Тема 1. Введение в программную инженерию ОСНОВНЫЕ ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ Программная инженерия есть применение определенного систематического
- 10. Тема 1. Введение в программную инженерию Программирование — процесс отображения определенного множества целей на множество машинных
- 11. Тема 1. Введение в программную инженерию Жизненный цикл проекта (Project Life Cycle Management – PLCM) Жизненный
- 12. Тема 1. Введение в программную инженерию
- 13. Тема 1. Введение в программную инженерию Методология (метод) задает комплекс работ, их детальное содержание и ролевую
- 14. Процессы жизненного цикла программного обеспечения (Software Life Cycle Processes) Определения процессов жизненного цикла обычно являются более
- 15. Тема 1. Введение в программную инженерию Согласно SWEBOK 2004, программная инженерия включает в себя 10 основных
- 16. Тема 1. Введение в программную инженерию Software configuration management — конфигурационное управление: определение конфигурации системы на
- 17. Тема 1. Введение в программную инженерию Дополнительные области знаний включают в себя: Computer engineering — разработка
- 18. ТЕМА 2 МОДЕЛИ ПРОЦЕССА РАЗРАБОТКИ ПО
- 19. Тема 2. Модели процесса разработки ПО Модели (методологии) процессов разработки ПО принято классифицировать по «весу» —
- 20. Тема 1. Модели процесса разработки ПО СТБ ИСО 9001-2009 CMMI Отраслевые стандарты ITIL PMBOOK (Guide to
- 21. ГОСТ 19 «Единая система программной документации», ГОСТ 34 «Стандарты на разработку и сопровождение автоматизированных систем» Ориентированы
- 22. Тема 2. Модели процесса разработки ПО Упрощенно "качество", согласно серии стандартов ISO 9000, это ситуация, при
- 23. Тема 2. Модели процесса разработки ПО
- 24. Тема 2. Модели процесса разработки ПО CMMI (Capability Maturity Model Integration) Это относительно новый стандарт в
- 25. Тема 2. Модели процесса разработки ПО Основным компонентом модели CMMI является область процессов, определяющая цели и
- 26. Тема 2. Модели процесса разработки ПО Процессы первого уровня зрелости, характеризуются хаотичностью, реактивностью, непредсказуемостью. Несмотря на
- 27. Тема 2. Модели процесса разработки ПО Уровень зрелости 2 – управляемый уровень. На данном этапе основные
- 28. Тема 2. Модели процесса разработки ПО Уровень зрелости 3 – определенный уровень. В этом случае процессы
- 29. Тема 2. Модели процесса разработки ПО Уровень зрелости 4 – количественно-управляемый уровень. На данном этапе достигнуты
- 30. Тема 2. Модели процесса разработки ПО Уровень зрелости 5 – уровень постоянного улучшения (оптимизации) процессов. На
- 31. Тема 2. Модели процесса разработки ПО
- 32. Тема 2. Модели процесса разработки ПО Уровни 4 и 5 называют уровнями высокой зрелости. Как правило,
- 33. Тема 2. Модели процесса разработки ПО Центр программного производства EPAM Systems в Минске в конце сентября
- 34. Тема 2. Модели процесса разработки ПО Модель водопада Для успешного выполнения программного проекта недостаточно выбрать эффективные
- 35. Тема 2. Модели процесса разработки ПО
- 36. Метод водопада Модель водопада (waterfall model или последовательная разработка) – самый известный, исторически появившийся одним из
- 37. 3. Сложно управлять рисками некоторых типов (таких, как риски, связанные с использованием новых технологий или риски
- 38. Рабочий процесс RUP В терминах RUP участники проектной команды создают так называемые артефакты (work products), выполняя
- 39. Тема 2. Модели процесса разработки ПО
- 40. Реализация (Implementation) – разработка, юнит-тестирование и интеграция компонентов системы. Тестирование (Test) – поиск и отслеживание дефектов
- 41. Гибкие методологии разработки ПО (Agile) Гибкая разработка — это термин, произошедший от так называемого "Гибкого манифеста"
- 42. Agile-манифест разработки программного обеспечения Мы постоянно открываем для себя более совершенные методы разработки программного обеспечения, занимаясь
- 43. Основополагающие принципы Agile-манифеста Мы следуем таким принципам: Наивысшим приоритетом для нас является удовлетворение потребностей заказчика, благодаря
- 45. ТЕМА 3 МЕТОДЫ УПРАВЛЕНИЯ ПРОЕКТАМИ
- 46. Тема 3. Методы управления проектами В качестве самостоятельной области знаний управление проектами начало формироваться в начале
- 47. Тема 3. Методы управления проектами ОСНОВНЫЕ ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ Проект (Project) – уникальный комплекс взаимосвязанных мероприятий,
- 48. Тройственная Ограниченность Тема 3. Методы управления проектами В основе современных методов управления проектами лежат методики структуризации
- 49. Тройственная Ограниченность Тема 3. Методы управления проектами Ограниченность времени определяется количеством доступного времени для завершения проекта.
- 50. Тема 3. Методы управления проектами Управление проектами является наукой о применении инструментов и технологий, которые дают
- 51. Тема 3. Методы управления проектами Подходы Предположение о неограниченности ресурсов, критичен только срок выполнения. Метод PERT,
- 52. Методы Program (Project) Evaluation and Review Technique (сокращенно PERT) — техника оценки и анализа программ) —
- 53. Тема 3. Методы управления проектами Диаграмма PERT с работами на стрелках представляет собой множество точек-вершин (события)
- 54. Тема 3. Методы управления проектами Последовательность дуг, в которой конец каждой предшествующей совпадает с началом последующей,
- 55. Тема 3. Методы управления проектами Диагра́мма Га́нта (англ. Gantt chart, также ленточная диаграмма, график Ганта) —
- 56. Тема 3. Методы управления проектами Ключевым понятием диаграммы Ганта является «Веха» — метка значимого момента в
- 57. ТЕМА 4 ИНИЦИАЦИЯ ПРОЕКТА
- 58. Тема 4. Инициация проекта Описание проблемы Формулировка концепции Разработка концепции (Vision); Границы системы; Ключевые пользовательские функции
- 60. Скачать презентацию
Слайд 2Введение в курс «Менеджмент в информационных технологиях»
Введение
Курс «Менеджмент в ИТ» рассматривает вопросы
Введение в курс «Менеджмент в информационных технологиях»
Введение
Курс «Менеджмент в ИТ» рассматривает вопросы
Последний экономический кризис заставил многие организации урезать проектные бюджеты. Но так как проекты все еще нужно кому-то завершать, появился новый тренд совмещать в одном человеке роли менеджера проекта(PM) и бизнес аналитика (BA). Назвали эту роль проектный профессионал «project professional» (PP).
Новая проектная роль PP = PM + BA
От руководителей проектов начали все больше требовать сбор требований и их анализ. От бизнес аналитиков управлять большим количеством проектов. И это все помимо основных обязанностей.
Слайд 3Введение
Содержание курса
Введение
Проектный профессионал – новая проектная роль. Содержание, цели и задачи курса,
Введение
Содержание курса
Введение
Проектный профессионал – новая проектная роль. Содержание, цели и задачи курса,
Тема 1. Введение в программную инженерию
Менеджмент в ИТ, его составные части, основные термины и определения в программной инженерии. Жизненный цикл ПО и его модели. Основные и дополнительные области знаний.
Тема 2. Модели процесса разработки ПО
Классификация моделей. CMMI (Capability Maturity Model Integration), cтандарты IEEE/ISO, модель RUP (Rational Unified Process), «гибкие» модели Agile (Scrum).
Тема 3. Принципы управление проектами
Основные термины и определения. Тройственная ограниченность. Подходы и методы: PERT (Program (Project) Evaluation and Review Technique), диаграмма Ганта.
Слайд 4Тема 4. Инициация проекта
Требования и их анализ, концепция проекта, цели и результаты
Тема 4. Инициация проекта
Требования и их анализ, концепция проекта, цели и результаты
Тема 5. Планирование проекта
Уточнение содержания и состава работ. Планирование организационной структуры. Планирование управления конфигурациями. Планирование управления качеством. Управление рисками, оценка и контроль проекта.
Тема 6. Реализация проекта
Управление требованиями. Принципы количественного управления. Завершение проекта.
Введение
Слайд 5Список рекомендуемой литературы
Введение
1. «PMBOK. Руководство к Своду знаний по управлению проектами», 3-е
Список рекомендуемой литературы
Введение
1. «PMBOK. Руководство к Своду знаний по управлению проектами», 3-е
2. «Руководство к своду знаний по программной инженерии». The Guide to the Software Engineering Body of Knowledge, SWEBOK, IEEE Computer Society Professional Practices Committee, 2004.
3. Скотт Беркун, «Искусство управления IT-проектами», пер. с англ., СПб., Питер-Пресс, 2007. – 400 с. ISBN 978-5-91180-005-5
4. Сергей Архипенков «Лекции по управлению программными проектами», 2009.
5. Брукс Фредерик, "Мифический человеко-месяц, или Как создаются программные комплексы", Пер. с англ., СПб., Символ-Плюс, 1999.
6. А. Якобсон, Г. Буч, Дж. Рамбо Унифицированный процесс разработки программного обеспечения. – СПб.: ПИТЕР, 2002. – 496с. ISBN 5-318-00358-3
Слайд 6Цели и задачи курса
Ознакомиться с основными принципами управления проектами;
Ознакомиться с основными процессами
Цели и задачи курса
Ознакомиться с основными принципами управления проектами;
Ознакомиться с основными процессами
Ознакомиться с основными ролями разработчиков ПО.
Введение
МЕНЕДЖМЕНТ В ПРОГРАММНОЙ ИНЖЕНЕРИИ
Задачи:
Слайд 7Тема 1
ВВЕДЕНИЕ В ПРОГРАММНУЮ ИНЖЕНЕРИЮ
Тема 1
ВВЕДЕНИЕ В ПРОГРАММНУЮ ИНЖЕНЕРИЮ
Слайд 8Тема1. Введение в программную инженерию
Менеджмент (англ. management ) – управление, руководство, администрирование,
Тема1. Введение в программную инженерию
Менеджмент (англ. management ) – управление, руководство, администрирование,
Составные части менеджмента в ИТ
Крупная IT-компания одновременно ставит и решает комплекс взаимосвязанных задач, для чего создается несколько подсистем в системе менеджмента:
Менеджмент программной инженерии:
Управление жизненным циклом программного продукта
Управление персоналом
Управление качеством
Маркетинг
Финансовый менеджмент
Стратегический менеджмент
Инвестиционный менеджмент
Инновационный менеджмент
Риск менеджмент
Информационный менеджмент
Экологический менеджмент
Слайд 9Тема 1. Введение в программную инженерию
ОСНОВНЫЕ ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
Программная инженерия есть применение
Тема 1. Введение в программную инженерию
ОСНОВНЫЕ ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
Программная инженерия есть применение
Термин software engineering (программная инженерия) впервые появился в названии конференции НАТО, состоявшейся в Германии в 1968 году и посвященной так называемому кризису программного обеспечения. С 1990-го по 1995 год велась работа над международным стандартом, который должен был дать единое представление о процессах разработки программного обеспечения. В результате был выпущен стандарт ISO/IEC 12207 [2].
В 2004 году в отрасли был создан основополагающий труд «Руководство к своду знаний по программной инженерии» (SWEBOK) [3], в котором были собраны основные теоретические и практические знания, накопленные в этой отрасли.
Слайд 10Тема 1. Введение в программную инженерию
Программирование — процесс отображения определенного множества целей
Тема 1. Введение в программную инженерию
Программирование — процесс отображения определенного множества целей
Программный продукт — совокупность программ и сопроводительной документации по их установке, настройке, использованию и доработке.
Процесс разработки ПО — совокупность процессов, обеспечивающих создание и развитие программного обеспечения.
Модель процесса разработки ПО — формализованное представление процесса разработки ПО.
Слайд 11Тема 1. Введение в программную инженерию
Жизненный цикл проекта (Project Life Cycle Management
Тема 1. Введение в программную инженерию
Жизненный цикл проекта (Project Life Cycle Management
Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации[1]. Этот цикл — процесс построения и развития ПО.
В общем случае, жизненный цикл определяется моделью и описывается в форме методологии (метода). Модель или парадигма жизненного цикла определяет концептуальный взгляд на организацию жизненного цикла и, часто, основные фазы жизненного цикла и принципы перехода между ними.
Модель жизненного цикла ПО — структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении жизненного цикла. Модель жизненного цикла зависит от специфики, масштаба и сложности проекта и специфики условий, в которых система создается и функционирует.
Слайд 12Тема 1. Введение в программную инженерию
Тема 1. Введение в программную инженерию
Слайд 13Тема 1. Введение в программную инженерию
Методология (метод) задает комплекс работ, их детальное
Тема 1. Введение в программную инженерию
Методология (метод) задает комплекс работ, их детальное
Ниже приведены определения модели жизненного цикла программной системы, даваемые, например, в различных вариантах стандартов ГОСТ:
Модель жизненного цикла - структура, состоящая из процессов, работ и задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования [ГОСТ 12207, 1999].
Жизненный цикл автоматизированной системы (АС) - совокупность взаимосвязанных процессов создания и последовательного изменения состояния АС, от формирования исходных требований к ней до окончания эксплуатации и утилизации комплекса средств автоматизации АС [ГОСТ 34, 1990].
Слайд 14Процессы жизненного цикла программного обеспечения (Software Life Cycle Processes)
Определения процессов жизненного цикла
Процессы жизненного цикла программного обеспечения (Software Life Cycle Processes)
Определения процессов жизненного цикла
Тема 1. Введение в программную инженерию
Слайд 15Тема 1. Введение в программную инженерию
Согласно SWEBOK 2004, программная инженерия включает в
Тема 1. Введение в программную инженерию
Согласно SWEBOK 2004, программная инженерия включает в
Software requirements — программные требования: выявление, анализ, спецификация и проверка требований к программному обеспечению;
Software design — дизайн (архитектура): процесс определения архитектуры, компонентов, интерфейсов и других характеристик системы или компонента;
Software construction — конструирование ПО: поэтапное создание работающего программного обеспечения;
Software testing — тестирование: динамический контроль поведения программы на конечном множестве тестов, надлежащим образом выбранных из бесконечной области;
Software maintenance — эксплуатация (поддержка) ПО: совокупность мероприятий, необходимых для обеспечения экономически эффективной поддержки программного обеспечения;
Software engineering process — процессы программной инженерии: определение, реализация, оценка, измерение, управление, изменение и улучшение процесса жизненного цикла программы как такового;
Слайд 16Тема 1. Введение в программную инженерию
Software configuration management — конфигурационное управление: определение
Тема 1. Введение в программную инженерию
Software configuration management — конфигурационное управление: определение
Software engineering management — управление в программной инженерии: применение мер управления, планирования, координации, измерения, мониторинга, контроля и отчетности, для того, чтобы разработка и сопровождение программного обеспечения являлась систематической и дисциплинированной;
Software engineering tools and methods — инструменты и методы: компьютерные средства, которые предназначены для оказания помощи процессам жизненного цикла программы, а также методы, которые применяют к структуре деятельности разработки ПО с целью сделать разработку более систематической, чтобы иметь более шансов на успех;
Software quality — управление качеством ПО: проверка удовлетворения требованиям к ПО набора собственных характеристик программы.
Слайд 17Тема 1. Введение в программную инженерию
Дополнительные области знаний включают в себя:
Computer
Тема 1. Введение в программную инженерию
Дополнительные области знаний включают в себя:
Computer
Computer science — информатика.
Management — общий менеджмент.
Mathematics — математика.
Project management — управление проектами.
Quality management — управление качеством.
Systems engineering — системное проектирование.
Результаты анализа успешность программных проектов за 2006 год (по данным Standish Group)
Слайд 18ТЕМА 2
МОДЕЛИ ПРОЦЕССА РАЗРАБОТКИ ПО
ТЕМА 2
МОДЕЛИ ПРОЦЕССА РАЗРАБОТКИ ПО
Слайд 19Тема 2. Модели процесса разработки ПО
Модели (методологии) процессов разработки ПО принято
Тема 2. Модели процесса разработки ПО
Модели (методологии) процессов разработки ПО принято
+ ITIL
+ PMBOOK
Слайд 20Тема 1. Модели процесса разработки ПО
СТБ ИСО 9001-2009
CMMI
Отраслевые стандарты
ITIL
PMBOOK
(Guide to the
Тема 1. Модели процесса разработки ПО
СТБ ИСО 9001-2009
CMMI
Отраслевые стандарты
ITIL
PMBOOK
(Guide to the
Слайд 21ГОСТ 19 «Единая система программной документации», ГОСТ 34 «Стандарты на разработку и
ГОСТ 19 «Единая система программной документации», ГОСТ 34 «Стандарты на разработку и
Ориентированы на последовательный подход к разработке ПО. Разработка в соответствии с этими стандартами проводится по этапам, каждый из которых предполагает выполнение строго определенных работ, и завершается выпуском достаточно большого числа весьма формализованных и обширных документов. Строгое следование этим гостам приводит к водопадному подходу и требует очень высокой степени формализованности разработки. На основе этих стандартов разрабатываются программные системы по госзаказам
СТБ ИСО 9001-2009
Предусматривают, с одной стороны, построение организационной системы "сверху вниз": от целей предприятия и его политики - к организационной структуре и формированию бизнес процессов, и с другой - итеративное развитие организационной системы через механизмы измерения и улучшения.
Тема 2. Модели процесса разработки ПО
Слайд 22Тема 2. Модели процесса разработки ПО
Упрощенно "качество", согласно серии стандартов ISO 9000,
Тема 2. Модели процесса разработки ПО
Упрощенно "качество", согласно серии стандартов ISO 9000,
Такие понятия, как процессный подход, анализ и измерения, совершенствование процессов, введены в версиях ISO 9000 с 2000 года и ранее в них отсутствовали.
Следует заметить, что стандарты этой серии универсальны - они не ориентированы на какую либо конкретную отрасль, не учитывает специфики IT-сферы и, в этом смысле, конечно по степени конкретизации, заметно уступают, например, стандартам СММ.
Кроме того, ISO 9000 не предполагает никаких градаций (уровней) соответствия этим процессам, и, тем самым, затрудняет определение "истинных" возможностей той или иной организации и, соответственно, - путей их дальнейшего развития.
Слайд 23Тема 2. Модели процесса разработки ПО
Тема 2. Модели процесса разработки ПО
Слайд 24Тема 2. Модели процесса разработки ПО
CMMI (Capability Maturity Model Integration)
Это относительно новый
Тема 2. Модели процесса разработки ПО
CMMI (Capability Maturity Model Integration)
Это относительно новый
Использование данной модели позволяет организации оценить эффективность бизнес-процессов, связанных с разработкой ПО, установить приоритетные направления их усовершенствования, а также внедрить данные усовершенствования.
Модель CMMI, а точнее ее версия 1.1, появилась в марте 2002 года. Она внедрена Институтом программной инженерии Университета Карнеги-Меллона (Software Engineering Institute, SEI) специально для отрасли разработки программного обеспечения.
До этого в конце 80-х годов для ПО по заказу Министерства обороны США была разработана SW-CMM.
Слайд 25Тема 2. Модели процесса разработки ПО
Основным компонентом модели CMMI является область процессов,
Тема 2. Модели процесса разработки ПО
Основным компонентом модели CMMI является область процессов,
Другой областью процесса является управление конфигурацией (CM). Важно понимать, что область процесса не является процессом. Один процесс может пересекаться с несколькими областями процесса, а одна область процесса может включать несколько процессов.
Область процессов (Process Area) – набор связанных практик данной области, исполняются для достижения ряда целей, которые считаются важными в контексте улучшения процессов в данной области.
В ходе оценки организации определяется уровень ее работы, который характеризует способность организации управлять рисками и, следовательно, выполнять взятые на себя обязательства.
Слайд 26Тема 2. Модели процесса разработки ПО
Процессы первого уровня зрелости, характеризуются хаотичностью, реактивностью,
Тема 2. Модели процесса разработки ПО
Процессы первого уровня зрелости, характеризуются хаотичностью, реактивностью,
На уровне 1 производственный процесс (а вместе с ним и все процессы) представляется аморфной сущностью, практически черным ящиком, представление о процессах очень ограниченное, чрезмерно много усилий тратится на выяснение статуса развития проекта и текущего хода работ.
Слайд 27Тема 2. Модели процесса разработки ПО
Уровень зрелости 2 – управляемый уровень. На
Тема 2. Модели процесса разработки ПО
Уровень зрелости 2 – управляемый уровень. На
На уровне 2 контролируются требования заказчиков и промежуточные продукты, а также установлены основные практики управления проектом. Эти средства позволяют управлять проектом, однако дают фрагментарное представление о нем. Фактически, производственный процесс можно представить последовательностью черных ящиков и реальное видение проекта присутствует лишь на промежуточных этапах.
Слайд 28Тема 2. Модели процесса разработки ПО
Уровень зрелости 3 – определенный уровень. В
Тема 2. Модели процесса разработки ПО
Уровень зрелости 3 – определенный уровень. В
Присутствует более детальное описание всех процессов, в котором лучше раскрываются связи и зависимости, знание которых позволяет улучшить управление.
На этом уровне становится видимой внутренняя сторона наших черных ящиков. Это внутренняя структура отражает способ, применения стандартного производственного процесса организации.
Слайд 29Тема 2. Модели процесса разработки ПО
Уровень зрелости 4 – количественно-управляемый уровень. На
Тема 2. Модели процесса разработки ПО
Уровень зрелости 4 – количественно-управляемый уровень. На
На уровне 4 определенные процессы количественно контролируются с помощью соответствующих средств и техник.
Слайд 30Тема 2. Модели процесса разработки ПО
Уровень зрелости 5 – уровень постоянного улучшения
Тема 2. Модели процесса разработки ПО
Уровень зрелости 5 – уровень постоянного улучшения
Слайд 31Тема 2. Модели процесса разработки ПО
Тема 2. Модели процесса разработки ПО
Слайд 32Тема 2. Модели процесса разработки ПО
Уровни 4 и 5 называют уровнями высокой
Тема 2. Модели процесса разработки ПО
Уровни 4 и 5 называют уровнями высокой
Менее зрелые организации бросают на борьбу с экстренными ситуациями все силы, в то время как более зрелые слепо следуют устоявшимся процедурам и не всегда могут понять, что изменение некоторых процедур станет более адекватным ответом на сложившуюся ситуацию.
Слайд 33Тема 2. Модели процесса разработки ПО
Центр программного производства EPAM Systems в Минске
Тема 2. Модели процесса разработки ПО
Центр программного производства EPAM Systems в Минске
Группа компаний IBA 2003 г. прошла международную аттестацию соответствия 4-му уровню CMMI® (SEI CMMI Maturity Level 4).
Слайд 34Тема 2. Модели процесса разработки ПО
Модель водопада
Для успешного выполнения программного проекта недостаточно
Тема 2. Модели процесса разработки ПО
Модель водопада
Для успешного выполнения программного проекта недостаточно
В любой организации существуют правила и методики, по которым участники проекта (заказчики, разработчики, тестеры, технические писатели) распределяют между собой задачи, взаимодействуют друг с другом, создают проектные артефакты (спецификации, исходный код, документацию). Эти правила могут быть четко организованными или хаотичными, быть формально документированными или существовать в головах проектной команды, но в любом случае именно их совокупность называется процессом разработки.
Итерационная инкрементальная модель
The Unified Software Development Process
Гибкие методологии разработки ПО (Agile)
Слайд 35Тема 2. Модели процесса разработки ПО
Тема 2. Модели процесса разработки ПО
Слайд 36Метод водопада
Модель водопада (waterfall model или последовательная разработка) – самый известный, исторически
Метод водопада
Модель водопада (waterfall model или последовательная разработка) – самый известный, исторически
Фазы проекта включают следующие этапы:
Разработка требований (requirements): сбор бизнес-требований заказчика и их преобразование в функциональные требования к программному продукту.
Анализ и дизайн (analysis and design): разработка модели предметной области (domain model), проектирование схемы базы данных, объектной модели, пользовательского интерфейса и т.п.
Реализация (implementation): создание продукта по спецификациям, разработанным на предыдущем этапе.
Тестирование (testing): включает проверку соответствия функциональности программного продукта потребностям пользователей (validation), а также поиск дефектов в реализации.
Развертывание (deployment): обучение пользователей, инсталляция системы, перевод в промышленную эксплуатацию.
Недостатки модели
Процесс плохо работает в проектах с нечеткими требованиями. Даже если проектная команда считает, что полностью проработала и документировала функциональный дизайн системы, он может значительно отличаться от ожиданий пользователей. С большой вероятностью это расхождение будет обнаружено не на этапе рецензирования функциональной спецификации (редкий заказчик способен представить поведение реальной системы, читая документ с описанием ее функциональности), а во время внедрения продукта.
Процесс крайне неэффективен при постоянных изменениях требований (что как правило случается в проектах, длящихся больше одного-двух месяцев). Каждое изменение заставляет возвращаться к фазе определения требований и повторять весь процесс с начала.
Тема 2. Модели процесса разработки ПО
Слайд 373. Сложно управлять рисками некоторых типов (таких, как риски, связанные с использованием новых
3. Сложно управлять рисками некоторых типов (таких, как риски, связанные с использованием новых
4. Весьма ограничены возможности оценки и корректировки важных атрибутов проекта – скорости разработки, качества продукта, обоснованности принятых архитектурных решений. Адекватно оценить эти атрибуты становится возможным только на поздних этапах проекта.
Итеративная разработка
Процесс итеративной (или инкрементальной) разработки стал эволюционным развитием модели водопада. Процесс состоит из серии повторяющихся итераций (их число зависит от конкретного проекта), каждая из которых фактически является полноценным мини-проектом с фазами определения требований, анализа, дизайна и т.д.
В результате очередной итерации продукт приобретает новую функциональность или улучшения в существующей функциональности. Полный набор требований, зафиксированный границами проекта, оказывается реализованным после завершения финальной итерации.
RUP (Rational Unified Process)
Один из самых известных процессов, использующих итеративную модель разработки – Rational Unified Process (RUP). Он был создан во второй половине 1990-х годов в компании Rational Software. Основными разработчиками были Филипп Крачтен (Philippe Kruchten), Грейди Буч (Grady Booch), Джеймс Рамбо (James Rumbaugh) и Айвар Якобсон (Ivar Jacobson). Кстати, последние трое являются также создателями нотации UML.
Термин RUP означает как методологию разработки, так и продукт компании IBM (ранее – Rational) для управления процессами разработки. Методология RUP описывает абстрактный общий процесс, на основе которого организация или проектная команда должна создать специализированный процесс, ориентированный на ее потребности.
Тема 2. Модели процесса разработки ПО
Слайд 38Рабочий процесс RUP
В терминах RUP участники проектной команды создают так называемые артефакты
Рабочий процесс RUP
В терминах RUP участники проектной команды создают так называемые артефакты
Задачи разделяются по девяти процессным областям, называемым дисциплинами (discipline). В RUP определены шесть инженерных и три вспомогательные дисциплины.
В них входят:
Бизнес-моделирование (Business Modeling) – определение и описание бизнес-целей, моделирование сущностей предметной области (сущности и их атрибуты, структура связей, взаимодействие внешних и внутренних сущностей), моделирование функциональных обязанностей бизнес-актеров, анализ и моделирование существующих бизнес-процессов заказчика, а также поиск их возможных улучшений.
Разработка и Управление требованиями (Requirements Engineering & Requirements Management) – выявление требований, определение границ проекта, разработка функционального дизайна будущей системы и его согласование с заказчиком.
Анализ и проектирование (Analysis and Design) – проектирование архитектуры системы на основе функциональных требований и ее развитие на протяжении всего проекта.
Анализ (Analysis): выявление объектов программной системы, отвечающих за ее бизнес-логику, путем анализа потоков событий, описанных в сценариях, моделирование их взаимодействия и структуры связей, моделирование классов бизнес-логики, их иерархий и структуры связей (платформонезависимая модель PIM).
Проектирование (Design): создание и моделирование платформозависимой архитектуры программной системы (модель PSM).
Тема 2. Модели процесса разработки ПО
Слайд 39Тема 2. Модели процесса разработки ПО
Тема 2. Модели процесса разработки ПО
Слайд 40Реализация (Implementation) – разработка, юнит-тестирование и интеграция компонентов системы.
Тестирование (Test) –
Реализация (Implementation) – разработка, юнит-тестирование и интеграция компонентов системы.
Тестирование (Test) –
Развертывание (Deployment) – создание дистрибутива, установка системы, обучение пользователей.
Управление конфигурациями и изменениями (Configuration and Change Management) – управление версиями исходного кода и документации, процесс обработки запросов на изменение (change requests).
Управление проектом (Project Management) – создание проектной команды, планирование фаз и итераций, управление бюджетом и рисками.
Среда (Environment) – создание инфраструктуры для выполнения проекта, включая организацию и настройку процесса разработки.
Фазы проекта:
Тема 2. Модели процесса разработки ПО
Начало (Inception)
Цели:
понять границы проекта:
разработка экономического обоснования;
заключение соглашения между заинтересованными сторонами для дальнейшего продвижения
Веха: Разработка целей жизненного цикла
Проектирование (Elaboration)
Цели:
Свести к минимуму главные технические риски;
Создать базовую архитектуру;
Понять во что обойдется построение системы
Веха: архитектура жизненного цикла
Построение (Construction)
Цели:
Построить первую работающую версию продукта
Веха: начальная функциональная готовность
Внедрение (Transition)
Цели:
Создать окончательную версию программного продукта и передать ее Заказчику
Веха: готовый продукт
Слайд 41Гибкие методологии разработки ПО (Agile)
Гибкая разработка — это термин, произошедший от
Гибкие методологии разработки ПО (Agile)
Гибкая разработка — это термин, произошедший от
"Гибкий манифест" установил общий набор всеохватывающих ценностей и принципов для всех отдельных гибких методологий, существовавших на то время. В нем детализированы четыре ключевых ценности, позволяющих командам достигать высокой производительности.
Тема 2. Модели процесса разработки ПО
Слайд 42Agile-манифест разработки программного обеспечения
Мы постоянно открываем для себя более совершенные методы разработки
Agile-манифест разработки программного обеспечения
Мы постоянно открываем для себя более совершенные методы разработки
Люди и взаимодействие важнее процессов и инструментов
Работающий продукт важнее исчерпывающей документации
Сотрудничество с заказчиком важнее согласования условий контракта
Готовность к изменениям важнее следования первоначальному плану
То есть, не отрицая важности того, что справа, мы всё таки больше ценим то, что слева.
Kent Beck
Mike Beedle
Arie van Bennekum
Alistair Cockburn
Ward Cunningham
Martin Fowler
James Grenning
Jim Highsmith
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave Thomas
Слайд 43Основополагающие принципы Agile-манифеста
Мы следуем таким принципам:
Наивысшим приоритетом для нас является
Основополагающие принципы Agile-манифеста
Мы следуем таким принципам:
Наивысшим приоритетом для нас является
Изменение требований приветствуется, даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.
Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.
На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.
Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды.
Работающий продукт — основной показатель прогресса.
Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
Простота — искусство минимизации лишней работы — крайне необходима.
Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.
Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
Слайд 45ТЕМА 3
МЕТОДЫ УПРАВЛЕНИЯ
ПРОЕКТАМИ
ТЕМА 3
МЕТОДЫ УПРАВЛЕНИЯ
ПРОЕКТАМИ
Слайд 46Тема 3. Методы управления проектами
В качестве самостоятельной области знаний управление проектами начало
Тема 3. Методы управления проектами
В качестве самостоятельной области знаний управление проектами начало
Наиболее известные центры компетенции:
■ PMI, Project Management Institute, PMBOK — американский национальный стандарт ANSI/PMI 99-001-2004.
■ IPMA, International Project Management Association. В России — СОВНЕТ.
Слайд 47Тема 3. Методы управления проектами
ОСНОВНЫЕ ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
Проект (Project) – уникальный комплекс
Тема 3. Методы управления проектами
ОСНОВНЫЕ ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
Проект (Project) – уникальный комплекс
Процесс управления (Management process) описывает действия (работы - activities), предпринимаемые для обеспечения того, что процессы программной иженерии выполняются в согласовании с политиками, целями и стандартами, принятыми в организации
Управление проектом (Project Management) — это процесс планирования, организации и контроля за состоянием задач и ресурсов проекта, направленный на своевременное достижение цели проекта при балансировании между объемом работ, ресурсами (такими как деньги, труд, материалы, энергия, пространство и др.), временем, качествомпри балансировании между объемом работ, ресурсами (такими как деньги, труд, материалы, энергия, пространство и др.), временем, качеством и рисками.
Масштаб проекта (иногда этот термин заменяют словосочетанием«содержание и границы проекта») — это совокупность цели проекта и планируемых для ее достижения затрат времени и средств.
Слайд 48Тройственная Ограниченность
Тема 3. Методы управления проектами
В основе современных методов управления проектами
Тройственная Ограниченность
Тема 3. Методы управления проектами
В основе современных методов управления проектами
Классическая форма Тройственной Ограниченности описывает баланс между содержанием, стоимостью, временем и качеством -- ограничения, в рамках которых каждый проект должен протекать и достигать финала.
Изменение одной стороны треугольника влияет на другие стороны.
Слайд 49Тройственная Ограниченность
Тема 3. Методы управления проектами
Ограниченность времени определяется количеством доступного времени
Тройственная Ограниченность
Тема 3. Методы управления проектами
Ограниченность времени определяется количеством доступного времени
Ограниченность стоимости определяется бюджетом, выделенным для осуществления проекта.
Ограниченность содержания определяется набором действий, необходимых для достижения конечного результата проекта.
Эти три ограниченности часто соперничают между собой. Изменение содержания проекта обычно приводит к изменению сроков (времени) и стоимости:
сжатые сроки (время) могут вызвать увеличение стоимости и уменьшение содержания.
небольшой бюджет (стоимость) может вызвать увеличение сроков (времени) и уменьшение содержания.
Слайд 50Тема 3. Методы управления проектами
Управление проектами является наукой о применении инструментов
Тема 3. Методы управления проектами
Управление проектами является наукой о применении инструментов
Иной подход к управлению проектами рассматривает следующие три ограниченности: финансы, время и человеческие ресурсы.
При необходимости сократить сроки (время) можно увеличить количество занятых для решения проблемы людей, что непременно приведет к увеличению бюджета (стоимость). За счет того, что эта задача будет решаться быстрее, можно избежать роста бюджета, уменьшая затраты на равную величину в любом другом сегменте проекта.
Слайд 51Тема 3. Методы управления проектами
Подходы
Предположение о неограниченности ресурсов, критичен только срок
Тема 3. Методы управления проектами
Подходы
Предположение о неограниченности ресурсов, критичен только срок
Предположение о критичности качества (под качеством здесь понимается полнота удовлетворения требований, как известных, так и неизвестных заранее) Гибкая методология разработки (Agility);
Предположение о неизменности требований и низких рисках. Классические методы (например, RUP, спиральная модель, во многом опирающиеся на модель водопада);
Предположение о высоких рисках проекта. Метод Инновационные проекты (стартапы)
Варианты нейтральных (сбалансированных) подходов:
Акцент на взаимодействие исполнителей. Метод PRINCE2
Акцент на взаимодействие процессов. Метод Process-based management
Слайд 52Методы
Program (Project) Evaluation and Review Technique (сокращенно PERT) — техника оценки и
Методы
Program (Project) Evaluation and Review Technique (сокращенно PERT) — техника оценки и
Самая известная часть PERT — это диаграммы взаимосвязей работ и событий. Предлагает использовать диаграммы-графыСамая известная часть PERT — это диаграммы взаимосвязей работ и событий. Предлагает использовать диаграммы-графы с работами на узлах, с работами на стрелках (сетевые графикиСамая известная часть PERT — это диаграммы взаимосвязей работ и событий. Предлагает использовать диаграммы-графы с работами на узлах, с работами на стрелках (сетевые графики), а также диаграммы Ганта.
Тема 3. Методы управления проектами
Слайд 53Тема 3. Методы управления проектами
Диаграмма PERT с работами на стрелках представляет собой
Тема 3. Методы управления проектами
Диаграмма PERT с работами на стрелках представляет собой
Слайд 54Тема 3. Методы управления проектами
Последовательность дуг, в которой конец каждой предшествующей
Тема 3. Методы управления проектами
Последовательность дуг, в которой конец каждой предшествующей
Слайд 55Тема 3. Методы управления проектами
Диагра́мма Га́нта (англ. Gantt chart, также ленточная
Тема 3. Методы управления проектами
Диагра́мма Га́нта (англ. Gantt chart, также ленточная
Первый формат диаграммы был разработан Генри Л. Гантом в 1910 году.
По сути, диаграмма Ганта состоит из полос, ориентированных вдоль оси времени. Каждая полоса на диаграмме представляет отдельную задачу в составе проекта (вид работы), её концы — моменты начала и завершения работы, её протяженность — длительность работы. Вертикальной осью диаграммы служит перечень задач. Кроме того, на диаграмме могут быть отмечены совокупные задачи, проценты завершения, указатели последовательности и зависимости работ, метки ключевых моментов (вехи), метка текущего момента времени «Cегодня» и др.
Слайд 56Тема 3. Методы управления проектами
Ключевым понятием диаграммы Ганта является «Веха» —
Тема 3. Методы управления проектами
Ключевым понятием диаграммы Ганта является «Веха» —
Слайд 57ТЕМА 4
ИНИЦИАЦИЯ
ПРОЕКТА
ТЕМА 4
ИНИЦИАЦИЯ
ПРОЕКТА
Слайд 58Тема 4. Инициация проекта
Описание проблемы
Формулировка концепции
Разработка концепции (Vision);
Границы системы;
Ключевые
Тема 4. Инициация проекта
Описание проблемы
Формулировка концепции
Разработка концепции (Vision);
Границы системы;
Ключевые
Экономическое обоснование (Business Case):
Является ли проект прибыльным?
Является ли он реальным?
Предложить возможное решение (архитектуру)
Перечень рисков
Основные участники
План работ
Смета работ