Читая замечательную книжку Джоэля Best Software Writing I, накткнулся на статью The Pitfalls of Outsourcing Programmers by Michael Bean.
Статья представляет собой “за” и “против” и в каком случае они работают лучше.
1
Offshoring is a mistake when technology companies confuse operational effectiveness and strategy. Operational effectiveness is about working cheaper or faster. Strategy is about the creation of a long-term competitive advantage, which for technology companies is usually the ability to create innovative software.
2
Outsourcing programmers works when the software developed isn’t a key part of the pipeline of innovation for products a company actually sells. For example, when website design or back-office software such as payroll or inventory control is outsourced, that can be good because it improves operational effectiveness.
3
Ultimately, the offshoring fad is bad for companies not because of the short-term programmer layoffs but because technology companies will lose their capacity to innovate. Tech companies that outsource their programming talent will ultimately be replaced by competition, and then everyone will be losing their jobs.
Я бы согласился. Аутсорсинг работает и работает хорошо, когда ясно что делать.
Однако, инновация и аутсорсинг плохо сопоставимы в моем понимании. Инновация в аутсорсиге может происходить на микроуровне, что мы сами не раз наблюдали решая ту или иную задачу, но на макроуровне, чтобы создать конкурентное преимущество… для этого надо обладать всей информацией, надо видеть Проблему, и на самом деле быть частью компании заказчика, что уже никак не аутсорсинг.
Сначала про статью. Я бы не согласился.
каждый раз, когда мы отдаем работу, которую делаем хорошо, кому-то еще мы имеем риски, например, такие:
– эти кто-то окажутся плохими работниками, и мы потеряем наши конкурентные преимущества
– эти кто-то окажутся подлецами и украдут наши конкурентные преимущества
Конечно, этими рисками управлять удобнее, когда эти работники рядом. Но что делать, если рядом нет достаточного количества профессионалов по приемлемой цене?
перед нами есть выбор:
– не передавать свою работу, но тогда мы не можем расширяться
– попробовать управлять этими рисками.
На мой взгляд, факторы, которые должны влиять на решение о передаче дел в аутсориснг, такие:
– культурные различия
– удаленность, работа “в одной комнате” все-таки эффективнее
– возможность найти на внутреннем рынке специалистов необходимого качества за приемлемые суммы
– умение строить распределенные команды
Если Вы можете обойтись без аутсорсинга, если можете делать все своими руками, – обходитесь и делайте.
В статье, как мне показалось, сделан упор на инновации. Компания, основной деятельностью и конкурентным преимуществом которой является разработка инновационных решений/технологий/продуктов не должна полагаться на аутсорсинг.
Я не представляю себе компанию Apple, которая бы передала разработку плеера iPod сторонней компании в Китай, сказав мы хотим отличный плеер, сделайте его для нас. Но я очень хорошо представляю как аутсорсинг работает когда уже понятно что делать, когда от аутсорсинга не требуется инновационности, когда есть спецификация на плеер (как он должен выглядеть и каким условиям удовлетоворять). Вот почему на плеере написано Designed in California. Именно там происходит инновация, а не в Китае где этот плеер собирают. В аутсорсинг передается то, что понятно как делать, или как минимум понятно что в итоге мы хотим получить (с заданными характеристиками), нужны лишь ресурсы чтобы это сделать.
Если аутсорсинговая компания способна на инновационность, зачем ей заниматься аутсорсингом? Глядя на наш опыт работы, мне кажется для компании-стартапа аутсорсинг не самая лучшая вещь to go along with ибо в стартапе как никогда требуется быстрая реакция и понимание того, куда компания движется, что требует значительного участия в процессах самой компании, надо быть ее частью, частью команды. Чего мы и пытались добиться последние 3 года.
Просить кого-то придумать для тебя инновацию – глупо, согласен. Но речь не о том. Имея идею можно и нужно привлекать ресурсы для ее реализации. Если можно привлечь целую команду, что в этом плохого? И чем это не аутсорсинг?
Да, команда-аутсорсер должна быть плотно интегрирована в компанию-заказчика. Но это все равно аутсорсинг.
Ваша команда – хороший, положительный пример. Именно такой аутсорсинг мне по душе.
Просто надо проводить различие между аутсорсингом разработки вообще и аутсорсингом отдельных задач – а точнее, никогда нельзя аутсорсить критические задачи – о чем, собственно, и пишут все кому не лень. Согласен с Игорем – нельзя аутсорсить инновации, но можно аутсорсить реализацию, сохраняя контроль над инновациями и критически важными компонентами продукта.