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

Сегодня мы наблюдаем, как во всем мире постепенно отмирает 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 года. Свен Йохан и Эберхард Вольф обсуждают внутреннее и внешнее качество ПО, вспоминают общепринятые модели качества и стратегии, направленные на поддержание внутреннего качества ПО. Технический долг, в основном, рассматривается в контексте управления программными проектами.

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

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

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

Мы постоянно обсуждаем бесплатные IT-курсы типа coursera, радуемся когда выходит новый интересный материал, стараемся направлять в эту струю коллег, студентов. Ведь знания — вот они, лежат просто у ног, возьми да и пользуйся. Мои друзья решили сделать вклад в это направление и организовать тренинг QA-автоматизаторов по серьезному, с отбором и курсом на качество. Что вышло в итоге можно прочитать под катом от первого лица.

Как мы на энтузиазме автоматизаторов обучали
Читать полностью »

Мне приходится очень много читать код. Это и open source, и всяческие фреймворки, и код enterprise приложений. Именно о последних я хотел бы сегодня поговорить.

Большая часть кода enterprise приложений — отстой. Приложения глючат и тормозят, их сложно тестировать, постоянно проблемы с развертыванием и обновлением. Это как бы никого не удивляет.

Но удивляют люди, написавшие отстойный код. Эти люди, с немалым опытом, знают несколько языков, прочитали много книг, знают ООП, SOLID, рефакторинг, паттерны и другие малопонятные слова. То есть примерно такие, как многие из вас, читающих этот пост.
Читать полностью »