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

Сегодня сердца уже больше не храбрые, все ставки исключительно финансовые, а качество требуют только от бухгалтерского учета
Источник: Electrohype

«В компании, где я работал, решили ввести Capability Maturity Model для разработки ПО. Обязательный элемент модели — установить поддающиеся оценке критерии, основанные на принятом в организации определении качественного ПО. В компании предложили два таких критерия: «вовремя» и «в рамках бюджета». То есть это были единственные показатели качества. И ничего о том, что функциональность ПО должна соответствовать назначению, ничего о стабильности, безопасности или хотя бы о том, чтобы код компилировался. На каждом программном проекте CMM-задачи компании выполнить было легко: просто предоставить то, что вы успели, пока у вас не кончились деньги или не вышло время».

Эта история — прекрасная иллюстрация проблемы. По крайней мере, если вы убеждены, что качество все-таки имеет значение. Достаточно вспомнить, сколько продуктов за последние 20 лет были выпущены на рынок абсолютно неготовыми к серьезному применению, просто чтобы увеличить оборот или долю рынка, и без малейшей мысли о том, насколько серьезные последствия потом придется устранять. Вы же знаете, кого можно обвинить в создании этой тенденции. Да, Microsoft — изобретателей принципа «выпустить пораньше, латать почаще».

Уверен, что у многих есть собственные примеры недоделанных продуктов. И причина появления этих продуктов очевидна: поскольку ПО и программисты стали «товаром широкого потребления», программистов не хватает.

Еще один мой знакомый в своем списке рассылки заметил: «Технологические компании пребывают в таком отчаянии, что в Intel, например, собираются организовать двухгодичные курсы обучения в Сакраменто, чтобы восполнить нехватку программистов. Причем речь идет о малооплачиваемых специалистах 'удовлетворительной' квалификации, а не высококвалифицированных и опытных. То есть не хватает малооплачиваемых временщиков, способных состряпать на коленке инструмент отвратительного качества и спешно выбросить на рынок. В наши дни компании буквально приучают своих заказчиков ожидать от программных приложений врожденных недостатков».

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

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