Записи

В совре­менных условиях вопрос качества постав­ля­емого на рынок программного обеспе­чения стано­вится все более актуальным — с ростом количества компаний-разра­бот­чиков, а также незави­симых коллек­тивов програм­мистов, готовых предо­ставить потре­би­телям готовый продукт, заинте­ре­со­ван­ность в скорейшем выводе в продажу коммер­че­ского решения возрастает. Часто в погоне за прибылью ключевые проблемы разра­ботки ПО уходят на второй план — сроки одерживают верх в борьбе за высокое качество программных решений. Отметим основные факторы, оказы­вающие негативное влияние на качественные показатели выпус­каемых на рынок программ.

Раз проблема, два проблема

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

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

Пути решения

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

1. Анализ требований

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

2. Анализ и сквозной контроль кода

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

3. Сесси­онное тестирование

Методика сесси­онного тести­ро­вания, предло­женная одним из ведущих специ­а­листов в области програм­ми­ро­вания Джеймсом Бахом, позволяет осуществлять качественную проверку работо­спо­соб­ности созданного решения. В отличие от техно­логии поиска “точечных” недора­боток кода, при сесси­онном тести­ро­вании тести­ровщик получает свободу действий, пытаясь выявить необычные дефекты, факти­чески моделируя поведение предпо­ла­га­емого пользователя.

IT-аутсорсинг поможет

Наиболее эффек­тивным путем решения проблем при разра­ботке ПО является обращение к профес­си­о­нальным “аутсор­серам”, предо­став­ляющим услуги IT-аутсор­синга в сегменте создания программного обеспе­чения. Ключевыми моментами стано­вятся правильно состав­ленное техни­ческое задание, отражающее требо­вания и потреб­ности обеих сторон согла­шения, а также установка наиболее оптимальных сроков испол­нения заказа. При этом разра­ботчики обязаны доказать обосно­ван­ность продления сроков реали­зации проекта в случае необхо­ди­мости, чтобы достичь высокого качества конечного продукта. Только в этом случае качество одержит победу над сроками.