Процесс удаленной разработки
От: alexandrST  
Дата: 28.05.07 11:12
Оценка:
Доброго времени суток.

В настоящее время имеет место быть тенденция к удаленной разработке.
На мой (и не только) взгляд это направление имеет смысл интенсивно осваивать ввиду его несомненных выгод как для разработчиков так и для менеджеров. Т.е. необходимо осваивать инструменты и методологии для такой разработки.

Соответственно интересует мнение и советы специалистов по следующим направлениям (тех кто имеет опыт подобного рода):

0. процесс разработки — какие инструменты сейчас имеются для удаленной разработки (желательно свободно распространяемые), а именно:
— для управления процессом (планирование, назначение задач, контроль их выполнения, багтрекинг и т.п.)?
— управления кодом (отслеживание изменений, поддержка версий, сборка и т.п.) ?

и т.д. — т.е. любые полезные инструменты

имеются всмысле "используются нами"

1. есть ли какие-нибудь методологии, заточенные на удаленную разработку ? (даже если не методологии то такой своего рода набор рекомендаций что ли.)

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

например, "мы используем jira + svn + trac + cruise control + ...потому что..."

если найдется тот кто потратит время и распишет вкратце регламент разработки буду очень признателен.
(т.е. какие "роли" есть в проекте, кто чем занимается, какие знания необходимы и т.д.)

2. любые моменты которые неочевидны и важны.(и очевидные тоже )

P.S. просто я подозреваю что хотя такая разработка достаточно сильно отличается от обычной офисной в лучшую сторону,
т.е. поскольку оплата фактически сдельная (если я правильно понимаю) то требования к коду
(оформление, инфраструктура (комментарии и тесты)) выше, что хорошо, но с другой стороны требования к разработчику и менеджеру (особенно) выше.
Наверняка есть какие-то подводные камни (такие тривиальные как кто-то кого-то кидает рассматривать не будем) — если о них расскажете то буду благодарен.
Re: Процесс удаленной разработки
От: justinian Мухосранск  
Дата: 28.05.07 13:23
Оценка: +1
Здравствуйте, alexandrST, Вы писали:

ST>В настоящее время имеет место быть тенденция к удаленной разработке.


Что-то слабо такая тенденция наблюдается.

ST>На мой (и не только) взгляд это направление имеет смысл интенсивно осваивать ввиду его несомненных выгод как для разработчиков так и для менеджеров.


Абсолютное большинство менеджеров в России даже не подозревают о своей выгоде и по поводу удаленной работе свих сотрудникоы никакого энтузиазма не испытывают.
Re: Процесс удаленной разработки
От: Sergey Россия  
Дата: 28.05.07 13:37
Оценка: +1
Здравствуйте, alexandrST, Вы писали:

ST>Доброго времени суток.


ST>В настоящее время имеет место быть тенденция к удаленной разработке.

ST>На мой (и не только) взгляд это направление имеет смысл интенсивно осваивать ввиду его несомненных выгод как для разработчиков так и для менеджеров. Т.е. необходимо осваивать инструменты и методологии для такой разработки.

Кроме несомненных выгод у удаленной разработки есть и несомненные недостатки и боюсь, недостатки перевешивают.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[2]: Процесс удаленной разработки
От: white_znake  
Дата: 28.05.07 15:06
Оценка:
Здравствуйте, Sergey, Вы писали:

S>Здравствуйте, alexandrST, Вы писали:


ST>>Доброго времени суток.



S>Кроме несомненных выгод у удаленной разработки есть и несомненные недостатки и боюсь, недостатки перевешивают.


Недостатки при удаленной разработке возникают из-за плохого project management'a.

Реалии у нас таковы, что хороших менеджеров у нас довольно мало, а управлять удаленной коммандой разработчиков на много сложнее — поэтому не хватает силенок у наших 'горе — манагеров'
Re: Процесс удаленной разработки
От: Michael Chelnokov Украина  
Дата: 28.05.07 15:13
Оценка:
Здравствуйте, alexandrST, Вы писали:

ST>В настоящее время имеет место быть тенденция к удаленной разработке.


IMHO, вы отстали лет эдак на 10...
Re[3]: Процесс удаленной разработки
От: bkat  
Дата: 28.05.07 15:28
Оценка:
Здравствуйте, white_znake, Вы писали:

убедительная просьба следить за объемом цитирования — модератор

_>Реалии у нас таковы, что хороших менеджеров у нас довольно мало, а управлять удаленной коммандой разработчиков на много сложнее — поэтому не хватает силенок у наших 'горе — манагеров'


А проблемы всегда в людях
То менеджеры не те, то программеры ленивы и неподконтрольны...

Проблема коммуникации на проектах очень непроста.
Именно по этой причине народ все же стараются собрать под одну крышу.
На западе, кстати, тоже...

А если еще и какое дополнительное обородувание нужно,
то об удаленке вообще можно не вспоминать.
Re[3]: Процесс удаленной разработки
От: Sergey Россия  
Дата: 28.05.07 15:40
Оценка: 5 (2) +2
Здравствуйте, white_znake, Вы писали:

S>>Кроме несомненных выгод у удаленной разработки есть и несомненные недостатки и боюсь, недостатки перевешивают.


_>Недостатки при удаленной разработке возникают из-за плохого project management'a.


_>Реалии у нас таковы, что хороших менеджеров у нас довольно мало, а управлять удаленной коммандой разработчиков на много сложнее — поэтому не хватает силенок у наших 'горе — манагеров'


Дело не в плохом менелжменте, а в человечьей психологии и модели общения. Когда 4 человека сидят в одной комнате и работают над одной подсистемой — каждый из них автоматически будет в курсе всех проблем коллег. Рассадите их в разные города — и вам понадобиться еще один человек, единственной работой которого будет координация усилий этих четверых. Причем мало того что у начальника после перехода на удаленную работу не останется времени на программирование, у вас еще и исчезнут горизонтальные связи внутри рабочей группы.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re: Процесс удаленной разработки
От: alexandrST  
Дата: 28.05.07 16:19
Оценка:
РСДНцы, неужели никто не занимается удаленной разработкой ?

2 Michael Chelnokov — аргументируйте пожалуйста вашу позицию если считаете это возможным (время == деньги)

2 justinian — пока слабо. но думаю (это мое мнение) что за этим будущее.

2 Sergey — расскажите пожалуйста о недостатках.

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

0.не нужно тратить время на дорогу.
Что дает около 2-х часов времени в среднем (считая что требуется 1 час чтобы доехать из дома до работы...у меня это 1.5. часа в лучшем случае) + можно обедать дома, а это еще минут 40 экономится. Если считать что в среднем программист стоит 12-15$ час то работа в офисе приносит в среднем около 40$ чистого убытка ежедневно. В случае если специалист квалифицирован эта цифра может быть гораздо больше.
т.е. я на работу трачу 11 часов в день (из которых рабочих 8). по-моему достаточно заманчивым выглядит увеличение этого рабочего времени (и соответственно) до 10 часов в день при тех же временных затратах

1.лучше условия работы что сказывается на производительности. например мне гораздо больше нравится сидеть дома, с открытым окном, в шортах и почесывать пузо нежели находится в "казарме" под продувающим кондером.
время работы — можно выбирать самому. например мне работается лучше всего утром и вечером ближе к ночи.
performance выше.
это все лирика конечно, но на производительности сказывается.

2. процесс разработки более строг, управляем и регламентируем.
что дает лучший контроль над состоянием и развитием системы.
да, это требует всестороннего анализа проблемы, хорошей методологии (надеюсь, правильно слово употребляю ), выработки грамотного ТЗ, грамотного опять же планирования, разбиения проблемы на "задания" с оценкой каждого задания по времени, чуткого высококвалифицированного управления процессом и т.д.
ну а в конце-то концов за что менеджеры деньги получают ? за переадресацию мэйлов в обе стороны ?
учиться нужно и расти
и от всех участников разработки будет требоваться дисциплина и добросовестность

(тут еще такой плюс как сдельная оплата. хочешь работать больше — работай больше, меньше — работай меньше.)

P.S. по поводу тенденции почему такая уверенность — посмотрите на объявления. там одни и те же вакансии на 2.5 — 3 K по нескольку месяцев висят. почитайте отчеты hh о востребованности специалистов с опытом работы.
сейчас насколько я понимаю специалистов на всех не хватает. ЗП везде примерно одни и те же. Компании различаются только задачами -> а удаленная работа на мой взгляд это дополнительное и очень весомое преимущество в борьбе за толковых людей.

P.P.S. а еще мне путешествовать нравится . в случае привязки к Office Space это возможно, но не в той мере как того хотелось бы. а в случае удаленки работа и отдых вещи не взаимоисключающие.
Re[2]: Процесс удаленной разработки
От: C0s Россия  
Дата: 28.05.07 16:54
Оценка:
Здравствуйте, alexandrST, Вы писали:

ST>РСДНцы, неужели никто не занимается удаленной разработкой ?


лично я тебя всецело поддерживаю, с тем лишь уточнением, что под удалённой работой я склонен понимать некоторую близость к месту обсуждений/работы (офису и/или территории заказчика), чтобы при необходимости (обсуждение ТЗ, спецификаций, анализ требований, тестирование на спец.оборудовании и проч) можно было легко договориться с другими членами команды об одновременном присутствии в нужном месте
при этом такие этапы, как, собственно, кодирование, предварительные обсуждения, юнит-тестирование можно было бы делать и удалённо (т.е. сидя по домам)

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

потом, для группы создателей ПО (программистов, тестировщиков) офис нужен всё равно, пусть даже и не для каждодневной работы. всё равно, на обсуждения собираться надо, потом, кому-то, наоборот, дома не работается (я и таких встречал), к тому же в офисе может быть установлено пресловутое спец. оборудование и/или спец.софт для интеграционного тестирования. поэтому затраты на офис, всё равно, остаются

насчёт всех остальных причин нераспространения светлой идеи "работы из дома" — здесь уже высказались.
Re[2]: Процесс удаленной разработки
От: LuciferMoscow Россия  
Дата: 28.05.07 17:21
Оценка:
Здравствуйте, alexandrST, Вы писали:

ST>2 Sergey — расскажите пожалуйста о недостатках.

тута
Автор: Sergey
Дата: 28.05.07
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re: Процесс удаленной разработки
От: _Oleg_ Украина  
Дата: 28.05.07 17:23
Оценка:
Здравствуйте, alexandrST, Вы писали:

ST>Доброго времени суток.

ST>[удалено]

Взять нового человека с улицы человека, удаленную работу, на испытательный срок, проблематично.
Не известно какой у него настрой на работу.
Когда человка видишь каждый день, лучше его узнаешь.
Re[2]: Процесс удаленной разработки
От: alexandrST  
Дата: 28.05.07 17:53
Оценка:
Здравствуйте, _Oleg_, Вы писали:

_O_>Здравствуйте, alexandrST, Вы писали:


ST>>Доброго времени суток.

ST>>[удалено]

_O_>Взять нового человека с улицы человека, удаленную работу, на испытательный срок, проблематично.

_O_>Не известно какой у него настрой на работу.
_O_>Когда человка видишь каждый день, лучше его узнаешь.

Олег, на мой взгляд это как раз не проблема.
По моему скромному мнению, если человек качественно выполняет работу и при этом адекватен (не мешает другим людям из комманды выполнять свою работу) то я думаю не имеет значения какой у него "настрой" ( кстати что вы под этим понимаете ? ).
Критерий один — сделанная полезная работа.
Re[3]: Процесс удаленной разработки
От: alexandrST  
Дата: 28.05.07 18:24
Оценка:
Здравствуйте, LuciferMoscow, Вы писали:

LM>Здравствуйте, alexandrST, Вы писали:


ST>>2 Sergey — расскажите пожалуйста о недостатках.

LM>тута
Автор: Sergey
Дата: 28.05.07


Да, согласен. Коммуникация страдает. Но не всегда она настолько критична — всмысле не на всех этапах разработки.
Как справедливо (на мой взгляд) отметил С0s, есть задачи в которых очень желательно присутствие всех членов комманды (мозговой штурм), т.е. это решение ключевых вещей по проекту ("обсуждение ТЗ, спецификаций, анализ требований", обсуждение архитектуры, детализация направлений и задач и т.п. Так сказать "фаза исследования")
Под обсуждением я здесь понимаю именно обсуждение а не разработку.
Т.е. все эти замечательные вещи решает небольшая кучка высококвалифицированных людей и потом результаты их труда всем рассылаются для ознакомления, после чего все собираются и утверждают эти результаты (дополненные и измененные в соответствиями пожеланиями комманды).
Но после того как все обсуждено начинается кодирование и тестирование которое не требует постоянного нахождения всех в одной казарме.
(А оперативные вопросы вполне можно порешать по ICQ и телефону.)

И если все грамотно обсуждено то многочисленных критичных изменений, способных убить проект быть не должно

Офис конечно нужен. Чтоб было куда приглашать заказчиков, чтоб было где устанавливать сервера и "спец.оборудование", собираться и т.д. Не то чтобы необходим, но с офисом гораздо лучше чем без него.
Но необходимости присутсвия в офисе по 8 часов в день так точно нет.
0.5 — 1 раз в неделю по моему скромному мнению вполне достаточно.

2 Sergey
Про руководителя согласен отчасти. (у вас в оригинале "начальник", но я предпочитаю "руководитель" )
Любое руководство подразумевает в определенной степени отказ "от кодирования". Потому что когда человек кодит он погружен в какую-то подзадачу, "находится в контексте". А первичная задача руководителя на мой взгяд именно видеть картину в целом и "водить руками", указывая куда двигаться дальше.

"Тот, кто видит со стороны, смотрит восемью глазами"(Юдзан Дайдодзи, Будосесинсю)
Re[2]: Процесс удаленной разработки
От: Michael Chelnokov Украина  
Дата: 28.05.07 18:31
Оценка: 7 (2) +1
Здравствуйте, alexandrST, Вы писали:


ST>РСДНцы, неужели никто не занимается удаленной разработкой ?


ЗанимаЛСЯ. И я, и практически все мои знакомые программисты.

ST>2 Michael Chelnokov — аргументируйте пожалуйста вашу позицию если считаете это возможным


Пожалуйста.
Если вы посмотрите в мой профайл, то увидите что я из провинции. Скорее всего именно там вы и собираетесь себе искать "удаленных" сотрудников (в "центрах цивилизации" с этим будет еще хуже, т.к. у людей там существует намного больше возможностей найти себе куда более стабильное место, нежели случайные подработки). Так вот, возможности для "удаленной" работы у нас появились лет 10 назад, с приходом и более-менее доступностью инета (в более крупных городах это произошло еще на несколько лет раньше). Чем мы, собственно, и занялись. Во-первых, сразу же выяснилось что совмещать две работы практически нереально. Надо быть или полным задротом и ничего кроме монитора не видеть, или жертвовать одной из работ. Ладно, пожертвовали "основной". Далее выяснилось что работать, сидя по норам (дома) крайне неэффективно. Заметьте — мы жили в одном небольшом городе, проблемы с коммуникацией не возникало в принципе — телефоны и периодические собрания. Однако все же гораздо лучше стало, когда обосновались в офисе — работа пошла заметно эффективнее. Ну а раз уж офис, то уже и фирма. Через подобное прошли все знакомые мне местные программисты (а они мне знакомы практически все). Как вы думаете, что происходит с группой таких вот собравшихся вместе "вольных художников"? Очень быстро такая группа либо становится филиалом более крупной компании (де-юре, когда происходит "слияние", или де-факто, когда у группы 1-3 постоянных заказчика), либо сама вырастает до уровня самостоятельной компании с собственными проектами. И куда делась "удаленная разработка"? А нет её больше, давно пройденный этап.
Кстати, за последние несколько лет таких групп у нас больше не возникало. Молодежь предпочитает иметь стабильность со старта (т.е. работать в уже существующих фирмах), нежели рисковать и идти на вольные хлеба. Ну а у нас 10 лет назад такой возможности не было, поэтому приходилось рисковать.
Вот почему я и написал что вы опоздали на 10 лет. Время не то, у людей возможности другие.
Re[4]: Процесс удаленной разработки
От: bkat  
Дата: 28.05.07 18:36
Оценка: +1
Здравствуйте, alexandrST, Вы писали:

ST>Но после того как все обсуждено начинается кодирование и тестирование которое не требует постоянного нахождения всех в одной казарме.


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

Вот у нас один раз в неделю работает дома.
Решение проблем по аське наааамного медленнее, чем если он стоит рядом за моим компом.
Re[2]: Процесс удаленной разработки
От: Michael Chelnokov Украина  
Дата: 28.05.07 18:36
Оценка:
Здравствуйте, alexandrST, Вы писали:

ST>По моему скромному мнению у удаленной разработки одни плюсы — при условии добросовестной работы всех участников команды.


Хорошее условие. Найдите команду таких идеальных людей.

ST>Например, для разработчика что хорошо:


ST>0.не нужно тратить время на дорогу.


Это да.

ST>1. ... это все лирика конечно, но на производительности сказывается.


Да, еще как сказывается. Только совсем не в ту сторону.

ST>2. процесс разработки более строг, управляем и регламентируем.


Ой ли? Расскажите это тем кто пытался управлять группой удаленных разработчиков.
Re[2]: Процесс удаленной разработки
От: goldblueranger  
Дата: 28.05.07 18:41
Оценка:
Здравствуйте, _Oleg_, Вы писали:

_O_>Здравствуйте, alexandrST, Вы писали:


ST>>Доброго времени суток.

ST>>[удалено]

_O_>Взять нового человека с улицы человека, удаленную работу, на испытательный срок, проблематично.

_O_>Не известно какой у него настрой на работу.
_O_>Когда человка видишь каждый день, лучше его узнаешь.

Вот что мне лично непонятно — почему многим видится большая проблема в том чтобы уволить человека результатами которого недоволен?
Вот схема, эфективная вне зависимости от того удаленка или нет:

void new_employee()
{
    int warning_count = 0;

    while (true)
    {
        Output output = get_next_task_done();

        switch( measure( output ) )
        {
            case BAD_OUTPUT:     
                ++warning_count;
                if (warning_count>0)
                {
                    say_bb(); 
                    retrun;
                }
                talk_to_employee();
                break;

            case PERFECT_OUTPUT: 
                increase_salary();
                        default: 
                --warning_count; // forget single warning with every task done 
        }

        
    }
}



В этом случае у удаленки остаётся всего один недостаток — общение внутри команды. Видеоконференции и обязательные короткие ежедневные митинги помогут решить эту проблему. Согласен, что этого может хватать не всегда — на этот слуай можно снять конференс в гостинице за городом на неделю. Если такая необходимость слишком часто, то что-то нужно менять в организации работы, но это никак не связано с тем удаленная работа или нет. (Уверен, что есть частные случаи где такой вариант неприменим, но они всего лишь частные).
Re[3]: Процесс удаленной разработки
От: Michael Chelnokov Украина  
Дата: 28.05.07 18:46
Оценка:
Здравствуйте, Michael Chelnokov, Вы писали:

Да, еще. Я не сказал ни слова про заказчиков. Так вот, мало какой заказчик доверит свой проект (свои деньги) группе каких-то виртуальных товарищей. Ну разве что посредник, который разводит лоха-инвестора, а результат "работы" заведомо пойдет в корзину, о чем знают как посредник, так и работники.
У вас есть лишние деньги, которые вы хотите выбросить в корзину? Тогда мы идем к вам.
Re[5]: Процесс удаленной разработки
От: bkat  
Дата: 28.05.07 19:26
Оценка:
Здравствуйте, bkat, Вы писали:

B>Вот у нас один раз в неделю работает дома.

B>Решение проблем по аське наааамного медленнее, чем если он стоит рядом за моим компом.

Т.е. я, как программист, не хочу со своим коллегой работать удаленно.
Ну разве только за существенную добавку к зарплате
Re[6]: Процесс удаленной разработки
От: C0s Россия  
Дата: 28.05.07 19:40
Оценка: 1 (1)
Здравствуйте, bkat, Вы писали:

B>>Вот у нас один раз в неделю работает дома.

B>>Решение проблем по аське наааамного медленнее, чем если он стоит рядом за моим компом.

B>Т.е. я, как программист, не хочу со своим коллегой работать удаленно.

B>Ну разве только за существенную добавку к зарплате

ключевое слово — проблемы

мой опыт работы "из дома, близкого к офису" (я продолжаю называть это именно так вместо термина "удаленная работа", чтобы избежать путаницы и привлечения в качестве минусов аргументов типа "виртуальных людей из далёкого региона") кстати показал, что в ситуации, когда люди не создают проблем, то в целом работа идёт лучше

лучше здесь — сугубо субъективная оценка, которая, например, в последнем случае моего опыта выражается в том, что была написана масса грамотного работающего кода практически без привлечения тестеров — при том, что я как лид, не видел своих ребят неделями

если бы я постоянно тогда ездил бы в офис, я бы просто не успевал физически всё контролировать, сам бы писал меньше, плюс пришлось бы привлекать тестеров или отвлекаться на тестирование самим
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.