Закоулки мозга

Специализация (разделение труда) способно оптимизировать работу только при соблюдении следующих условий1:

  1. Все, что перемещается между участками работ, - это производимый рабочий продукт
  2. Специалисты гарантированно и значительно превосходят неспециалистов
  3. Система производства - это направленный ациклический граф

В разработке ПО не соблюдается ни одно из них.

Специализация (с точки зрения специалистов против неспециалистов) не помогает, потому что:

  1. Большинство задач не требуют высокой квалификации, поэтому выигрыш невелик
  2. Никто не работает в одиночку, требуется коммуникация и передача результата, что означает зависимость от результата работы других
  3. Специалисты в разработке не делают одну и ту же операцию изо дня в день, они решают разные проблемы в одной области. А если и делают, то выгорают от единообразной и/или неэффективной работы.
  4. Специалисты дороги, поэтому нужно управлять их загрузкой (максимизировать)
  5. Специалисты становятся де-факто запечатанными “бункерами”, хранящими знания и техники
  6. Специалисты легко превращаются в бутылочные горлышки вследствие пунктов 4 и 5