?

Log in

No account? Create an account

Previous Entry | Next Entry




Сколько работников Microsoft нужно для того, чтобы сменить лампочку?

Часть статьи Эрика Липперта,
из книги Джоэла Х. Спольски «Лучшие примеры разработки ПО»





В те времена, когда я действительно регулярно занимался добавлением новых возможностей в VBScript, мне часто присылали сообщения с просьбами реализовать те или иные функции. Чаще всего запросы были «одноразовыми» — для функций, решающих конкретную задачу. Скажем, «Мне нужно вызвать ChangeLightBulbWindowHandleEx, но для этого нет специального элемента ActiveX, а напрямую вызывать функции Win32 API из сценариев нельзя; нельзя ли включить метод ChangeLightBulbWindowHandleEx в список встроенных функций VBScript? Ведь это всего пять строчек кода!»


Я всегда отвечаю таким людям одно и то же: если это всего пять строк кода, напишите свой объект ActiveX. Потому что вы абсолютно правы, для включения этой возможности в библиотеку времени выполнения VBScript мне потребуется примерно пять минут. Но сколько работников Microsoft в действительности понадобится для того, чтобы сменить лампочку?

* Один разработчик, чтобы за пять минут реализовать ChangeLightBulbWindowHandleEx.
* Один руководитель проекта (РП), чтобы написать спецификацию.
* Один специалист по локализации, чтобы просмотреть спецификацию на предмет потенциальных проблем с локализацией.
* Один специалист по пригодности (usability), чтобы проанализировать спецификацию на предмет доступности для лиц с ограниченными возможностями и практической пригодности.
* По крайней мере один разработчик, один тестер и один РП, чтобы провести «мозговой штурм» для выявления потенциальных проблем безопасности.
* Один РП, чтобы включить модель безопасности в спецификацию.
* Один тестер, чтобы написать план тестирования.
* Один руководитель группы тестирования, чтобы обновить график тестирования.
* Один тестер, чтобы написать контрольные примеры и включить их в ночную автоматическую проверку.
* Три или четыре тестера, чтобы участвовать в выявлении ошибок именно данного случая.
* Один технический автор, чтобы написать документацию.
* Один технический рецензент, чтобы проверить документацию.
* Один редактор, чтобы проверить документацию.
* Один руководитель отдела документации, чтобы интегрировать новую документацию в существующий текст, обновить содержание, алфавитные указатели и т.д.
* Двадцать пять переводчиков, чтобы перевести документацию и сообщения об ошибках на все языки, поддерживаемые Windows. Руководители переводчиков живут в Ирландии (европейские языки) и Японии (азиатские языки); оба места существенно сдвинуты по времени относительно Редмонда (главный офис Microsoft), поэтому общение с ними иногда создает непростые организационные проблемы.
* Группа старших руководителей, чтобы координировать работу всех этих людей, выписывать чеки и объяснить смысл дополнительных затрат вице-президенту.

Ни одна из этих задач по отдельности не занимает много времени, но они быстро накапливаются — и это для очень простой возможности. Обратите внимание: я исхожу из того, что все работает идеально; а если в пяти строках кода окажется ошибка? Придется прибавлять затраты на поиск ошибок, написание регрессионных тестов и т.д.

promo torin_kr december 5, 2015 19:43 26
Buy for 200 tokens
Этот пост -- заказной. Меня его попросила написать одна моя хорошая знакомая, с которой мы знакомы такое количество лет. что аж страшно становится. Как говорит в таких случаях мой младший брат -- "Да ну нафиг. Столько и не живут". Живут... к сожалению. Ладно, это было лирическое…

Comments

( 4 comments — Leave a comment )
(Deleted comment)
torin_kr
Dec. 10th, 2014 12:31 pm (UTC)
А так в больших корпорациях все реально и работает...
alexdj
Dec. 11th, 2014 09:08 am (UTC)
Microsoft можно опустить. В любой нормальной компании, занимающейся разработкой, все именно так.
torin_kr
Dec. 11th, 2014 10:09 am (UTC)
Ну да,я же и не спорю...
( 4 comments — Leave a comment )

Latest Month

June 2019
S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
30      
Powered by LiveJournal.com
Designed by Akiko Kurono