Индустриальный подход к созданию ПО: методология и инструментарий
Борис Позин: «Мы совершенно не умеем работать в команде, это самый большой недостаток российских программистов» |
Согласно исследованию, проведенному аналитиками Standish Group, лишь 26% проектов в области разработки программных систем заканчивается успешно. Причин неудач множество: недостаточное вовлечение пользователей в проект, нечетко сформулированные цели, не полностью описанные требования и спецификации, их частое изменение, ошибки планирования, плохо налаженное взаимодействие между разработчиками... Но как же войти в число тех 26% счастливчиков, которым сопутствует успех?
На этот вопрос постарался ответить Борис Позин, директор департамента консалтинга и методологии создания программного обеспечения информационных систем компании «АйТи», в ходе прошедшего во время выставки SofTool семинара.
«Мы совершенно не умеем работать в команде, это самый большой недостаток российских программистов», — считает Позин. Тем не менее положение наших разработчиков не так уж безнадежно. Просто им необходимо освоить новые, индустриальные методы создания программного обеспечения. Эти методы включают в себя три составляющие: нормативную базу, методологическую основу и инструментарий.
Нормативная база уже накоплена достаточная. Это прежде всего целый ряд стандартов ISO, а также другие документы. На основе содержащихся в них рекомендаций команда разработчиков может выработать свой собственный, внутренний стандарт.
Основная проблема состоит в том, чтобы неукоснительно соблюдать принятый стандарт, не отступать от него.
Также наработана и методологическая база. В качестве примера Позин привел Rational Unified Process (RUP), методологию, разработанную в компании Rational Software. Эта методика определяет построение процесса разработки в целом и основывается на распределении ролей исполнителей ИТ-проекта, их обязанностей, сфер ответственности и заданий.
Другими словами, она формулирует, кто, что, когда делает и какие в ходе процесса разработки создает материалы и документы. Методика рассчитана на создание программного обеспечения посредством множества итераций и ориентирована на компонентную архитектуру. В рамках методологии предполагается использовать управление требованиями, изменениями, качеством и выпускать ПО отдельными версиями и релизами. По словам Позина, освоить методологию RUP не так уж и сложно. В полном объеме на это уйдет год-полтора, однако отдельные процессы могут быть освоены не более чем за один-два месяца.
Основанный на RUP инструментарий компании Rational рассчитан на то, что в коллективе разработчиков четко распределены роли участников проектов по созданию ПО. Он содержит инструментальные средства для руководителя проектов, аналитика, разработчика, специалиста, отвечающего за информационное наполнение, тестировщика и т.д. Кроме того, есть набор программных средств, общий для всех участников проекта разработки. Он играет роль единой информационной шины, обеспечивающей эффективное взаимодействие всех членов команды разработчиков даже в том случае, если эта команда состоит из нескольких географически распределенных групп.