Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
вывести субъективные закономерности.
Проблема scrum в том, что в нём в качестве определяющей аксиомы написано «мы знаем, что хотим получить до того, как ткнём start progress». Когда цель ясна, дальше её можно дробить до состояния «нельзя не выполнить».
Для какого это языка?В общем, для любого; принцип — про физическую обозримость, а не про функциональность. Метод должен охватываться взглядом и влезать в один экран. Если на каких-то языках существенная логика в экран не влазит — значит, горе таким языкам, только и всего.
А компания оказывается в предбанкротном состоянии.Вопрос — а не было ли именно это настоящей целью?
Измеряйте размер тестов. Тестовые методы должны быть от пять до двадцати строк кода. Общее количество тестового кода должно быть примерно равно количеству продуктового кода.— откуда такая средняя температура по больнице? как количество строк вообще влияет на качество тестов?
Измеряйте скорость тестов. Тесты должны отрабатывать быстро; минуты, а не часы. Поощряйте за быстрые тесты.не согласен, тест должен быть качественным. При нормальном CI с Gated Commit надо просто делать набор быстрых тестов для проверки коммитов, а полные жирные тесты гонять по ночам. А уж судить о том хорошо тест или нет по скорости его работы — это неправильно.
Измеряйте хрупкость тестов (Прим. пер.: test breakage). Тесты должны быть разработаны таким образом, чтобы изменения в продуктовом коде приводили к небольшим поломкам тестов. Если большая часть тестов падает, когда изменяется продуктовый код, то тесты требуют рефакторинга (Прим. пер. test design needs improving).изменеия в продуктовом коде не должны ломать тесты, на то они и тесты чтобы делать автоматический регресс. Если делаются изменения логики обработки, то это скорее сработавший архитектурный риск. Считаю что трата времени на продумывание менее хрупких тестов — это потеря. Хотя может у кого есть факт из реальной жизни, когда на правку тестов выходило больше времени, чем на продумывание менее хрупких?
Измеряйте размер функций и классов. Средняя функция должна иметь менее 10 строк кода. Функции длиннее 20 строк надо разбивать. Классы более 500 строк следует разбивать на два и более классов. Измеряйте корреляцию Брейтвэйта, она должна иметь значение более 2.это практика XP по созданию чистого кода. Тут скорее надо смотреть на читаемость а не на количество строк
Измеряйте метрики зависимостей. Убедитесь, что нет циклических зависимостей. Убеждайтесь, что поток зависимостей идет в направлении абстрагирования, в соответствии с принципом обращения зависимостей и принципом стабильных абстракций (Прим. Принцип стабильных абстракций: пакеты, которые максимально неизменчивы, должны быть максимально абстрактными. Изменчивые пакеты должны быть конкретными. Абстрагированность пакета должна быть пропорциональна его изменчивости.). главное в этом не увязнуть. Нам нужен продукт а не офигенно абстрагированные пакеты.Подсчитывайте число дней в которые сборки упали в этом месяце. Поощряйте за месяцы без падений. Измеряйте время, пока неисправности остаются неустраненными.вперёд изучать 6 Sigma, метрика вообще ниочем.
Измеряйте «завершенность», запуская тесты на системе непрерывной интеграции и следите за историями тестирования, которые прошли или упали. Используйте это как основу показателя производительности и прогресса команды. Внедрите правило, что user story не считается законченной, пока соответствующая история тестирования не пройдет тест, и никогда не позволяйте ломаться тестам, которые уже прошли.а вы принимаете стори с нерабочими тестами? или сломанным регрессом? Это надо не вводить правило. Оно должно быть изначально
Остров, о котором забыл Scrum