Рубрика «качество»

Стоит ли высокое качество ПО затрат на его разработку? - 1

Часто в процессе реализации проектов команды сталкиваются с вопросом: чему следует уделять больше внимания – выпуску новых фич или повышению качества кода? Обычно менеджеры делают выбор в пользу фич. Зачастую разработчики таким положением дел недовольны, считая, что им выделяется недостаточно времени для работы над архитектурой и качеством кода.

Закон Беттериджа гласит: «На любой заголовок, который заканчивается вопросительным знаком, можно ответить словом нет». Те, кто знаком со мной лично, знают, что я не разделяю эту мысль. Но в этой статье я хочу пойти ещё дальше и доказать, что постановка вопроса из заголовка этой статьи просто не имеет смысла. Такая постановка вопроса предполагает, что существует компромисс между затратами и качеством. И необходимо постоянно соблюдать баланс. В этой статье я докажу, что к миру разработки компьютерных систем этот компромисс не применим и, в действительности, создавать ПО высокого качества оказывается в конечном счёте дешевле.

Несмотря на то, что основная целевая аудитория статьи это разработчики, для её понимания не требуется специальных знаний. Мне бы хотелось чтобы эта статья принесла пользу всем, кто так или иначе связан с процессом разработки, а особенно менеджерам, которые формируют вектор развития продуктов.
Читать полностью »

Привет!

У нас новая важная тема — качественная разработка IT-продуктов. Мы часто говорим на HighLoad++, как сделать нагруженные сервисы быстрыми, а на Frontend Conf — классный пользовательский интерфейс, который не тормозит. У нас регулярно есть темы про тестирование, и DevOpsConf про объединение разных процессов, включая тестирование. А про то, что можно назвать качество в целом, и как над ним комплексно работать — нет.

Исправим это на QualityConf — будем развивать культуру думать о качестве конечного продукта для пользователя на каждой стадии разработки. Привычку не зацикливаться на своей зоне ответственности, и ассоциировать качество не только с тестировщиками.

Под катом поговорим с главой программного комитета, руководителем тестирования в Тинькофф.Бизнес, создателем русскоязычного QA-сообщества Анастасией Асеевой-Нгуен о состоянии отрасли QA и миссии новой конференции.

Кто ответит за качество? - 1
Читать полностью »

Сегодня мы наблюдаем, как во всем мире постепенно отмирает waterfall-модель разработки. Ее не любят за тяжеловесность и плохую реакцию на изменения. Это напрямую влияет на актуальность продукта и увеличивает ТТМ (time-to-market), выливаясь в дополнительные затраты. Разработчики перестраиваются на рельсы agile, и мы здесь не исключение.

Методология agile изначально создавалась для маленьких команд, которые делают продукт под ключ в режиме end-to-end и сами отвечают за его качество. Но как быть, если разрабатываешь высококритичные банковские системы, над которыми трудятся десятки agile-команд? Как достичь той уверенности в продукте, которую дает долгое, исчерпывающее тестирование как в waterfall? В этом посте мы поделимся своим решением этого вопроса.

Кто ответит в agile за качество разработки сложных проектов, или методология Quality Gates - 1
Читать полностью »

Весной-летом 2017 года Роскомнадзор протестировал мобильных операторов и опубликовал результаты на качествосвязи.рф. В итоге по успешным голосовым соединениям и скорости мобильного интернета лучшим оказался МегаФон. При этом тестирование интернета проводилось терминалами Cat.4 (до 150 Мбит/с), а в начале августа мы первыми в России запустили Gigabit LTE (до 1 Гбит/с). Так что при тестировании устройствами Cat.6 и быстрее разрыв с конкурентами мог бы быть еще больше. В этом посте мы расскажем, как добиваемся таких результатов.

Ежики на колесах: как мы поддерживаем качество связи в Москве - 1

Читать полностью »

О том, что клиентов приводит интернет – знает каждый предприниматель не понаслышке. Чем привлекательнее лицо бизнеса в сети, тем выше шансы на успех и шире перспективы развития. Это же очевидно! Но как именно работают инструменты продвижения в Интернете, насколько они действенны и окупаемы?

Большинство рекламодателей имеют размытое представление обо всех этих механизмах, а значит уверенности в положительном результате работы нет и быть не может. Сомнения возрастают в разы, когда направление интернет-развития отдается на аутсорсинг. Усугубляется недоверие и тем, что любые данные можно преподнести в выгодном свете, жонглируя ими и интерпретируя в выгодном подрядчику ключе.

И все-таки, как среди такого многообразия агентств и предлагаемых ими услуг выбрать «свое» и на 100% быть уверенным в эффективности его работы и результативности рекламной кампании?

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

Думаю никто не станет спорить с тем, что качество сколь-либо сложных систем создаваемых землянами далеко от идеала.
Конечно, можно сказать, что всё работает — самолёты летают, космические корабли бороздят просторы орбиты Земли т.д.
Но при этом все привыкли к тому, что ПО на их устройствах работает непредсказуемо, через раз, что даже установка самых последних обновлений не гарантирует отсутствия проблем с безопасностью, что часто в открытом, массово используемом коде находят ошибки существующие там много лет, что даже у крупных и «технологических» компаний бывают сбои и утечки данных, что космические аппараты разбиваются или теряют часть функциональности вовсе не из-за козней инопланетян (марсиане клянутся что не сбивали ExoMars).
Хотелось бы рассмотреть причины и возможные пути решения этой планетарной проблемы.
Читать полностью »

Главные характеристики качественного кода - 1

Как часто вы поражаетесь, читая чужой код, и думаете «господи, ну и каша...». Скорее всего, достаточно часто. И можете ли вы быть уверенным, что никто не думал также когда читал ваш код? Другими словами, насколько вы уверены в чистоте своего кода? Можно быть уверенным только если полностью понимаешь, что значит чистый код.

Сложно дать точное определение чистому коду, и, скорее всего, сколько программистов — столько определений. Однако, некоторые принципы достаточно универсальны. Я собрал девять самых релевантных и описал ниже.

1.Плохой код делает слишком много, чистый код сфокусирован

Каждый класс, метод и любая другая сущность должна оставаться неискаженной. Она должна следовать принципу единственной обязанности. Вкратце, можно сказать так: если подумать о причинах изменения класса, то нельзя придумать больше одной хорошей причины.

Но я бы не ограничивал определение классами. В свой последней статье Ральф Вестфал (Ralf Westphal) представил более широкое определение принципа единственной обязанности:

Функциональная единица на определенном уровне абстракции должна отвечать за один аспект требований системы. Аспект требований это признак или свойство требования, которое может изменяться независимо от других аспектов.
Читать полностью »

image
Как избежать позора на ровном месте – наглядное пособие

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

Что такое технический долг? Можно ли понимать его, как плохое исполнение разработчиками своих обязанностей? Возможно ли избежать появления технического долга, и следует ли его избегать? Как связан технический долг с архитектурой приложения и с доверием между заказчиком и исполнителем? Какие стратегии применяются для контроля технического долга?

Предлагаю вашему вниманию перевод интервью, вышедшего в подкасте «Software Enginering Radio» в апреле 2015 года. Свен Йохан и Эберхард Вольф обсуждают внутреннее и внешнее качество ПО, вспоминают общепринятые модели качества и стратегии, направленные на поддержание внутреннего качества ПО. Технический долг, в основном, рассматривается в контексте управления программными проектами.

Читать полностью »

Данный пост является ненаучными комментариями к статическому анализу неких графиков (которые всё равно нельзя публиковать, потому что они ДСП). Все факты вымышлены, все имена изменены.

Представьте, идёт строительство дома…
Читать полностью »