А давайте я вместо традиционных предновогодних вещей попробую нанести ещё немного пользы хотя бы себе. Прочитал я тут недавно ещё одну книжку (на самом деле, две, но о второй уже в следующем году), полную безысходности. Книга повествует нам о проблемах разработки ПО. Причём, первое издание случилось в 1975 году. Да – более 40 лет назад. Да, тогда тоже разрабатывали ПО.
Самое важное ощущение от книги:
Чёрт. За 40 лет в индустрии ничего не поменялось!
Проблемы, одолевавшие автора почти полвека назад – остались теми же. Нет, некоторые мысли, высказывавшиеся Фредериком, с тех пор были значительно доработаны, но практически все решения проблем, о которых он говорил, так и остались уделом единиц, а в основном, никаких общих решений, ставших бы спасением, и нет.
К примеру, так и нет возможности точно предсказать, когда же будет завершён проект. Да, я в курсе про ToC, lean, agile и прочие замечательные слова. Но за меня говорят более 60% проваленных проектов в ИТ. Возможно, кто-то и может предсказать, когда закончится тот или иной проект, сколько денег он съест, и что же при этом получится, но я видел таких людей пока только в книжках (если кто видел лично – познакомьте, я хочу научиться =)).
И, повторюсь, многое, написанное этим замечательным инженером 40 лет назад, я вижу в той литературе, которая актуальна для меня на сегодняшний день:
1) Важность постоянной готовности выбросить результаты экспериментов. Делаем не на века, а чтобы проверить: будет ли работать вообще. Мне, как представителю operations с почти 15тилетним опытом это почти невозможно сделать. Это то, чему нас учит куча литературы по упомянутым выше идеям и способам работать.
2) Идеи о средах тестирования, наборах данных для них и соответствия их друг другу я вижу в подходах DevOps.
Впрочем, есть и улучшения. Взгляните, что было написано 20 лет назад (я читал издание 1995 года):
…дают свидетельства в пользу того, что квант изменений должен быть либо очень большим и редким, либо очень маленьким и частым. [14] Последняя стратегия, согласно их модели, больше подвержена неустойчивости. Мой опыт это подтверждает: я никогда не рискну использовать ее на практике.
Сейчас все, кто пытаются ускорить разработку и повысить её качество, говорят об обратном.
В общем, книжка весьма занимательна. Некоторые моменты пропускал, потому что архитектурные детали разработки OS/360 мне уже не сильно интересны.
Легко ли читать: средне. Мешают части про перфокарты. =)
Полезность: ниже среднего. Книга-безысходность, всё-таки =) Сейчас есть более проработанные учения.
Ах, да. С Новым Годом!