Наш ориентир разработки лучших практик показывает улучшение кухонного питания
Следуя лучшим практикам или набрав вслепую?
Автоматизация развертывания быстро набирает землю. Отставание груминг усовершенствован дальше. Код контроля качества и автоматическое тестирование улучшаются, но все еще не полностью приняты большинством команд. Это всего лишь 3 из уроков, которые мы узнали из ежегодной повторной калибровки нашего ориентира лучших практик.
Читайте на некоторых интересных Статистика И что они говорят нам о том, где развивается разработка программного обеспечения. Бонус в конце: быстро Самооценка позорить свою собственную команду.
Каковы лучшие практики развития?
Более 15 лет, мои коллеги и я на Группа по улучшению программного обеспечения (SIG) были в бизнесе оценки качества кода, архитектуры и практики развития для наших клиентов.
Мы начали только с тем, что дали экспертное суждение, основанное на том, что мы наблюдали, и то сказал нам наше собственное программное развитие Гут.
Когда мы собрали больше наблюдений и набрали больше опыта, мы решили вытащить наши научные навыки (🎓) и построить структурированную модель оценки. Модель собирает серию проверок, на которых реализуется практика развития данной командой, но также устанавливает пороговые значения для того, чтобы команды полностью применяют эти практики, частично, или нет вообще. Теперь мы использовали эту модель в течение ряда лет, чтобы предоставить команды с объективными обратными ресурсами и сравнения против сверстников.
Десять лучших практик для эффективного развития программного обеспечения. Мы описали нашу структурированную модель оценки для достижения лучших практик разработки программного обеспечения в @Oreillymedia. Книга «Строительные программные команды».
Годовые обновления модели оценки
Примерно один раз в год мы обновляем наш базовый репозиторий с наблюдениями и оценками, которые мы собрали в течение прошедшего года и используем эти дополнительные данные для настройки модели.
Этого ежегодного обновления также является превосходным моментом для изучения данных и поиска тенденций. Мы становимся лучше в разработке программного обеспечения? Мы только что закончили последнюю калибровку, и вот то, что мы узнали о тенденциях в области дальнейших практик.
Урок № 1: больше команд примените автоматизацию развертывания
Мы измеряем практику автоматизации развертывания, глядя на то, есть ли команда в развертывании на месте, который быстрый, повторяемый и предпочтительно полностью автоматизированный.
Например, команда, которая развертывает каждый новый выпуск одним нажатием кнопки, получила идеальную оценку на эту практику, кодифицированную как полностью применено . Но команда, которая должна пройти через ограниченное количество хорошо документированных ручных шагов, будет забита как частично применяется .
Больше команд полностью применить автоматизацию развертывания (43%, было 30%), а меньше команд не применяют автоматизацию развертывания вообще (11%, было 26%).
Как показывает диаграмма, больше команд применяют методы автоматизации развертывания полностью (43%, было 30%), а меньше команд не применяют автоматизацию развертывания вообще (11%, было 26%).
Это значительная положительная тенденция, которая отражается тенденциями в Непрерывная интеграция (Автоматическая компиляция и тестирование после каждого изменения) и Непрерывная доставка (Автоматическое развертывание после каждого изменения), как показано на следующих графиках.
Полное или частичное принятие непрерывной интеграции (в настоящее время 68%) значительно улучшилось, но все еще отстает по сравнению с автоматией развертывания (в настоящее время 89%). Для непрерывной доставки усыновление также значительно улучшилось, но все же имеет долгий путь (в настоящее время 29%).
Хотя тенденции этих двух практик одинаково положительны, их принятие все еще отстает отставать. И особенно для непрерывной доставки, великое большинство команд (и организаций которых они являются частью) до сих пор имеют долгий путь.
Урок № 2: Почти все команды женихают свои отставания
Почти все команды (95%, составляли 92%) поддержания продуктов и спринт. Выполнены и значительно большая часть команд применяет эту лучшую практику полностью (80%, было 71%).
Лучшая практика ухождения отставания уже наслаждалась высоким усыновлением, причем 71% команд усердно поддерживают как продукты, так и спринты, а 22% делают так, по крайней мере, частично. Когда команды усовершенствовали их отставание за ухожению, полное усыновление увеличилось до 80%. Только небольшой процент команд (5%, от 8%) вообще не делает никакого отставания.
На самом деле, самые лучшие практики Agile-Scrum, которые мы оцениваем, показали улучшению или стабильное высокое усыновление. С одним небольшим исключением:
Больше команд не прилипают к дисциплине проведения всех встреч, предписанных Scrum (15%, вверх с 11%).
Как показывает диаграмма, меньше команд, кажется, придерживаются дисциплины проведения собраний, предписанных Scrum (планирование, ежедневное стендущее, обзор, ретроспектива). Это может не быть плохой вещью На по себе , поскольку более опытные команды рекомендуются адаптировать свои встречи ритмы для своих собственных потребностей.
Урок № 3: Контрольный контроль качества и тестирование улучшается
Меньшее количество команд не способствует обеспечению обеспечения постоянных стандартов качества кода (20%, снизившись от 25%). Меньше команд не удается запустить автоматический тест при каждом фиксации (41%, снизившись с 48%).
Контроль качества является неотъемлемой частью профессионального разработки программного обеспечения. Тем не менее, лучшие практики контроля качества кода и автоматического тестирования все еще полностью применяются только меньшинством команд.
Чтобы оценить контроль качества кода, мы наблюдаем, работает ли команда с четкими стандартами кодирования, систематически отзывы кодированных (против этих стандартов и против принципов хорошего дизайна), и проводится ли проведенные проверки качества кода. Полное принятие контроля качества кода несколько увеличилось (31%, вверх с 23%), но Еще 20% команд производят код без адекватного контроля качества на месте .
Для оценки практики тестирования мы наблюдаем, у нас есть ли команда автоматизированной регрессии, который выполняется последовательно после каждого изменения. Полное усыновление этой практики увеличивается (33%, вверх с 29%). Процент команд, которые изменяют свой код без надлежащего регрессионного тестирования, быстро уменьшаются, но все еще потрясающий 31% (вниз с 48%).
Становиться лучше?
Итак, наш вопрос: Мы становимся лучше в разработке программного обеспечения? можно ответить: Да, но в скромном темпе.
Для некоторых практики иглы, похоже, не двигались слишком много за прошедший год (например, документируя достаточно, управляя сторонним компонентами, используя умные требования и ориентированные на цели метрики). Я не буду оторвать вас с плосколичными чартами.
Мы видим значительный прогресс по ряду практики, особенно автоматизации развертывания, непрерывной интеграции, контроль качества кода и автоматизированное тестирование. Это невероятно хорошие новости!
Но мы еще не там. Лично я немного шокировал, что Менее 1 в 3 командах разработки программного обеспечения следуют качества и тестированию лучших практик, Поскольку принятие этих лучших практик может принести немедленные преимущества с ограниченными усилиями.
Менее чем 1 в 3 командах разработки программного обеспечения следуют качественным и тестированию лучших практик
Что ты можешь сделать?
- Оцените свою собственную команду: Если вы хотите узнать больше или хотите, чтобы ваша команда оценивалась нами, вытащите мне строку. Чтобы сделать быструю самооценку, вы можете взять этот опрос
- Будьте в курсе тенденций качества программного обеспечения : Если вы заинтересованы в том, чтобы узнать больше о долгосрочных тенденциях большего количества аспектов качества программного обеспечения, вам повезло. Предполагается 10-летняя ретроспектива качества программного обеспечения SIG. Следуйте за мной здесь на среднем или в Twitter, если вы хотите быть уведомлены, когда он выйдет.
Joost Visser CTO в Группа по улучшению программного обеспечения (SIG), профессор крупномасштабных программных систем в Университете Радбуда, автор книг O’Reilly Программное обеспечение для ремонты по строительству и Строительные программные команды и ведущий Лучшая кода Hub Команда на SIG.
Благодаря Лодвийк Бергманс Для хрустящих и графических данных!
Оригинал: «https://dev.to/jstvssr/are-we-getting-better-at-software-development-4gc0»