[БЕЗ_ЗВУКА] В предыдущем видео мы рассмотрели основные ценности, верхний уровень категорий, описанных в Agile-манифесте. Другой важной частью манифеста гибкой разработки, которая занимает всю вторую его часть, является набор из 12 принципов, которые отражают основные идеи подходов к решению тех или иных задач в гибких методологиях. Для того чтобы улучшить наше понимание идей, принципов и практик гибких методологий, давайте так же, как и в случае с ценностями, разберем официальные принципы, с которыми мы познакомились на одном из предыдущих уроков. Однако если просто перечитать их в манифесте, то может сложиться впечатление, что сами по себе они не могут являться исчерпывающим руководством к действию. Как и в случае с ценностями, принципы сформулированы достаточно абстрактно и не предоставляют нам конкретного руководства к действию. Поэтому я хотел бы обратиться к работам известного ученого Бертрана Мейера, а именно его подходу к разбору основных принципов Agile. В частности, в своей книге Agile! The Good, the Hype and the Ugly Бертран говорит от том, что несмотря на то, что оригинальный текст манифеста, написанный его авторами, уже долгое время служит некой догмой, за почти два прошедших десятилетия подходы к реализации данных принципов тоже существенно эволюционировали, и поэтому мы имеем право давать новые их трактовки и свои комментарии, чтобы лучше донести основные идеи Agile. Удивительно, но после ознакомления с объяснениями принципов Бертрана Мейера, некоторые из нас могут прийти к выводу, что изначально их формулировка неидеальна и даже имеет ряд недостатков. Однако не стоит забывать, что сейчас мы рассматриваем общую теорию, а изучением конкретных инструментов и практик мы займемся на следующих уроках, поэтому я хотел бы дать вам обзор не только догматичных утверждений из Agile-манифеста, но и альтернативное авторитетное мнение. О каких же недостатках говорит Бертран? Во-первых, некоторые из этих принципов вовсе не являются таковыми. На самом деле, это не принципы, а практики. Например, это касается третьего и 12-го принципов. Как мы помним, принцип и практика — это разные вещи. Принцип обобщен и абстрактен, в то время как практика, что и следует из ее названия, регулярна, конкретна и практична. Так, например, если кто-то говорит вам сберегать или откладывать деньги на старость, то это принцип. Если же, например, вам говорят откладывать на депозит по 10 % от вашей месячной зарплаты, то это уже конкретная практика. Чувствуете разницу? Таким образом, если мы заявляем, что рабочий продукт необходимо демонстрировать в короткие промежутки времени от пары недель до пары месяцев с предпочтением самого короткого доступного интервала, то это уже похоже на конкретную практику, а не принцип. Также, по мнению Бертрана, некоторые принципы Agile-манифеста и вовсе являются предположениями. Предположение — это мнение об устройстве окружающего мира. Таким образом, когда мы говорим, как в шестом принципе, что непосредственное общение является наиболее практичным и эффективным способом обмена информацией, на самом деле это не является принципом. Это утверждение об устройстве окружающего мира, то есть это предположение. Конечно, это можно было бы обыграть словами, например, «одним из наиболее эффективных способов», чтобы превратить это утверждение в принцип. Но в манифесте этого не сделано. Еще одним предположением является седьмой пункт: работающий продукт — основной показатель прогресса. В то же время, в таком фундаментальном документе, как манифест, обычно мы ожидаем, что каждое заявление логически отличается от другого. То есть, в одном принципе описывается одно независимое идейное направление. Но в Agile-манифесте мы сталкиваемся с повторением некоторых идей. Так, например, в первом принципе мы заявляем, что удовлетворяем потребность заказчика благодаря регулярной и ранней поставке. В то же время, в третьем принципе мы опять говорим, что работающий продукт следует выпускать как можно чаще, и в очередной раз мы столкнемся с повторением в седьмом принципе: работающий продукт — основной показатель прогресса. Мы уже упоминали работающий продукт в третьем принципе. Нет ничего плохого в том, чтобы периодически повторять ключевые идеи, но, наверное, это не самый лучший подход для фундаментальных документов. Отдельно Бертран делает акцент на том, что в принципах вообще ничего не сказано о тестировании, хотя именно оно является одной из ключевых особенностей гибких подходов. А десятый принцип он вообще считает неправильным, так как существует несколько определений простоты. Простота не достигается уменьшением количества работы. Довольно часто, когда вы разрабатываете первичную версию своего продукта, его дизайн, его форма получаются несколько сложными. И вы осознаете это и продолжаете свою работу, упрощая свой продукт до нового, более естественного состояния. Как мы видим, при такой трактовке простота вовсе не достигается минимизацией количества работы, она достигается за счет увеличения количества работы. Таким образом, совершенство достигается не в тот момент, когда уже больше нечего добавить, а тогда, когда уже нечего убрать. Если мы хотим найти подтверждение данной идеи от кого-нибудь из известных современников, то давайте обратимся к интервью Стива Джобса изданию Businessweek в 1998 году. Он сказал, что одна из его мантр — это фокус и простота. И достижение простоты может быть намного сложнее, чем просто сделать какой-то продукт. Но достижение такой простоты всегда того стоит, если у вас это получилось, то вы сможете двигать горы. Итак, несмотря на некоторую критику принципов Agile-манифеста со стороны Бертрана Мейера, мы видим, что в любом случае, они дают нам стартовую точку для понимания того, как именно нам придется изменить свои подходы и свое отношение к проектам, чтобы начать управлять ими по гибким методологиям. В следующем уроке мы рассмотрим общий жизненный цикл Agile-проекта независимо от конкретной методологии.