2009-07-08 4 views
1

В секторе system-admin серверы и ИТ-инфраструктура перемещаются в датацентры, а ИТ-персонал иногда сокращается. Возможно ли, что то же самое происходит с разработчиками программного обеспечения, что мировое программное обеспечение может быть создано несколькими крупными корпорациями, а не столько разработчиками?Будет ли консолидироваться разработка программного обеспечения?

ответ

3

Номер

Строительное программное обеспечение не является активным мероприятием, которое хорошо масштабируется. Если требуется одна женщина в возрасте 9 месяцев, чтобы родить ребенка, требуется ли 18 женщин один месяц? Кто-то из вышеупомянутых «Мифического Человеческого Месяца» - эта проблема была впервые рассмотрена там. В какой-то момент коммуникационные и накладные расходы на разработку программного обеспечения в команде фактически начинают препятствовать форвардному движению.

Существует также аргумент о том, что разница в производительности между великими программистами и средним программистом составляет 10 раз (или - те, кто тратит свое время на StackOverflow и те, которые этого не делают). И мифический (или, возможно, так-мифический) Net-Negative Productive Programmers - те, которые с помощью плохих практик, плохих дизайнерских решений или каким-то образом разрушают моральный дух команды, фактически вызывают отрицательный производительность.

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

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

+0

«Если женщине понадобится 18 месяцев, чтобы иметь ребенка» Девять месяцев это обычная длина беременности! – HLGEM

+1

Да, но его ребенок был создан итеративно – Joe

+0

LOL - исправлено – Nate

1

Я бы сказал, что нет - в краткосрочной перспективе. С такими вещами, как TDD и парным программированием и другими вещами, похоже, что более гибкие команды - это путь.

И я всегда возвращаюсь к таким вещам, как «Мифический человеческий месяц». Я мог бы иметь огромную корпорацию с 1000 разработчиков, но это не означает, что проект на 1000 человеко-часов будет выполнен за один день.

Просто не кажется, что это будет хорошо работать

+1

Как говорится, «9 мужчин не могут сделать ребенка в один месяц». – JulianR

+10

Если я не солгал всю свою жизнь, 9 мужчин не могут сделать ребенка в любое время – Joe

+1

@Joe - ты сделал меня LOL в моем кубе +1 к вам хороший сэр –

0

Некоторые будут смотреть на большие дома развития в Индии и рассматривает это как возможность, как только перегибы все получились.

0

Всегда были попытки автоматизировать создание программного обеспечения. Чтобы писать только UML, а затем программное обеспечение записывается магически из программы.

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

Это будет то же самое с разработкой программного обеспечения. С улучшением инструментов и фреймворков и всего, что потребность в реальных программистах будет уменьшаться. Но всегда будут небольшие компании, делающие заказные вещи, и крупные компании, такие как SAP, строят большие рамки. И кто-то должен написать рамки.

Так что не бойтесь за свою работу :)

0

Может быть, частично, но не полностью.

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

0

Я бы сказал, что доступность дешевого товарного оборудования и ресурсов, таких как «облачные вычисления» увеличить стимул для развития быть более децентрализованным. Массивные корпорации, обладающие огромными ресурсами, больше не могут пользоваться таким преимуществом перед независимыми или небольшими группами разработчиков.

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

0

Я не думаю, что мы это увидим.

Значительная часть разрабатываемого программного обеспечения имеет глубокое знание проблемного домена, в котором вы работаете. Ни одно крупное предприятие не может иметь значительные знания в области проблем для большого количества секторов.

Разработка программного обеспечения также является частью ядра, что делает компанию ценной, в отличие от периферийных функций поддержки, таких как ИТ или HR. Аутсорсинг основных компетенций - очень опасное предложение. Мало того, что существует огромная проблема интеллектуальной собственности, но всегда есть вероятность, что компания, занимающаяся аутсорсингом, уйдет или решит, что больше не хочет делать работу. Если это произойдет, компания, которая передала работу на аутсорсинг, в основном мертва.

0

Хорошее программное обеспечение предназначено для того, чтобы сделать пользователей продуктивными, и в основном это означает понимание работы людей и их действия. Учитывая огромное разнообразие организаций и рабочих процессов внутри них, это требует от дизайнеров и разработчиков, которые работают как можно ближе к точке приложения. Все попытки нормализовать эти рабочие процессы в одном приложении неизбежно заканчивались программным обеспечением, которое не соответствует ничьей работе.

Я бы не стал беспокоиться об этом в ближайшее время, основываясь на любом процессе разработки программного обеспечения, доступном в настоящее время, или cencieved of.

0

Администрирование серверов - это то, что можно автоматизировать. Хорошо зарекомендовавшая себя современная серверная ферма больше не имеет системных администраторов, которые регистрируются на сервере. Все развертывается и управляется с помощью автоматизации.

Сравните это с разработкой программного обеспечения, где каждая отдельная программа все еще должна быть написана человеком. Автоматизации акта создания нет. По этой причине разработка программного обеспечения скорее похожа на ремесло, чем на индустрию. Промышленность может расширяться и расширяться. Корабль может масштабироваться только через сегментацию в независимые группы. Вот как работают 1000 проектов-разработчиков. Они состоят исключительно из команд из полдюжины человек.

Итак, нет, если кто-то не изобретает подлинный инструмент для автоматизации процесса создания программного обеспечения и превращает его из ремесла в отрасль, вы не увидите той же тенденции, что и для системных администраторов. То, что вы видите, это то, что ремесло занято в странах с низкой заработной платой, и что для найма дешевых мастеров может быть более рентабельно. Заметьте, что я сказал «может», а не «будет». Наибольшая стоимость разработки программного обеспечения - это общение, и связь, скорее всего, выйдет из-под контроля, когда вы находитесь на берегу.

0

Крупные компании будут делать это, но это никогда не будет полностью принадлежать. Во-первых, крупные организации будут страдать от множества проблем, которые всегда поражают крупные корпорации.

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