Читаем Постигая Agile полностью

Команда избегает глубоких вложений вызовов, когда один модуль вызывает другой, тот, в свою очередь, третий, и т. д. Вместо этого структура вызова программы выглядит плоской и широкой, что снижает зависимость между модулями. Такие взаимодействия просты настолько, насколько это возможно: когда один блок нуждается в данных, он получает их из другого блока или из очереди сообщений, поэтому не нужно знать, откуда они взялись. Чтобы сохранить простоту системы, команда избегает многоэтапных, сложных взаимодействий между большим количеством модулей (подобно тому, как Unix-утилиты передают данные от одной утилиты другой по конвейеру).

Новая архитектура возникает, когда команда обнаруживает изменения, которые необходимо сделать. Чтобы добавить новое поведение в систему или переменить способ ее работы, команда должна изменить отдельные модули или способ их взаимодействия. Но поскольку каждый модуль несвязан и взаимодействия между ними просты, эти изменения, как правило, не носят каскадного характера по всей системе. Если встречается код «с душком» (скажем, программист обнаруживает, что занимается «стрельбой дробью», продирается через спагетти-код или сырые объекты), то это серьезное предупреждение, что во время работы были допущены ненужные усложнения. И разработчик знает (а что еще важнее – чувствует): стоит потратить время на рефакторинг, чтобы разделить код на более простые модули.

Система, построенная на возникающей архитектуре, может развиваться годами, оставаясь простой для поддержки и изменений. Успешные ХР-команды имеют инструменты для поддержания простоты исходного кода. Стиль их работы поощряет постоянно отслеживать появление сложного кода и выполнять его рефакторинг. Это, в свою очередь, позволяет им без напряжения вносить изменения, ведущие к возникновению архитектуры. Такой эффективный цикл приводит к простому, стабильному и очень качественному коду – и в результате команды обнаруживают, что таким образом можно создавать и поддерживать программное обеспечение намного быстрее. Когда система нуждается в поддержке (исправить ошибку или внести изменения), редко требуется серьезная модификация, затрагивающая много различных частей кода.

Поскольку члены команды знают, что система гибкая, и им известно, что можно расширять, а что – нет, они успешнее принимают решения в последний ответственный момент. Как у единой команды у них появляется понимание того, когда и какие архитектурные решения можно отложить на завтра. А это, в свою очередь, помогает сегодня сохранять простоту кода. Команда менее напряжена, а ее члены лучше работают вместе. Они производят качественный код очень быстро и, когда его требуется изменить, делают это легко и без ошибок.

Другими словами, команды сохраняют код простым, что позволяет им принимать изменения.

В этом суть ХР.

Описание: команда занимается разработкой фантазийного баскетбольного сайта

Джастин – первый разработчик

Даниэль – второй разработчик

Бриджит – менеджер проекта

<p>Акт V. Окончательный результат</p>

Даниэль и Джастин были заняты парным программированием, когда Даниэль вдруг воскликнула:

– Ты понимаешь, что мы работаем в паре уже почти три месяца?

Прошло около года с тех пор, как Даниэль рассказала команде об XP. Они делали выпуски каждую неделю, но последний недельный цикл был особенным. Компания объявила о рекламной акции в одной из крупнейших телевизионных сетей, и команда просто вытолкнула код в производство. Пару минут Даниэль и Джастин вспоминали, как шла работа на протяжении нескольких последних циклов.

Джастин сказал:

– Ты права. Все это время мы работали парами, но меняли партнеров так часто, что, по-моему, я успел поработать с каждым членом команды.

Даниэль спросила:

– Когда ты в последний раз засиживался допоздна?

Джастин задумался.

– Знаешь, мне придется поискать в телефоне последнее сообщение с извинениями. Давненько это было.

– Думаю, это потому, что мы стали лучше, – сказала Даниэль. – Я знаю, что теперь пишу более простой код, чем шесть месяцев назад.

– Ты права. Когда я впервые прочитал о разработке через тестирование, такая идея показалась мне чересчур абстрактной. Теперь же я вижу в ней смысл, – ответил Джастин. – Раньше мы рассуждали об этом всей командой, пытаясь убедить друг друга, что это пустая трата времени. Я не припомню, когда в последний раз мне нужно было спорить на эту тему.

Даниэль добавила:

– Самое забавное – это отсутствие ощущения, что я стала работать совсем по-другому.

Проходившая мимо Бриджит остановились и прислушалась.

– А я эту разницу чувствую, – сказала она. Джастин и Даниэль удивленно уставились на нее. Они не заметили, как она подошла. – Раньше моя работа в основном заключалась в том, чтобы убедить менеджеров продуктов дать нам больше времени. Мы всегда отставали от графика, и казалось, что любая мелочь требует нескольких месяцев работы.

Джастин спросил:

– А как теперь?

Перейти на страницу:

Похожие книги

7 стратегий для достижения богатства и счастья (Золотой фонд mlm)
7 стратегий для достижения богатства и счастья (Золотой фонд mlm)

Джим Рон (Jim Rohn) – всемирно известный философ бизнеса. Разрабатывал стратегию работы компаний Coca-Cola, I.B.M., Xerox, General Motors и других. Был личным «бизнес-тренером» Билла Гейтса. Владеет контрольным пакетом акций Dodge. С 1996 года – Исполнительный Вицепрезидент Herbalife International. По его словам, в настоящее время самая перспективная и динамичная отрасль мировой экономики – Wellness Industry, индустрия здорового образа жизни, в которой и работает.Автор книги предлагает семь уникальных стратегий для достижения успеха. Взяв их на вооружение, вы сможете контролировать свое время и финансы, научитесь меняться и стремиться к знаниям, обретете заряд энергии и желание добиться цели, окружите себя победителями.

Джим Рон

Деловая литература / Философия / Образование и наука / Финансы и бизнес
Максимум
Максимум

Стать специалистом высочайшего уровня – вопрос не только и не столько природных способностей к тому или иному виду деятельности. Мы привыкли рассуждать о врожденном таланте скрипача, математика, теннисиста, нас интригует умение запоминать длинные тексты и перемножать в уме огромные числа. Андерс Эрикссон, шведский психолог с мировым именем, профессор Университета Флориды, уверен, что нет такого навыка, который нельзя было бы развить. Человек обладает невероятными возможностями, его мозг и тело способны совершенствоваться практически до бесконечности: это доказано на примере множества выдающихся людей, проявивших себя в самых разных областях. О том, как обрести уникальные навыки и достичь профессионального мастерства, рассказывает эта книга.

Андерс Эрикссон , Аня Воронцова , Роберт Пул

Деловая литература / Самиздат, сетевая литература
Управление жизненным циклом корпораций
Управление жизненным циклом корпораций

Любая организация переживает тот же жизненный цикл, что и человек: она рождается в муках, затем наступают детство, юность, зрелость. На самом деле люди начинают стареть с момента своего рождения. То же самое происходит и с организациями.Разница этих процессов только в том, что для человека сыворотку вечной молодости еще не придумали, а для компаний она существует. Этот секрет рыночной молодости и задора изобрел один из лучших бизнес-мыслителей современности Ицхак Адизес.Эта книга – «библия» метода Адизеса. Это единственная книга, в которой автор последовательно рассматривает все три основные составляющие части своей методологии. В ней вы найдете блестящие практические рекомендации по совершенствованию управления и ответы на вопросы: почему одни компании достигают колоссального, а также устойчивого расцвета, а другие стареют и умирают? какие проблемы на каком этапе развития нормальны, а какие аномальны? как быстро диагностировать и решить управленческие проблемы? какие четыре стиля лидерства необходимы для успешного сотрудничества и руководства организацией?Книга переведена на 30 языков.

Ицхак Калдерон Адизес

Деловая литература / Финансы и бизнес