Agile. Практическое руководство
Шрифт:
Раздел 6. Организационные соображения для гибкости проекта. В этом разделе исследуются организационные факторы, которые оказывают влияние на применение подходов agile, например, культура, готовность, бизнес-практики и роль ОУП.
Раздел 7. Призыв к действию. «Призыв к действию» предлагает направлять предложения и замечания для непрерывного совершенствования настоящего Практического руководства.
Дополнения, приложения, ссылки, список использованной литературы и глоссарий содержат дополнительную полезную информацию и определения.
Дополнения. Содержат обязательную информацию,
Приложения. Содержат необязательную информацию, которая дополняет основное содержание Руководства.
Ссылки. Показывают, где можно найти стандарты и другие публикации, цитаты из которых приводятся в Руководстве.
Список использованной литературы. Содержит дополнительные публикации к каждому разделу, в которых можно найти подробную информацию по темам, освещаемым в Руководстве.
Глоссарий. Содержит перечень терминов, которые используются в Руководстве, и их определения.
2. Введение в agile
2.1 Поддающиеся определению работы в сравнении с работами с высокой неопределенностью
Характер работ по проекту меняется в диапазоне от поддающихся определению работ до работ с высокой неопределенностью. Для проектов с поддающимися определению работами характерны четкие процедуры, которые на практике доказали свою успешность при осуществлении аналогичных проектов в прошлом. Производство автомобиля, электроприбора или строительство дома после завершения этапа проектирования являются примерами поддающихся определению работ. Связанные с такими работами область производства и процессы, как правило, совершенно ясны, и неопределенность исполнения и риска обычно низкая.
Новый проект, разрешение проблем и работы, которые ранее никогда не производились, требуют предварительного исследования. В совместной работе и разрешении проблем для выработки решения требуется участие экспертов по предметным областям. В качестве людей, которым приходится иметь дело с работами с высокой неопределенностью, можно назвать, например, инженеров программных систем, разработчиков, врачей, учителей, юристов и многих технических специалистов, которые решают возникающие проблемы. Поскольку многие поддающиеся определению работы автоматизированы, командам проектов поручают больше работ по проектам, связанным с высокой степенью неопределенности, где требуется использовать методы, описанные в настоящем Руководстве.
Проекты с высокой неопределенностью характеризуются высокими темпами изменений, сложностью и уровнем риска. В случае применения традиционных предиктивных подходов, которые предназначены для предварительного определения практически всех требований и осуществления управления изменениями с помощью процесса запросов на изменения, указанные особенности могут привести к возникновению проблем. Вместо этого были созданы подходы Agile для выяснения реализуемости требований в рамках коротких циклов и быстрой адаптации по результатам оценок и обратной связи.
2.2 Agile-манифест и образ мышления agile
Ведущие эксперты отрасли разработки ПО оформили движение agile еще в 2001 г., когда был опубликован Agile-манифест разработки программного обеспечения (Manifesto for Agile Software Development) (см. рис. 2–1).
Рис. 2–1. Четыре ценности Agile-манифеста
Двенадцать уточняющих принципов, которые вытекают из этих ценностей, представлены на рис. 2–2.
Рис. 2–2. Двенадцать принципов, вытекающих из Agile-манифеста
Хотя эти принципы впервые возникли в отрасли разработки ПО, за прошедшее время они нашли применение во многих других отраслях.
Это сочетание образа мышления, ценностей и принципов и составляет подход agile. Различные варианты подходов agile, которые применяются в настоящее время, имеют общие корни с образом мышления, ценностями и принципами agile. Эта взаимосвязь показана на рис. 2–3.
Рис. 2–3. Взаимосвязь между ценностями, принципами и общепринятыми практиками Agile-манифеста
Как следует из рис. 2–3, созданная на основе идей Ахмеда Сидки (Ahmed Sidky) модель формулирует agile как образ мышления, определяемый на основе ценностей Agile-манифеста, основанный на принципах Agile-манифеста и получивший применение в разнообразных практиках. Стоит заметить, что, хотя понятие agile стало входить в общее употребление после публикации Agile-манифеста, те подходы и методы, которыми пользуются команды проектов сегодня, применялись за много лет, а в некоторых случаях – даже десятилетий до его публикации.
Подходы agile и методы agile являются обобщающими понятиями, которые описывают различные фреймворки и методы. На рис. 2–4 понятие agile показано в контексте и наглядно представлено как общий термин, относящийся к любому типу подхода, метода, фреймфорка, методики или практики, в которых применяются ценности и принципы Agile-манифеста. На рис. 2–4 agile и метод «канбан» также представлены как подсистемы, формирующие суть бережливого подхода. Это объясняется тем, что они являются получившими собственные названия примерами бережливого мышления, где применяются общие концепции бережливого подхода, такие как: «основное внимание на ценности», «партии малого размера» и «устранение потерь».
Является ли agile подходом, методом, практикой, методикой или фреймворком? В зависимости от конкретной ситуации может использоваться любое из этих понятий. В настоящем Руководстве используется понятие «подход», за исключением случаев, когда использование другого понятия очевидно является более правильным.
Рис. 2–4. Agile – объединяющее понятие для многих подходов
В общем, существует две стратегии применения ценностей и принципов agile. Первая состоит в принятии формального подхода agile, который разработан специально и практически подтвержден для достижения желаемых результатов. Затем необходимо уделить время, чтобы изучить и понять подходы agile, прежде чем изменять или адаптировать их. Преждевременная или необдуманная адаптация может свести к минимуму результаты применения этого подхода и, соответственно, ограничить выгоды от них. (См. в приложении X2 о соображениях по адаптации).