Канбан. Альтернативный путь в Agile - [10]

Шрифт
Интервал

Концентрация на качестве

В «Манифесте гибкой разработки ПО» ничего не говорится о качестве, хотя в «Принципах манифеста»{12} ведется речь о мастерстве, что подразумевает концентрацию на качестве. Но если качество не фигурирует в «Манифесте», почему оно стоит на первом месте в моем рецепте успеха? Суть в том, что большое количество ошибок приводит к основным потерям времени в разработке ПО. Эти цифры просто невероятны, а их амплитуда может колебаться на несколько порядков.

Кейперс Джонс{13} сообщает, что в 2000 году во время пузыря доткомов он оценивал качество программ для североамериканских команд, и оно колебалось от шести ошибок на одну функциональную точку до менее чем трех ошибок на 100 функциональных точек – 200 к одному. Серединой будет примерно одна ошибка на 0,6–1,0 функциональной точки. Таким образом, для команд вполне типично тратить более 90 % своих усилий на устранение ошибок. Есть и прямое тому свидетельство: в конце 2007 года Аарон Сандерс, один из первых последователей Канбана, написал на листе рассылки Kanbandev, что команда, с которой он работал, тратила 90 % доступной производительности на исправление ошибок.

Стремление к изначально высокому качеству окажет серьезное влияние на производительность и пропускную способность команд, имеющих большую долю ошибок. Можно ожидать увеличения пропускной способности в два – четыре раза. Если команда изначально отстающая, то концентрация на качестве позволяет увеличить этот показатель вдесятеро.

Улучшение качества программ – это всем хорошо понятная проблема.

И гибкая разработка, и традиционные подходы к качеству имеют свои достоинства. Их нужно сочетать. Тестированием должны заниматься профессиональные тестировщики. Они находят дефекты и предотвращают их попадание в готовый продукт. Если вы будете просить разработчиков писать модульные тесты и автоматизировать их для автоматизированного регрессионного тестирования, то это возымеет серьезный эффект. Казалось бы, если просить разработчиков сначала писать тесты, то это дает психологическое преимущество. Так называемая разработка через тестирование (Test Driven Development, TDD) действительно, судя по всему, помогает: тестовое покрытие выглядит более полным. Стоит сказать, что дисциплинированные команды, которые я возглавлял, писали тесты уже после функционального кодирования и демонстрировали качество на уровне лучших показателей индустрии. Однако очевидно, что у средней команды качество повысится, если тесты будут написаны до функционального кода.

Рецензирование кода повышает качество. Рецензирование кода работает и в случае парного программирования, и при экспертной оценке, анализе кода или полной инспекции по Фагану. Оно помогает повысить как внутреннее, так и внешнее качество кода. Рецензирование кода лучше всего проводить часто и небольшими порциями. Я предлагаю командам ежедневно рецензировать код друг друга как минимум по 30 минут.

Совместный анализ и проектирование улучшают качество. Когда команды просят работать вместе над анализом проблем и проектированием решений, качество обычно выше. Я предлагаю командам проводить сессии совместного командного анализа и проектирования. Проектирование должно проводиться ежедневно малыми порциями. Скотт Амблер называет это agile-моделированием{14}.

Использование шаблонов проектирования повышает качество. Шаблоны проектирования заключают в себе известные решения известных проблем. Благодаря им на ранних этапах жизненного цикла становится доступно больше информации, а ошибки проектирования устраняются.

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

Более экзотические современные инструменты разработки, такие как производственные линии программных продуктов (или фабрики программного обеспечения) и предметно-ориентированные языки, устраняют ошибки. Фабрики программного обеспечения можно использовать для инкапсуляции шаблонов проектирования как фрагментов кода. Тем самым сокращается вероятность внесения ошибок в код. Можно использовать этот инструмент и для автоматического переиспользования функционала в коде, что также сокращает вероятность внесения ошибок. Использование программного обеспечения также сокращает необходимость проверок кода, поскольку фабричный код не нужно проверять заново. Его качество доказано.

Некоторые из последних предложений на самом деле относятся к области сокращения вариативности процесса. Использование фабрик программного обеспечения, а возможно, даже и шаблонов проектирования – это просьба к разработчикам изменить их образ действий. Большим прорывом может стать использование профессиональных тестировщиков, написание тестов до описания функционала, автоматическое регрессивное тестирование, рецензирование кода. И еще одно…

Сокращение объема незаконченного проектирования существенно повышает качество программ.


Рекомендуем почитать
История России для каждого образованного человека

История России, нашего Отечества, насчитывает более тысячи лет, и это богатая событиями история. Удержать в памяти каждую важную деталь невероятно сложно, но в этом поможет этот иллюстрированный справочник. Он предлагает вниманию читателя множество кратких, но емких статей, объединенных наглядным «каркасом» дат — опорных точек, по которым легко составить представление о той или иной исторической эпохе и ее героях. Речь пойдет не только о великих битвах, героических победах и трагических поражениях, но и о выдающихся открытиях мореплавателей и ученых, гениальных творениях писателей, художников и архитекторов, о замечательных личностях и простых людях.


Список гениальных книг!

Составлено гением. Для ангеловедов, читателей и потомков. Подсчитаны книжные буквы за четверть века, математический подход. Самая финальная версия от 28 декабря 2020 года.«Ты сам всё увидишь. Ибо блажен тот, кто способен видеть. И, разумеется, способен читать» (с). Андрей Ангелов.


Святой Преподобный Сергей Радонежский. Жизнеописание

«Радуйся, Духа Святаго обитель» Преподобного Сергия Радонежского именуют Ангелом Земли Русской. Его молитва собирала, защищала, оберегала Русь; его служение Пресвятой Троице воплощало идеал русского человека – идеал жизни во Христе. Житие преподобного Сергия было любимым чтением в русских семьях, оно читалось на богослужениях, а в Лавру преподобного по-прежнему стекается русский народ во дни праздников, в печали и в радости. Первое жизнеописание преподобного Сергия было составлено учеником святого – Епифанием Премудрым (первая половина XV века)


Библиографический указатель трудов сотрудников Луганской агролесомелиоративной научно-исследовательской станции УкрНИИЛХА

Указатель содержит список печатных трудов, опубликованных сотрудниками Донецкой овражной лесной опытной станции и Луганской агролесомелиоративной научно-исследовательской станции УкрНИИЛХА. В списке приведено 340 наименований книг, монографий, брошюр, статей, тезисов докладов, нормативных материалов, указаний, буклетов, информационных листков. К списку прилагается авторский указатель.


Лауреаты российских литературных премий

В современной России дело с литературными премиями обстоит не очень хорошо. Вернее, они существуют, но не несут требуемого от них определяющего значения. Каждая из них — своё собственное направление, выбирающее литературу по заранее заданным условиям. Поэтому, дабы помочь читателю ориентироваться в мире российских литературных премий, выпущено данное издание. Первоначально взяты для рассмотрения лауреаты следующих премий: Русский Букер, Национальный бестселлер, Ясная поляна, Большая книга и НОС.


The Question. Самые странные вопросы обо всем

– Бывают ли крокодилы добрыми? – Кто на самом деле победил на выборах президента в 1996 году? – Может ли в мозгу закончиться место для памяти? – Почему в пупках возникают катышки? – Каково было учиться в советской школе? Эти и другие вопросы задавали пользователи сервиса The Question, а мы в течение последнего года каждый день искали тех, кто даст ответы. В этой книжке 297 самых странных вопроса. Мы не гарантируем, что вы станете умнее, если прочитаете ответы на них, но, по крайней мере, о потраченном времени вы не пожалеете. Книга может вызывать острые приступы любопытства.