Скрам - [7]
Разработка комплексного программного обеспечения
Разрабатывая программное обеспечение, я создаю набор логически взаимосвязанных инструкций, которые посылают сигналы, управляющие аппаратурой и ее взаимодействием с другими аппаратами, людьми или окружающей средой. Уровень точности, необходимый для успешного функционирования ПО, варьируется от невероятного до по-настоящему пугающего. Любой из этих объектов может оказаться комплексным. А когда эти комплексные объекты вступают во взаимодействие, уровень сложности зашкаливает. Рассматривая далее комплексную природу разработки программного обеспечения, давайте ограничимся тремя наиболее важными измерениями: требованиями, технологиями и людьми.
Требования к программному обеспечению бывают и простыми. Допустим, существует всего лишь один клиент, который будет единственным пользователем системы. Он может провести достаточное количество времени с разработчиком, чтобы четко согласовать то, что нужно создать. Предположим, что этот клиент, к несчастью, умирает сразу после подтверждения своих требований. В этом случае его требования остаются неизменными в ходе разработки: нет корректировок, пересмотров, уточнений, модификаций в последнюю минуту. Однако обычно заинтересованных лиц (тех, кто заинтересован в программном обеспечении и деталях его реализации) много. У них разные потребности, эти потребности трудно однозначно сформулировать, и они часто меняются. В большинстве случаев клиенты начинают понимать, чего хотят, только когда другие люди демонстрируют им, как поняли их желания. Их требования такие комплексные не только из-за своей неоднозначности, но и из-за постоянной изменчивости.
Технологии тоже бывают простыми, но такие редко используются в разработке программного обеспечения. Проектам по разработке ПО можно дать такое определение – это применение передовой, часто ненадежной технологии для решения бизнес-задач и достижения конкурентных преимуществ. К тому же обычно одновременно используется более одной технологии, каждая из них – комплексная, а друг с другом они взаимодействуют посредством еще более комплексных интерфейсов.
На рис. 1.1 вертикальная ось показывает комплексность требований, а горизонтальная – комплексность технологии. Пересечение этих двух видов комплексности определяет общий уровень комплексности проекта. Почти все проекты разработки программного обеспечения сегодня – комплексные. А некоторые даже хаотичны, но в них невозможно работать, пока часть сложностей не будет устранена.
Третье измерение комплексности – люди, разрабатывающие программное обеспечение. У всех разные интеллектуальные способности, навыки, опыт, точки зрения, взгляды, убеждения и предрассудки. В зависимости от качества и количества сна, состояния здоровья, погоды, соседей и отношений в семье каждый человек каждое утро просыпается в настроении, непохожем на вчерашнее. Затем эти разные и переменчивые люди начинают работать вместе, и уровень комплексности зашкаливает. Принимая во внимание третье измерение комплексности – людей – в дополнение к технологиям и требованиям, я считаю, что последний «простой» проект случился в 1969 году, когда один человек из отдела обработки заказов в Sears Roebuck попросил меня отсортировать несколько карточек и создать отчет на IBM 360/20. С тех пор все становится более беспорядочным. Скрам помогает решать проблему комплексности проектов разработки программного обеспечения с помощью эмпирического процесса, включая обязательные требования его прозрачности, инспекции и адаптации, а также с помощью набора простых практик и правил, которые описаны в следующих разделах.
Скелет и сердце скрама
Все практики скрама держатся на скелете итеративно-инкрементального процесса. Он изображен на рис. 1.2. Нижний круг представляет собой итерацию разработки программного обеспечения. Итерации следуют одна за другой. Содержание работы в каждой итерации основывается на списке требований. В результате каждой итерации получается инкремент продукта. Верхний круг представляет собой ежедневную инспекцию в ходе итерации: участники команды разработки собираются вместе для инспекции работы, выполненной каждым за день, и для принятия мер по адаптации дальнейшей работы. Цикл итераций завершается, когда проект перестает финансироваться.
Рассмотрим устройство скелета. В начале итерации команда разработки анализирует, что она должна сделать. Затем выбирает требования, которые сможет к концу итерации превратить в инкремент готовой к поставке[6] функциональности. В ходе итерации команда прилагает для этого все усилия, а любые заинтересованные лица не отвлекают команду до конца итерации. По завершении итерации команда разработки демонстрирует созданный за итерацию инкремент продукта, чтобы заинтересованные лица могли произвести его инспекцию и соответствующие адаптации в проекте могли быть произведены своевременно.
Сердцем скрама является итерация. Команда изучает требования, рассматривает доступные технологии и оценивает свои собственные возможности и навыки. Затем сообща определяет, как она будет создавать запланированную функциональность. Сталкиваясь с новыми трудностями и неожиданностями комплексного окружения, команда разработки ежедневно изменяет свой подход к работе. Команда выясняет, что нужно реализовать за итерацию, и самостоятельно выбирает лучший способ сделать это. Этот творческий процесс – основа продуктивности в скраме.
Прочитав эту книгу, вы познакомитесь с методикой Scrum и узнаете, как этот нестандартный подход работает и как начать применять его в своем бизнесе на примере процесса разработки программного обеспечения. Гибкие технологии Agile и Scrum позволят вам осуществить то, что раньше казалось абсолютно невозможным, – создать полноценный работающий программный продукт всего за 30 дней. Эта книга поможет руководителям и менеджерам компаний, которые хотят покончить с дорогим и медленным циклом разработки ПО. На русском языке публикуется впервые.
Джеральд Вайнберг, исходя из своего более чем 50-летнего опыта работы консультантом, делится своими выводами, как запустить и успешно вести свой собственный консалтинговый бизнес. Благодаря использованию юмористичных Правил, Законов и Принципов — таких как Закон малинового варенья, Принцип картофельных чипсов, Правило Руди о брюкве — автор показывает, как, оставаясь самим собой, находить клиентов, завоевывать доверие и устанавливать правильную цену на свои услуги, о которой потом не придется жалеть. Если вы консультант, когда-либо пользовались услугами консультанта или хотите быть одним из них, эта книга будет вам полезна.
Как и Тома Пикетти, который жестко критиковал капитализм, но при этом положительно его оценивал, бывший главный финансовый директор Группы Всемирного банка Бертран Бадре показывает деструктивную роль финансов в глобальном экономическом кризисе 2007–2008 гг. и предлагает смелый рецепт – использовать их во благо. Бадре объясняет, как с помощью финансов решить многие важнейшие проблемы мира – климатические изменения, бедность, восстановление инфраструктуры и многое другое. Он пишет: «Если использовать их с умом, человеколюбием, находчивостью и изобретательностью, финансы способны на великие свершения».
Хотите попросить повышение? Или сообщить подчиненному, что вас не устраивает качество его работы? Благодаря этой книге вы станете настоящим экспертом в разговоре на сложные темы: научитесь подбирать нужные слова, удачный тон и правильное время для бесед. Всего за одну неделю вы подготовитесь к разговору, мысль о котором вселяла в вас панику многие месяцы.
Если вам необходимо принять жизненно важное решение, вы нашли эту книгу в нужный момент! Когда предстоит сделать судьбоносный выбор – вступить ли в брак, переехать в другую страну, сменить работу или завести ребенка (подставьте ваш вариант) – списки «за» и «против» окажутся бесполезными и только еще больше введут в заблуждение. Верное решение находится внутри вас самих, и отыскать его поможет метод Эмили Фриман, известной писательницы и коуча. Пройдя несколько простых шагов, вы научитесь лучше понимать себя и осознаете, что вам действительно нужно и чего вы хотите по-настоящему.
В этой книге отражен результат 15-летнего исследования стратегического лидерства Hewlett Packard. Реальный опыт успешного применения принципов антихрупкости на практике, которые позволили компании выстоять против кризисов XX и XXI века.
В этой книге Пол Смит, директор по коммуникациям и потребительским исследованиям в Procter & Gamble и популярный спикер, рассказывает, как наиболее эффективно использовать силу историй. Автор уверен: каждый может стать блестящим рассказчиком. Пол Смит предлагает сотню готовых историй на все случаи жизни, которые помогут вам привлекать внимание, вдохновлять и мотивировать. Книга предназначена для всех, кто хочет воодушевлять и убеждать любую аудиторию. На русском языке публикуется впервые.