Кризис программирования

В среде профессиональных программистов существует понятие перманентного «кризис а программирования», который проявляется в следующем:

1. Большие проекты выполняются с отставанием от графика.

2. Большие проекты выполняются с превышением сметы расходов.

3. Разработанный программный продукт не обладает требуемыми функциональными возможностями.

4. Производительность разработанного продукта низка.

5. Качество разработанного продукта не удовлетворяет пользователя.

Основными причинами существования кризиса программирования являются:

Сложность. Одна из проблем определяется природой человеческого интеллекта и состоит в неспособности им обрабатывать сложность. Само понятие «сложность» следует рассматривать в виде двух аспектов:

1. Сложность программ. Данная составляющая является существенным, а не второстепенным свойством. Поэтому при описании программных объектов зачастую применяются приём абстрагирования от их сложности, а то и, вообще, от их сущности.

2. Сложность администрирования. Трудность осуществления надзора за исполнителями влечёт ослабление концептуальной целостности.

Согласованность. Значительная часть сложности относится к решению проблемы согласования различных интерфейсов.

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

Незримость. Реальность программного обеспечения (ПО) не встраивается естественным образом в пространство. У ПО сверхсложное геометрическое представление – как правило, большое количество неориентированных графов, наложенных один на другой.

Разрыв между теорией и практикой во многих областях программирования оказывает существенное влияние на кризис программирования.

Незначительные результаты исследовательской работы в области разработки ПО. Исследования, проводимые в последнее время в университетах и большинстве коммерческих компаний, являются фрагментарными и односторонними. Многие крупные компании славятся не столько генерированием новых идей, сколько доводкой заимствованных или купленных.

Невозможность проанализировать и обобщить действия великих программистов за работой. Давно возникло понимание того, что некоторые программисты на порядок, а то и на несколько порядков, более полезны, чем остальные.

Невозможность менеджера правильно сформировать проектную команду.

Экстремальные условия, в которых выполняются многие проекты. Установлено, что продуктивность работы тех, кто находиться в хорошем офисе, и может, закрыв дверь, не отвлекаться на телефонные звонки и посторонние дела, почти в 2,6 раза выше, чем у находящихся в коллективных комнатах.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: