Microsoft: начало конца
Dec. 3rd, 2006 04:04 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Я уже писал о том, как Microsoft стали покидать талантливые программисты. Всё, оказывается, обстоит гораздо хуже. Moishe Lettvin, бывший сотрудник Microsoft, ныне работающий в Google, описал процесс разработки одной из фич Windows Vista - меню завершения работы. На её разработку ушел примерно год, в процесс были вовлечены примерно 24 человека, три группы по 8 человек от ядра, интерфейса и шелла. В группе Moishe непосредственно программистом был только он сам - остальные дизайнеры, менеджеры, etc. Так вот, за весь этот год фактически было написано всего 200 (!) строк кода - то, что можно было сделать за неделю. Описание тут: http://moishelettvin.blogspot.com/2006/11/windows-shutdown-crapfest.html (много комментов).
Непосредственно перед этим по этой фиче проехался Джоэль. Он, конечно, перегнул палку (ребут выкинуть вознамерился), но в общем-то по делу - а иначе и быть не могло, когда столько человек над этим спорили (в противоположность можно посмотреть, как аналогичное делалось разработчиками Mac OS X).
Причины таких ужасов выяснилась в комментах, где засветилось еще несколько сотрудников Microsoft.
Во-первых, это организационная структура - слишком много менеджеров и подразделений. Те три группы, которые работали над этой фичей, находились на значительном удалении от "корня дерева" подразделений, и были связаны только через корень, а не где-то поближе. Тут вспоминается "Мифический человеко-месяц" Брукса и закон Конвея: "Any piece of software reflects the organizational structure that produced it" (есть другая формулировка из законов Мерфи: "В любой организации всегда найдется человек, знающий, что происходит. Его-то и надо уволить").
Во-вторых, сама структура исходного кода Windows достаточно хреновая для разработки. Поскольку очень много компонентов, много и перекрестных зависимостей между ними, и общий билд всего очень часто может быть поломан чьим-то кодом. Microsoft пошла по наиболее простому пути, и просто разделила код на множество независимых репозиториев (кстати, разработчик их VCS, именуемой SourceDepot, тоже ушел в Гугль - это в него тогда Балмер швырялся стулом). В результате, между группами тех же разработчиков этого меню, изменения в коде могли распространяться от одного до трех месяцев (!). А ведь можно было просто реорганизовать исходный код для устранения перекрестных зависимостей, как это делают в опенсорсных проектах - там зависимости обычно идут разве что на редко изменяемые стабильные компоненты.
И показательно замечание Джоэля в ответ на всё это:
Впрочем, как отметили в комментах, более удивительно другое - как они вообще при всём при этом смогли выпустить Висту. Да уж... учитывая, что Гейтс покидает компанию, Microsoft видимо таки ожидает печальный итог...
Непосредственно перед этим по этой фиче проехался Джоэль. Он, конечно, перегнул палку (ребут выкинуть вознамерился), но в общем-то по делу - а иначе и быть не могло, когда столько человек над этим спорили (в противоположность можно посмотреть, как аналогичное делалось разработчиками Mac OS X).
Причины таких ужасов выяснилась в комментах, где засветилось еще несколько сотрудников Microsoft.
Во-первых, это организационная структура - слишком много менеджеров и подразделений. Те три группы, которые работали над этой фичей, находились на значительном удалении от "корня дерева" подразделений, и были связаны только через корень, а не где-то поближе. Тут вспоминается "Мифический человеко-месяц" Брукса и закон Конвея: "Any piece of software reflects the organizational structure that produced it" (есть другая формулировка из законов Мерфи: "В любой организации всегда найдется человек, знающий, что происходит. Его-то и надо уволить").
Во-вторых, сама структура исходного кода Windows достаточно хреновая для разработки. Поскольку очень много компонентов, много и перекрестных зависимостей между ними, и общий билд всего очень часто может быть поломан чьим-то кодом. Microsoft пошла по наиболее простому пути, и просто разделила код на множество независимых репозиториев (кстати, разработчик их VCS, именуемой SourceDepot, тоже ушел в Гугль - это в него тогда Балмер швырялся стулом). В результате, между группами тех же разработчиков этого меню, изменения в коде могли распространяться от одного до трех месяцев (!). А ведь можно было просто реорганизовать исходный код для устранения перекрестных зависимостей, как это делают в опенсорсных проектах - там зависимости обычно идут разве что на редко изменяемые стабильные компоненты.
И показательно замечание Джоэля в ответ на всё это:
Every piece of evidence I've heard from developers inside Microsoft supports my theory that the company has become completely tangled up in bureaucracy, layers of management, meetings ad infinitum, and overstaffing. The only way Microsoft has managed to hire so many people has been by lowering their hiring standards significantly. In the early nineties Microsoft looked at IBM, especially the bloated OS/2 team, as a case study of what not to do; somehow in the fifteen year period from 1991 - 2006 they became the bloated monster that takes five years to ship an incoherent upgrade to their flagship product.
Впрочем, как отметили в комментах, более удивительно другое - как они вообще при всём при этом смогли выпустить Висту. Да уж... учитывая, что Гейтс покидает компанию, Microsoft видимо таки ожидает печальный итог...
Джоэл чудовищно перегибает
Date: 2006-12-03 12:41 am (UTC)Вот и получается, что приемлемые по юзабилити софтины можно на одном пальце пересчитать.
Re: Джоэл чудовищно перегибает
Date: 2006-12-03 12:16 pm (UTC)Re: Джоэл чудовищно перегибает
Date: 2006-12-03 01:32 pm (UTC)Насчет мощи юникса — она там, как бы это сказать, сбоку торчит, как у собаки пятая нога. С одной стороны имеем нормальную юниксовую иерархию фс, с другой — бандлы макосевых прикладух, работать с коими средствами unix весьма затруднительно, если вообще возможно.
Короче говоря, взяли бздю, искалечили, затормозили, противоестественно скрестили с classic MacOS, после чего полученному уродцу сделали гламурный макияж... Народу нравится, да :]
шутка
Date: 2006-12-03 11:54 am (UTC)Re: шутка
Date: 2006-12-03 12:28 pm (UTC)Re: шутка
Date: 2006-12-03 01:33 pm (UTC)no subject
Date: 2006-12-08 08:28 pm (UTC)