11. CAUSES OF PROJECT COMPLEXITY
Requested functionality
Requested quality
Number of people on the project
Their qualification
Used practices and tools
11
Данная презентация направлена на то, чтобы показать взаимосвязь экстремального программирования и конфигурационного менеджмента взяв на вооружение аналогию курицы и яйца. Экстремальное программирование было выбрано не случайно, так как связь между ХР и СМ наиболее крепка.
Что общего между курицей и яйцом?
Ничего
Кроме того, что одно получается из другого совершенно неведомым образом.Всё утро в зеркало яйцо Глядело в зеркало уныло«Так где же начинается лицоИ где кончается затылок?»
То же противоречиеприменимо и к взаимосвязи экстремального программирования и конфигурационного менеджмента
Без яйца курицы не получится, курицы не получится из яйца.Аналогично:Экстремальное программирование не существует без конфигурационного менеджмента, и наоборот – практики конфигурационного менеджмента оказываются совершенно ненужными без практик экстремального программирования.
Всё из-за эволюции.Цель эволюции вообще (согласно братьям Стругацким) – рюмка коньяка с лимономЦель эволюции ПО – работающий программный продукт.
И конфигурационный менеджмент как раз напрямую связан с эволюцией ПО
Тогда как ХР описывает общепринятые практики разработки ПО. Безотносительно эволюции
От чего зависит сложность программного продукта? Наверное, отсоотношения сторон железного треугольника: time, resources, scope. А если детальнее, то от…
Выдвигаемых требований к функциональности (scope)КачествоКоличество людей, занятых на проектеИ их квалификацииИ, что немаловажно, от используемых подходов, инструментов. Другими словами, процессов. А это уже коррелирует со вторым пунктом - качеством.
Scmи XPкак раз призваны помочь в решении проблем, возникающих в больших сложных проектах.Конфигурационныйменеджмент – со стороны инструментов. Тогда как экстремальное программирование – со стороны общепринятых практик.
Продолжая аналогию курицы и яйца… Для любого проекта, будь это fixed cost или time & material важны его бизнес цели, или vision. От этого зависит то, насколько он будет сложным, сколько в нем будет участвовать людей, какие навороченные инструменты будут использоваться. И всё – ради того, чтобы эти бизнес цели были достигнуты. Проект вырастает для того, чтобы быть реализованным и стать достойной частью истории.
Похоже на то, когда вот курица вырастает для того, чтобы быть съеденной!
Давайте рассмотрим то, как практики хр связаны с конфигурационным менеджментом.
Кроме ХР существует большое множество других практик разработки ПО.
Давайте возьмем модель CMMI как пример. Опрос на тему «что такое CMMI?»
УпоминаниеCMвстречается практически в каждой другой процессной области. Это значит, что любой результат деятельности подлежит контролю конфигураций в том, или ином виде. И оказывается что без знания основных принципов управления конфигурациями качественная разработка ПО оказывается невозможной, так как контроль конфигураций применим ко всем этапам жизненного цикла разработки. Конфигурационный менеджмент везде неявно присутствует, хотим мы этого или нет. CMMI модель нам это демонстрирует.
Лучших практик много, можно использовать любую из них как основополагающую. Но лично я утверждаю, что именно конфигурационный менеджмент – это тот самый базовый набор инженерных практик для эффективной и качественной разработки программного обеспечения.
И для того, чтобы проиллюстрироватьэтот аспект, наиболее удачной аналогией для меня показались именно курица и яйцо. Эта аналогия иллюстрирует следующее:СМ чаще всего оказывается недооцененнымПрактики ХР и СМ – взаимозаменяемы и не могут существовать друг без другаПрактики ХР и СМ тесно связаны между собой. ХР и СМ это идеализированные подходы к разработке ПО. ХР и СМ тесно связаны с эволюцией проекта.