Япония в этом плане не слишком отличается от Индии. В Европе же гораздо чаще применяют методику микроциклов, больше развит выпуск бета-версий с независимым бета-тестированием. Таким образом, очевидна тенденция перевода «человекоемких» технологий в страны с дешевой рабочей силой и активное применение новых «технологических» (вроде кодогенераторов) решений вкупе со стремлением к сокращению сроков разработки в европейских странах.



Япония, со своей традиционной методикой разработки ПО, стоит как бы в стороне, однако можно отметить высокий уровень организации бизнес-процессов, что отличает ее от Индии. Поэтому Япония имеет одно важное преимущество перед другими мировыми центрами разработки: при очень высоком уровне производства кода (почти 500 тысяч строк в месяц на человека, тогда как в Европе 436 тысяч, в Индии - всего 209 тысяч) поддерживается минимальный уровень ошибок - меньше 0,02 (!) ошибочных строчек на тысячу (в США - 0,4, в Индии - 0,26). Добиваются они этого активным повторным использованием уже отлаженного кода и наличием детальных описаний проектов.

Анализируя результаты работы компаний, исповедующих различные подходы к организации процесса, можно выделить следующие факты. Компании, выпускающие первый прототип, обладающий всего лишь 20% функциональности, в итоге уменьшали количества ошибок на 27%. Далее, регрессионное тестирование снижает количество ошибок на 36%, уточнение архитектуры конечного продукта на каждом этапе дает 55% снижения. Кстати, ранний выпуск работающих прототипов повышает общую производительность программистов на 35%. А если прототипы выпускаются ежедневно, то она вырастает почти вдвое - вот какой эффект имеет осязаемость результатов своего труда!

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



116 из 135