Колко служители на Microsoft са необходими, за да се смени една крушка?

Lightbulb

Попаднах на една статия от 2003 година, която досега ми е убягвала почти 5 години. Там проблемът започва с писмо на един потребител, който казва: “Трябва ми метод, който да извиква функцията ChangeLightBulbWindowHandleEx, но такъв няма. Толкова ли е трудно да го добавите? Това едва ли ще отнеме повече от 5 реда код!

Авторът, Eric Lippert, отговаря: “Да, сигурно програмирането е към 5 реда и най-вероятно ще отнеме не повече от 5 минути, но ние в Microsoft не правим така, защото е непрофесионално“. И поставя въпроса: Колко хора действително са необходими за добавянето на един нов метод (или за смяната на една крушка 🙂 ), след което дава подробен отговор:

  • Един програмист да имплементира метода ChangeLightBulbWindowHandleEx за 5 минути.
  • Един program manager да напише спецификацията.
  • Един експерт по локализацията да прегледа спецификацията за локализационни проблеми.
  • Един експерт по usability да прегледа спецификацията за проблеми по ползваемостта и достъпността (usability and accessibility).
  • Поне по един програмист, тестер и ПМ да проучат потенциални слабости по сигурността.
  • Един ПМ да добави модел на сигурността към спецификацията.
  • Един тестер да напише тест план.
  • Един тест лидер да актуализира програмата за тестване.
  • Един тестер да напише test cases и да ги добави към нощните автоматични тестове.
  • 3-4 тестери да се включат в инцидентното чистене на бъгове.
  • Един technical writer да напише документацията.
  • Един технически редактор да провери документацията за технически грешки.
  • Един граматически редактор да провери документацията за граматически и правописни грешки.
  • Един documentation manager да интегрира новата документация в съществуващите текстове, да актуализира таблиците на съдържанието, интекси и т. н.
  • 25 преводача да преведат документацията и съобщенията за грешки на всички езици, поддържани от Windows. Мениджърите по преводите живеят в Ирландия (за европейските езици) и Япония (за азиатските езици). И двамата са доста сериозно отместени във времето от Redmond, така че общуването с тях си е доста сериозен логистичен проблем.
  • Екип от старши мениджъри да координират действията на всички изброени дотук хора, да пишат чекове и да оправдават разходите пред своите вицепрезиденти.

Всяка една от тези дейност, казва Ерик, не отнема много време, но като ги събереш всичките, се получава един доста сериозен обем от работа, който е невероятно скъп. Но това е положението – няма майтап. “Ние от Microsoft полагаме неимоверни усилия за да не допуснем издаването на недопечен софтуер”, допълва той.

В крайна сметка, изводът е прост: Microsoft държат много на качеството, затова процедурата дори по една малка промяна в кода е изключително сложна и скъпа. Това пък означава, че се правят само онези промени, които си струват, т.е. които ще повлияят на голям процент от потребителите.

Оттук нататък става много интересна дискусия в последвалите коментари към статията. Един от читателите твърди, че точно тук е мястото Microsoft да отворят кода си (ако не целия, то поне част от него), така че някои потребители да могат сами да си допишат таи функционалност, която им липсва и която е прекалено скъпа и нерентабилна за Microsoft да я реализират за масовия потребител.

Това звучи много хубаво на теория, но тук има и един друг въпрос, на който активистите на Open Source движението все още не могат да дадат смислен отговор:

Какво да прави потребител, който не е програмист и не може да се оправи с програмния код?

Отговорът го беше дал Mel Brooks в култовата комедия “История на света, част 1”: да го духат! За съжаление, този отговор някак си не върши работа. 🙂

От гледна точка на бизнеса, който движат и на авторитета, който представляват, позицията на Microsoft е разбираема. Те наистина нямат сметка да правят доработки, които касаят малко хора, но които могат да дадат отражение в съществуващата функционалност, ползваща се от милиони потребители. В същото време, софтуерни компании, които са заложили на продуктите на Microsoft като платформа, се оказват в техен плен и единственото, което могат да направят, е да чакат да се съберат повече, та редмънтския гигант да им обърне внимание.

Аз лично не се сещам за елегантен изход от тази ситуация. Вие какво мислите? Имайте предвид, че не толерирам религиозните войни и Open Source фанатизма. Очаквам разумни коментари. Вярвам, че всички сме разумни хора. 🙂

Гласувайте за тази статия в Svejo.net: [wp:svejo-net]

Ако харесвате статиите в този блог и се интересувате от тематиката, която разглеждаме, за да си гарантирате, че няма да изпуснете публикация, абонирайте се напълно безплатно за нашия бюлетин чрез RSS feed или по имейл.

4 Comments

  • Sentinel says:

    Разширени бета и RC стадии?
    Голяма част от проблемите при допълнителна функционалност и bug fix-ове идват от внедряването след това… Отделно, колкото повече разширяема е една платформа, толквоа повече изисквания към нея ще предявят разработчиците след като започнат да я ползват – в случая ще има някой, който иска да си завива крушката наляво, друг на дясно, трети ще иска да може да завива крушки с контактен цокъл… Според мене – разширения бета стадии дава решение и на този проблем… Всъщност, Microsoft точно това направиха и с Vista, ако не се заблуждавам…

  • Илия Добрев says:

    Много вода е изтекла от 2003 година, сега нещата са малко по-различни, Microsoft си отвори кода за програмистите a ако ти липсва някоя функция може да я допишеш към системни(Extension methods)

  • Kalin4y says:

    Да, подхода за Виста им беше напълно различен от тези прилагани до момента. Казвам го, като част от Майкрософт тест тийм. Не мисля, че е редно да отварят операционната система. Ми нали затова е Уиндоус…да си правиш каквото искаш.
    Уиндоус е операционна система за крайният потребител, интуативна, без да се налагат много задълбочени познания. Това е прави толкова велика. Наскоро си взех едно лаптопче с инсталирана Линукс дистрибуция…нищо не можах да направя. Чета по 15 минути installation guide, за да разбера как да си инсталирам нещо.
    Затова и Майкрософт са толкова големи – за тях е важен крайният потребител. Този от най-малко градче, защото именно той ще даде пари за тяхната ОС. Знае, че иначе не би могъл да се справи.

  • Vladislav says:

    Отговорът е николко – това е хардуерен проблем:)

Leave a Reply

Your email address will not be published.