nuclight: (Default)
[personal profile] nuclight
Я уже писал о том, как 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, тоже ушел в Гугль - это в него тогда Балмер швырялся стулом). В результате, между группами тех же разработчиков этого меню, изменения в коде могли распространяться от одного до трех месяцев (!). А ведь можно было просто реорганизовать исходный код для устранения перекрестных зависимостей, как это делают в опенсорсных проектах - там зависимости обычно идут разве что на редко изменяемые стабильные компоненты.
И показательно замечание Джоэля в ответ на всё это:
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 видимо таки ожидает печальный итог...
From: [identity profile] innominabilis.livejournal.com
К сожалению, вместо избавления пользователя от необходимости делать выбор, его лишают возможности выбирать (яркие примеры — Гном, ШмякосьХ). В итоге продуктом становится вообще невозможно пользоваться. Почему-то многим гуру от юзабилити не приходит в голову, что достаточно просто разумных (и действительно заточенных под рядового юзера) умолчаний...

Вот и получается, что приемлемые по юзабилити софтины можно на одном пальце пересчитать.

From: [identity profile] nuclight.livejournal.com
Ну, Гном уже притча во языцех, а про Макось это зря. Народу нравится, да и на худой конец там вся мощь юникса есть, для тех, кто умеет пользоваться.
From: [identity profile] innominabilis.livejournal.com
Ой не зря... Пример: мне дико неудобно шелкать мышой в окне для передачи ему фокуса. У себя (fvwm, постепенно вырисовывающийся собственный wm — ага, и fvwm'вских возможностей не хватает) применяю sloppy focus. Как это сделать в Шмякоси? А никак. Даже если есть возможность включить такую focus policy, пользоваться этим будет невозможно: хочешь залезть мышой в хваленое удобное-меню-сверху-экрана, мышь попадает в окно другой софтины, она получает фокус — и меню уже совсем не то, в которое хотел попасть. Это именно что лишение возможности выбирать. Я уже не говорю о том, что сделать workspace размером 3x3 физических размера экрана с произвольным перемещением по нему там малореально и т.п.

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

Короче говоря, взяли бздю, искалечили, затормозили, противоестественно скрестили с classic MacOS, после чего полученному уродцу сделали гламурный макияж... Народу нравится, да :]

шутка

Date: 2006-12-03 11:54 am (UTC)
From: [identity profile] tomotom.livejournal.com
Гейтс уходит в гугль?

Re: шутка

Date: 2006-12-03 12:28 pm (UTC)
From: [identity profile] potan.livejournal.com
Гейтс - талантливый программист?

Re: шутка

Date: 2006-12-03 01:33 pm (UTC)
From: [identity profile] innominabilis.livejournal.com
Мог бы в свое время стать, все данные были. Но выбрал бизнес.

Date: 2006-12-08 08:28 pm (UTC)
From: [identity profile] fenikso.livejournal.com
Учись, сынок. А то так всю жизнь и будешь - ключи подавать. (с) :)

February 2017

S M T W T F S
   1 234
567891011
12131415161718
19202122232425
262728    

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 15th, 2025 12:22 am
Powered by Dreamwidth Studios