Все специалисты ищут серебряную пулю, хотя опыт подсказывает, что ее не существует. На смену одной методологии приходит вторая, одну тему фокусирования всего софтверного сообщества сменяет другая – этот круг бесконечен.
Матерые специалисты с седыми бородами настаивают на тяжеловесных методологиях с сотнями ролей, процессов, артефактов и толстенными описаниями. Молодые же управленцы предпочитают гибкие методологии, или Agile, как они говорят. Кто прав в этом противостоянии отцов и детей? Замечу, что в нашей стране часто идет спор, нужны ли методологии и процессы вообще для создания качественного продукта.
В этой книге я расскажу о современных гибких методологиях, причем постараюсь осветить аспекты, которые обычно не упоминаются либо раскрываются недостаточно глубоко. Кроме теории, в книге содержится множество конкретных приемов и лучших методов, которые можно применять на практике, что отличает ее от других материалов.
Эта книга предназначена для широкого круга специалистов, работающих в области разработки программного обеспечения:
• разработчиков, ведущих разработчиков и архитекторов;
• скрам-мастеров и руководителей проектов;
• владельцев и менеджеров продуктов;
• руководителей отделов;
• аналитиков;
• тестировщиков;
• верстальщиков;
• дизайнеров и специалистов по интерфейсу.
Методы и инструменты, описанные в этой книге, позволяют организовать эффективную работу команд, состоящих из вышеперечисленных работников.
Эта книга не претендует на звание единого и непогрешимого источника знаний по гибким методологиям, потому что они постоянно развиваются: появляются новые подходы, дорабатываются старые и расширяются сферы применения. На этих страницах отражено исключительно мое мнение и понимание гибких методологий, не связанное с моими нынешними или будущими работодателями либо сообществами, в которых я состою. Тем не менее не отрицаю их сильного влияния на меня.
Я веду рассказ с позиции практика, который реально использует то, о чем пишет, так что с некоторыми вещами «теоретики» могут не согласиться. Замечу также, что я не рассказываю о «партизанском» внедрении гибких методологий: мои руководители всегда поддерживали изменения, которые я вносил, так как понимали, какие преимущества это дает организации.
Кроме того, я хочу сказать: чтобы эффективно использовать гибкие методологии, ваша команда (и организация в целом) должна быть достаточно зрелой и в технологическом, и в организационном плане. Мне повезло – я всегда работал с очень сильными командами, но, как тренеру и внешнему консультанту, мне приходилось сталкиваться и с более слабыми и плохо мотивированными. Скажем так: из команды двоечников никакая методология вам не поможет сделать команду отличников.