Сколько работников Microsoft нужно для того, чтобы сменить лампочку?
В те времена, когда я действительно регулярно занимался добавлением новых возможностей в VBScript, мне часто присылали сообщения с просьбами реализовать те или иные функции. Чаще всего запросы были “одноразовыми” — для функций, решающих конкретную задачу. Скажем, “Мне нужно вызвать ChangeLightBulbWindowHandleEx, но для этого нет специального элемента ActiveX, а напрямую вызывать функции Win32 API из сценариев нельзя; нельзя ли включить метод ChangeLightBulbWindowHandleEx в список встроенных функций VBScript? Ведь это всего пять строчек кода!”
Я всегда отвечаю таким людям одно и то же: если это всего пять строк кода, напишите свой объект ActiveX. Потому что вы абсолютно правы, для включения этой возможности в библиотеку времени выполнения VBScript мне потребуется примерно пять минут. Но сколько работников Microsoft в действительности понадобится для того, чтобы сменить лампочку?
* Один разработчик, чтобы за пять минут реализовать ChangeLightBulbWindowHandleEx.
* Один руководитель проекта (РП), чтобы написать спецификацию.
* Один специалист по локализации, чтобы просмотреть спецификацию на предмет потенциальных проблем с локализацией.
* Один специалист по пригодности (usability), чтобы проанализировать спецификацию на предмет доступности для лиц с ограниченными возможностями и практической пригодности.
* По крайней мере один разработчик, один тестер и один РП, чтобы провести “мозговой штурм” для выявления потенциальных проблем безопасности.
* Один РП, чтобы включить модель безопасности в спецификацию.
* Один тестер, чтобы написать план тестирования.
* Один руководитель группы тестирования, чтобы обновить график тестирования.
* Один тестер, чтобы написать контрольные примеры и включить их в ночную автоматическую проверку.
* Три или четыре тестера, чтобы участвовать в выявлении ошибок именно данного случая.
* Один технический автор, чтобы написать документацию.
* Один технический рецензент, чтобы проверить документацию.
* Один редактор, чтобы проверить документацию.
* Один руководитель отдела документации, чтобы интегрировать новую документацию в существующий текст, обновить содержание, алфавитные указатели и т.д.
* Двадцать пять переводчиков, чтобы перевести документацию и сообщения об ошибках на все языки, поддерживаемые Windows. Руководители переводчиков живут в Ирландии (европейские языки) и Японии (азиатские языки); оба места существенно сдвинуты по времени относительно Редмонда (главный офис Microsoft), поэтому общение с ними иногда создает непростые организационные проблемы.
* Группа старших руководителей, чтобы координировать работу всех этих людей, выписывать чеки и объяснить смысл дополнительных затрат вице-президенту.
Ни одна из этих задач по отдельности не занимает много времени, но они быстро накапливаются — и это для очень простой возможности. Обратите внимание: я исхожу из того, что все работает идеально; а если в пяти строках кода окажется ошибка? Придется прибавлять затраты на поиск ошибок, написание регрессионных тестов и т.д.
из книги Джоэла Х. Спольски “Лучшие примеры разработки ПО”
Автор - ламер, ибо совсем не по этому скриптовые языки не расширяются подобными функциями. Они призваны управлять, а не работать.
Думаю, он просто работал в большой кампании, обросшей огромным бюрократическим механизмом.
Ну не стоить так строго судить автора. Все-таки он опубликовал статью для размышления, а не для того,чтобы Вы обсуждали его.