ЖУРНАЛ «СТА» 4/2012

26 СТА 4/2012 ОБЗОР /ВСТРАИВАЕМЫЕ СИСТЕМЫ www.cta.ru В ВЕДЕНИЕ Множество ИТ-компаний на сего- дняшний день уже внедрили итера- ционные методы разработки ПО и ак- тивно пользуются их преимуществами. Укороченный цикл проектирование– разработка–тестирование, свойствен- ный итерационным методикам (Agile, scrum, extreme programming и т.п.), спо- собствует более эффективному реаги- рованию на изменения в требованиях, а также позволяет разработчикам опера- тивнее получать обратную связь по во- просам качества. Изменения в рабочем процессе разработчиков и тестировщи- ков, привносимые Agile и прочими ите- рационными методиками, дают менед- жерам более прозрачную картину теку- щего состояния дел, что, в свою оче- редь, ведёт к более реалистичным рабо- чим планам и более предсказуемым гра- фикам выпуска продукта. А поскольку основной упор в Agile делается на каче- ство продукта, то, кроме сокращения сроков разработки и производственных издержек, его применение позволяет добиться также и снижения числа де- фектов. Однако при всех положительных каче- ствах итерационных методик в инду- стрии встраиваемых приложений их внедрение явно запаздывает. Модуль- ный дизайн, сложные технологии, кросс-разработка, необходимость тести- рования на реальной системе и прочие особенности встраиваемого ПО – всё это создаёт на пути внедрения итера- ционных методик ощутимые трудности. В настоящей статье рассказывается о преимуществах итерационных методик разработки ПО и о том, почему они вос- требованы на современном рынке. В качестве примера рассматривается модель тест-ориентированной разра- ботки (Test Driven Development – TDD) и сопутствующая технология непрерыв- ной интеграции (Continuous Integrati- on – CI), а также приводится вариант их адаптации для индустрии встраиваемо- го ПО. Описываются типовые трудно- сти, связанные с переходом к модели TDD, и стратегии, инструменты и тех- ники, помогающие их преодолеть. В более широком смысле статья со- держит ряд полезных рекомендаций для коллективов о том, как можно приме- нить имеющиеся наработки для адапта- ции к своему рабочему процессу новых методик, признанных многими колле- гами в смежных областях как высоко- эффективный инструмент повышения качества продукта и стабилизации ра- бочего графика. П ОЧЕМУ A GILЕ ? Самая важная задача, стоящая перед разработчиками, тестировщиками и ме- неджерами, – это разрабатывать ПО максимально высокого качества, со- блюдая баланс между сроками выпуска, функциональностью и затратами. Од- нако опыт показывает, что традицион- ные линейные методологии разработки ПО, известные как «водопад» и «V-мо- дель», зачастую приносят прямо проти- воположный результат. Проекты не- избежно сталкиваются с текучкой тре- бований и изменениями рыночных условий; в результате в самый разгар ра- боты приходится принимать незапла- нированные решения. Как следствие, результат зачастую не оправдывает ожиданий: количество дефектов вели- ко, часть функций пришлось исклю- чить, бюджет превышен, сроки сдачи сорваны, клиенты недовольны. Почему же линейный подход, каза- лось бы, десятилетиями служивший ве- рой и правдой, сейчас создаёт разработ- чикам столько проблем? Ответ прост: линейные методики не обеспечивают достаточной гибкости, чтобы удовле- творять современным условиям разра- ботки ПО, таким как ● растущие объёмы кода; ● часто меняющиеся требования; ● сложности интеграции и отладки; ● новые сложные аппаратные архитек- туры; ● сжатые сроки тестирования. (Справедливости ради следует заме- тить, что автор здесь немного передёр- Применение итерационных методик для тестирования встраиваемого ПО Пол Хендерсон, Джеймс Греннинг В статье рассказывается о преимуществах итерационных методик разработки ПО, в частности, Agile, и о том, почему они востребованы на современном рынке. В качестве примера рассматривается модель тест-ориентированной разработки и сопутствующая технология непрерывной интеграции, а также приводится вариант их адаптации для индустрии встраиваемого ПО. © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy