В сегодняшние дни, в дни опять нагрянувшего кризиса, важно сохранить бизнес, не потерять его. Как минимум большинство компаний ставит своей целью если и не расшириться, то хотя бы сохранить бизнес в том же состоянии, что и год назад. Одним из факторов поддержки выступает оптимизация, кадровых и денежных ресурсов. Всем хочется лучше кадров за меньшие деньги. Если с традиционным производством, где работа ведется в цехах и заводах работники должны непосредственно приходить на рабочее место и работать, то в новых (относительно традиционных) сферах экономики, связанных с Интернетом – такое правило не обязательно. Глобальная всемирная сеть позволила огромному количеству людей из IT объединится и создавать что-то новое.

Вспомните как много у нас открытого ПО, и ведь эти люди, разрабатывающие его, никогда не сидели вместе в офисе, и что немаловажно – никогда не видели друг друга (в большинстве случаев). Почему же современные бизнесмены новых сфер производства пренебрегают этим преимуществом? Почему не используют внешние кадры, которые находятся удаленно от основного офиса? Но с другой стороны многие поняли всю выгоду данного положения и пользуются ими, к сожалению, таких меньшинство.

Итак, что мешает начать работать с аутсорс кадрами при разработке ПО (сюда я включаю такие должности как разработчики, тестировщики, аналитики, тех.писатели и возможно некоторые другие):

1) боязнь нового;
2) страх, что внешние ресурсы завалят проект;
3) мысли о невозможности нормальной коммуникации внутри команды;
4) невозможность контролировать рабочий процесс.

Всё это вполне весомые аргументы для тех, кто слабо задумывался над этим вопросом всерьез. Давайте рассмотрим каждый из пунктов по отдельности.

Боязнь нового

Это психологический аспект, и он естественен, особенно для людей, у которых есть основной бизнес не из ИТ, а ИТ это поддерживающая структура. Тут наверно сложно объяснить почему есть боязнь, скорее всего это в большей степени сочетается с 4 пунктом. Эти люди привыкли держать всё в своих руках. Возможно это и правильный подход, но не оптимальный. Держать всё в курсе, контролировать процесс – это пустая трата времени. Необходимо контролировать результат, а не процесс. Т.к. не являюсь психологом, думаю оставить этот пункт.

Внешние ресурсы завалят проект

Опять возвращаясь к предыдущему абзацу повторюсь – необходимо контролировать результат, на каждом этапе. Особенно если идет работа с этой компанией впервые. И тогда неожиданностей через полгода работы: «а где проект?» не возникнет. Однако это не значит, что нужно каждый день спрашивать результат, эти запросы только отнимут время и у заказчика, и у исполнителя, а это время, которое могло бы быть потрачено на действительно необходимые вещи. Однако, если видно, что сроки срываются, вот тут стоит сделать какие-то телодвижения в сторону того, чтобы повлиять на процесс или отказаться от этого поставщика ресурсов. Кстати, срыв проекта естественен и для команд самого заказчика, внутри той же компании внутри могут происходить срывы сроков. Поэтому разделять команды на свои, и чужие по этому признаку «вдруг сорвут сроки» неправильно.

Коммуникация внутри команды

Если команда разделена на несколько частей – это безусловно усложняет коммуникацию, однако если каждая команда делает свою часть, как можно более независящую от другой – это не проблема. Внутри каждой команды коммуникации будут без проблем, а коммуникации между командами будут происходить на уровне архитекторов и тим-лидов. Что касается коммуникации между аналитиками и разработчиками, мол без вербального общения никуда – тут поможет скайп и грамотная документация. Вот на документации я бы хотел остановится подробнее. Главное в проекте это документ (без бумажки – ты букашка). Действительно, чем подробнее напишет аналитик, тем меньше вопросов со стороны разработки. С другой стороны, если аналитик, что-то объясняет разработчику и потом забывает внести это в ТЗ, это грозит непониманием в будущем и дополнительными временными издержками.

Представим ситуацию, аналитик написал часть какого-то ТЗ (ЧТЗ), по этому ЧТЗ разработчик начинает работу и у него возникает несколько вопросов. Если команда разделена и разработчики сидят в другом офисе/городе/стране то скорее всего он напишет письмо и получит задокументированный ответ в виде исправленного ЧТЗ или в крайнем случае в ответном письме. В этом случае требования, дополненные аналитиком сохранятся и их можно будет повторить, переслать, передать. Если же (а это касается больше традиционных команд) аналитик в одном офисе с разработчиком, то тут возникает опасность устного объяснения, что может привести к печальным последствиям:
  • разработчик забудет часть устных требований и придется повторять;
  • у тестировщика вероятнее всего возникнут те же вопросы и на них на этот раз аналитик может ответить чуточку по-другому, хорошо если после этого он запишет эти требования, а если нет?
  • тех.писатель снова обратиться к этому ЧТЗ и тут возникнет снова непонимание, если ЧТЗ так и не было дополнено
  • а что будет если в реализации по этому ЧТЗ были ошибки? Правильно, снова вопросы, лишняя коммуникация. А если пришел уже другой разработчик?


Но тут я уже увлекся. Это я к тому, что хорошо описанное ЧТЗ избавляет от массы ненужной коммуникации, поэтому этот этап исключительно важен. Ну, а все остальные коммуникации легко решаются с помощью электронной почты и скайпа. Конечно этот вид работы, который я описал, сводится к тому, что всё же разработчики сидят все вместе, но, просто, удаленно.

И еще дополню по этому пункту небольшой расчет. Допустим всё же есть необходимость общения с заказчиком непосредственно со стороны разработки. А общаться будет же не вся команда, а только один человек, часто это тимлид. Так вот недельная командировка одного человека в Москву это порядка 35-40 тысяч рублей. Смешно же! Даже если раз в месяц отправлять человека в командировку, это дешевле, чем платить разницу этому специалисту в Москве и в регионе. Что уж говорить о целой команде?

Невозможность контролировать процесс

Перейдем к последнему пункту: невозможность контролировать процесс. Я уже упоминал о нем. Действительно, есть ли необходимость контролировать процесс и лезть в разработку? Мы знаем, что в большинстве своем программисты замкнуты и не любят лишнего внимания. А когда они сидят отдельно от вечно болтающих менеджером и тихонько «кодят в углу», то это создает идеальные условия для того, чтобы сосредоточится и работать. Нужно ли программистам внимание руководства? Нет. Нужно ли руководству вмешиваться в разработку? Нет. Отсюда виден только один вывод – контролировать процесс собственнику бизнеса – не нужно, контролировать необходимо результат. А руководить командой и координировать работу будет тимлид, разделение по ролям в чистом виде.

Что же, выходит страхи напрасны? Абсолютно. Это новая сфера экономики, огромный пласт, самая быстро развивающаяся отрасль экономики. И надо идти в ногу со временем и понимать новые возможности, которые открываются в связи с этим.

Давайте же наконец, перейдем к преимуществу удаленной работы

Преимущества, если работать с аутсорс-компаниями:

  1. нет необходимости контролировать процесс;
  2. дешевле нанять один раз и забыть, чем держать штат;
  3. нет необходимости заботится о рабочих местах, о технике, зарплатах и прочих офисных деталях, а также о мотивации сотрудников;
  4. легко проверить результат, сравнив предоставленное решение с исходными требованиями (тут конечно спорно, допустим если само же составление ТЗ отдано на аутсорс).

Преимущества если работать с филиалами:

  1. нет необходимости контролировать процесс;
  2. дешевле держать филиал разработчиков в регионе, чем в столицах (Мск, СПб) и по зарплате, и по аренде, и по остальным показателям;
  3. если с филиалом возникнут трудности, его можно закрыть;
  4. кадры в регионах не перегреты, поэтому за меньшие деньги можно получить отличных специалистов уровня не ниже столичных, а зачастую и выше, при этом значительно дешевле.


Всё это ведет к тому, что в современном мире ИТ нужно искать новые методы работы, новые технологии. Этот мир развивается быстро, тут главное не отстать. И пока вы думаете открыть филиал в регионе или нет, ваши конкуренты уже используют и зарабатывают на аутсорсе.

Почему я всё это пишу? Я молодой специалист, который не хочет ехать в Москву. Я хочу работать на родине и получать достойную финансовую компенсацию за свои труды. Сейчас огромное число ИТ-компаний в Москве и что-то маловато филиалов этих компаний в регионах. Сужу я по своему городу-миллионнику. Филиалы есть, но их мало. У нас огромное количество кадров (программистов или около того) выпускается и такое же огромное количество уезжает в столицы или за рубеж. Всё потому, что там перспективы выше. Всё что нужно, чтоб сохранить кадры здесь – открывать филиалы. Я искренне надеюсь быть услышанным, и надеюсь, что конкуренция в нашем регионе позволит развиваться ИТ у нас в городе и в республике в целом. А это в свою очередь приведет к увеличению числа крутых программистов в городе и новому интересу со стороны работодателей.

P.S. Возможно я что-то упустил, буду рад обменятся мнением в комментариях.
Готовы ли Вы отдать часть работ на аутсорс:

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Проголосовало 63 человека. Воздержался 31 человек.

Готовы ли Вы открыть филиал в другом городе:

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Проголосовало 60 человек. Воздержалось 33 человека.

Комментарии (7)


  1. pikla
    01.06.2015 10:27
    +3

    Могу сказать про себя, сегодня уже часть производства товаров мы отдаём на аутсорс, кризис к этому подталкивает.
    По поводу контроля: создается увесистый пакет документов в котором прописаны все нюансы и ответственности сторон. Хотя есть опасения что наши наработки украдут или будут частично использовать, но понимая что украсть это пол дела, надо еще и продать, поэтому спим спокойно.
    Аутсорс это не только выгодно, но и дает нам возможность сосредоточится на чем то другом.


  1. Awake
    01.06.2015 15:08
    -2

    «Преимущества, если работать с аутсорс-компаниями:
    нет необходимости контролировать процесс;»

    ха-ха-ахахаха


    1. pikla
      01.06.2015 15:49
      +1

      Я так полагаю автор имеет ввиду что «ставится цель, сроки» и дальше голова не болей о том как они ее выполнят.


  1. Fasakhov
    01.06.2015 21:10

    Сейчас коммуникация и контроль за работой удаленных сотрудников успешно ведется программными методами. На рынке большое количество таск-трекеров, баг-трекеров. Что-то типа JIRA. У нас в конторе для некоторых видов работ аутсорсерами используется тайм-трекер Time Tracking primaERP для учета времени по проектам и задачам.


  1. max-kuznetsov
    02.06.2015 10:51
    +2

    Есть несколько минусов работы с аутсорсерами, которые проявляются на практике.

    Прежде всего, это контроль применяемых решений и технологий. Допустим, бизнес привлекает аутсорсеров к созданию некоторой системы. Аутсорсеры выполняют работу. Бизнес получает работающую систему, но не получает знаний о том, как она реализована. После этого бизнес и аутсорсеры расходятся, и бизнес, не знающий тонкостей реализации, вынужден платить минимум вдвое больше за сопровождение системы, поскольку требуется сначала провести дорогостоящий анализ кода для диагностики, и лишь потом исправить ошибку. Как в старом анекдоте: $1 за ремонт и $99 за знание того, где ударить.

    Во-вторых, аутсорсерам редко доверяют критические участки кода или код, который реализует закрытые технологии. Это ведёт к тому, что аутсорсеры чаще занимаются типовыми задачами, лежащими на поверхности, но совершенно не имеют знаний о том, как работают применяемые ими фрейворки и компоненты. Недавно один менеджер — представитель аутсорсинговой компании вещал мне, что разработчику совсем необязательно знать работу сборщика мусора в .NET. Увы, это не исключение, а правило.

    В-третьих, в аутсорсинговых компаниях большая текучка кадров. Элементарно, программисты хотят расти, а не заниматься вечно одними и теми же задачами. И уходят они в самый разгар проекта, вы не можете ни предвидеть это, ни отсрочить. А с разработчиком уходит и часть знаний о проекте (вот только не надо говорить, что разработчик обязан документировать каждый свой чих в проекте — в теории звучит красиво, на практике платить за это никто не хочет).

    Итого, аутсорсинг имеет большие ограничения, о которых автор не сказал.


    1. zildarius Автор
      02.06.2015 11:09

      Попробую ответить на Ваши вопросы:
      1) Бизнес не должен отдавать что-то на аутсорс если у него нет собственной IT-службы, которая бы поддерживала продукт.
      Если же всё же такое случилось — необходимо обговорить, весь перечень документов, которые получит заказчик. От руководства пользователя до руководства программиста. А также сроки поддержки, и что в нее входит. Если это мелкий заказчик (без IT-службы), который хочет быстро и дешево и нанял аутсорсера чтобы только сделал — то это просто неправильный подход.
      2) Согласен.
      3) Не до конца согласен. Даже в Вашей собственной компании программист может резко «встать и уйти». Но если это случилось в аутсорс компании — то это ответственность аутсорс компании. Работу заказали у них, а не у программиста и спрос с них, а не с отдельного человека. В любом случае, конечно, это скорее всего болезненно скажется на всё проекте (если программист действительно был неотъемлемой частью проекта), но, мне кажется, тут ничего не поделаешь. Равно как если это случится внутри Вашей компании.
      Аутсорсеру тоже невыгодна потеря программиста, и, я уверен, что он будет принимать ровно те же меры, что и Вы внутри своей компании. Поэтому, я считаю, что это проблема не аутсорсеров, а проблема вообще.


  1. RinatMullayanov
    02.06.2015 12:55

    по моему скайп на сегодняшний день плохой инструмент для общения по работе — групповой чат быстро превращается в свалку. В качестве альтернативы можно посмотреть Slack или HipChat