Программная инженерия

Agile для корпораций

Agile-методология стала стандартом де-факто разработки программного обеспечения, однако корпорации обычно стараются воздержаться от масштабных изменений. Вместе с тем компании, неспособные адаптироваться и освоить новые разработки, не выживут в долгосрочной перспективе. Отказ от Agile в современных условиях — фатальная ошибка. С какими проблемами сталкиваются команды разработки в крупных компаниях при внедрении agile-методик и каковы возможные пути их преодоления?

Как выбирать компоненты Open Source

На сайтах наподобие GitHub доступно огромное количество проектов Open Source, и выбрать подходящие может быть трудно. Однако задача упрощается, если оценить код кандидата и изучить процесс его создания.

Как Data Science помогает повышать качество ПО

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

Валидация автономных систем

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

Горизонтальное масштабирование команд разработчиков

Еще недавно переход от вертикального к горизонтальному масштабированию казался непозволительно дорогим, но со временем были разработаны специальные методы, затраты стали меньше, и хотя не все команды разработчиков справляются с горизонтальным масштабированием, те, кому это удается, находятся в авангарде индустрии разработки ПО.

Программист и собака

Серия катастроф физически новых авиалайнеров Boeing 737 Max, регулярно проходивших техническое обслуживание, заставила задуматься над тем, как такое стало возможным в отрасли, традиционно отличающейся высокими требованиями к сертификации по безопасности и наличием скрупулезного контроля за надежностью. Что к этому привело: низкое качество ПО, выгода в ущерб безопасности, культура разработки или все вместе?

Игнорировать, рефакторизовать или переписать?

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

Верификация и валидация ПО: технологии и инструменты

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

Баланс между наукой и практикой

Созданный только в 2014 году факультет компьютерных наук НИУ ВШЭ уже завоевал хорошую репутацию и пользуется популярностью среди абитуриентов. Какие преимущества имеются у молодого факультета перед патриархами академического образования в области computer science, чему и как учат на ФКН и где ждут его выпускников?

Об Agile по гамбургскому счету

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