WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Фредерик Брукс, автор статьи «Серебряной пули нет»

«Серебряной пули нет» (англ. «No Silver Bullet») — широко обсуждавшаяся статья Фредерика Брукса об инженерии программного обеспечения, написанная им в 1986 году.[1] Брукс утверждает, что «ни в одной технологии или в управленческой технике не существует универсального метода, увеличивающего на порядок производительность, надёжность и простоту». Он также утверждает, что «мы не можем ожидать увеличения прибыли в два раза каждые два года» при разработке программного обеспечения, как это происходит с разработкой аппаратного обеспечения.

Брукс подчёркивает разницу между возникающими ненужными сложностями (англ. accidental complexity) и имманентными сложностями (англ. essential complexity) и заявляет, что большинство из того, что разработчики программного обеспечения совершают в настоящее время, — относится к последнему, поэтому исключение всех т. н. ненужных сложностей не приведёт к улучшению ситуации. Брукс делает упор на основные части процесса разработки программного обеспечения. Хотя он настаивает на том, что «серебряной пули» не существует, он считает, что ряд инноваций, направленных на исправление имманентных сложностей, может привести к значительным улучшениям (возможно, более чем в десять раз за десять лет).

Статья, в которой Брукс приводит свои собственные размышления, может быть найдена в юбилейном издании книги «Мифический человеко-месяц»[2].


Аргументация

Очень важно видеть разницу между ненужными и имманентными сложностями. Ненужные сложности относятся к проблемам, которые мы сами создаём и которые могут быть устранены; это, например, детали написания и оптимизации программ на языке ассемблера или задержки из-за пакетной обработки. Имманентные сложности вызваны проблемой, которую предстоит решить; если пользователю нужна программа с 30 функциями, то эти 30 функций чрезвычайно важны, и программа должна качественно выполнять все эти 30 функций.

Брукс утверждает, что мы избавились от ненужной сложности, и в настоящее время программисты проводят большую часть времени разрешая имманентные сложности. Единственным технологическим улучшением, которое привело к значительным подвижкам в области, касающейся ненужной сложности, было изобретение высокоуровневых языков программирования, например, популярного некогда Фортрана. Продумываются улучшения и для таких языков, как Си, C++, C# и Java, но уже не столь значительные.

Брукс делает упор на «разрастающееся» через поэтапную разработку программное обеспечение (англ. incremental development). Он считает, что разработка и реализация основной программы и подпрограмм должна производиться в самом начале работы над проектом, а доработка составных частей — уже позже. Он считает, что это стимулирует разработчиков и поддерживает работу на каждом из её этапов. (Эта идея может рассматриваться как предвестник гибкой методологии разработки программного обеспечения.)

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

См. также


Ссылки

Внешние ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии