“Достаточно хорошее ПО” редко бывает действительно достаточно хорошим – это грустное проявление духа нынешнего времени, в котором исчезает личная гордость за свою работу. Сама мысль о том, что человек может испытывать удовлетворение от хорошо выполненной работы – просто потому, что эта работа творческая и профессиональная, признана абсурдной. Не ценится ничего, кроме экономического успеха и его денежного выражения. Отсюда можно сделать вывод: наша профессия сделалась просто тривиальной работой. Но по моему убеждению, нельзя ожидать качественно выполненной работы, если не отдавать ей себя полностью, если нет личного удовлетворения, более того – удовольствия от нее. В нашей профессии точность и совершенство – это не роскошь, а простая необходимость.
Конечно, разработка ПО – это техническая деятельность, проводимая людьми. Не секрет, что среди других вещей люди страдают от несовершенства, ограниченной надежности и нетерпения. Добавьте к этому запросы на более высокую оплату труда с одной стороны и требования более быстрого достижения результата – с другой. Однако работа, которая делается в спешке под постоянным давлением срока выброса продукта на рынок, неизбежно приводит к неудовлетворительным результатам – к продукту с дефектами. Существуют много более лучшие методы проектирования ПО, чем те, которые повсеместно используются, но им редко следуют. Я знаю одного очень крупного производителя ПО, который декларировал, что у него проектирование занимает 20% от времени разработки, а (условно говоря) отладка – остающиеся 80%. Те, кто ратует за обратное соотношение этих величин, не только убедительно доказали, что это реалистично, но и показали, что это улучшило бы тусклый имидж фирмы. Почему же, несмотря на это, подход с 20% времени на проектирование, по прежнему в фаворе? Да потому, что чем меньше времени вы проектируете, тем быстрее ваш продукт может оказаться рынке. И рыночные обзоры показывают, что по большой части потребитель рассматривает несовершенный, но стремительно возникший продукт как более привлекательный по сравнению с более стабильным и зрелым, но появившимся позже. Кого винить в таком положении дел? Программистов, превратившихся в хакеров? Менеджеров, находящихся под давлением не желающего ждать рынка? Бизнесменов, вынужденных быть рабом величины своей прибыли? Или потребителей, верящих в обещанные чудеса, которые будто бы достижимы с помощью нового продукта?
ու տենց