Комментарии 127
У всех почта должна проверятся с интервалом 1 минута (впрочем, если вы сторонник невмешательства в работу, можно всю срочную коммуникацию перенести в IM, и установить интервал проверки 30-60 минут).
Отвлекать и мешать сосредоточиться будет — мама не горюй. Еще Спольски писал, что после того как программист отвлекся, ему нужно около получаса чтобы вернуться к продуктивной работе.
Вы должны просматривать то что они закомитили, и спрашивать прямо если нужно: «Ты действительно потратил 8 часов на эти вот 10 строчек?»
А какая разница, сколько я потретил времени на 10 строчек, если я получаю деньги за результат, а не за потраченное время? 10 строчек на каком-нибудь хаскеле можно рожать и больше 8 часов.
Вообще говоря, есть такие понятия, как дисциплина и ответственность. И дисциплинированных, ответственных сотрудников такой тотальный контроль будет мягко говоря нервировать.
Я разве говорю тотальный контроль? Если прогеры чувствуют что они делают что угодно, и результат один, все идет в разнос.
В статье написано, что строчки бывают разные. Бывают строки которые стоят 8 часов, бывают которые не стоят и 10 минут.
И про дисциплину есть очень четкая фраза «скорость стада равна скорости самого слабого в стаде».
Это к тому, что для распределенной команды в разных часовых поясах можно предлагать удобный для всей команды режим работы, отчетности и оплаты.
Про подчиненных вы правы, такого конечно же говорить нельзя :)
скорость стада равна скорости самого слабого в стаде
Только в случае когда все задачи, выполняемые программистами связаны друг с другом. Если они не связаны или связаны слабо, то более быстрый просто сделает больше работы и получит больше денег.
А недостаток контроля даже самых ответственных расхолаживает.
Вариант с таймтрекером пробовали, с письмом больше ответственности (т.к. его надо отправлять до определенного времени, а таймтрекер — на него часто забивают).
для jira существует куча плагинов для оценки прогресса и построения красивых графиков по задачам
вся отчетность нужна менеджеру, а отчеты от программеров, это перевешивание работы с себя на других
Тут ведь нужны не графики, а личное понимание сотрудника, что если буду мало работать — будет сложно писать письмо вечером :-)
По письмо также видно когда оно было отправлено. Самодисциплина тренируется :-)
Сначала были недовольства. Потом — устаканилось.
Про себя: Поначалу я писал. На понятную менеджеру формулировку тратится дофига времени и сил. При том, что менеджер хороший и в технических знаниях даст мне фору много раз подряд, просто естественным образом не в теме всех деталей моих задач, которые знаю я. Я не стал игнорировать отчёты, просто объяснил по-человечески, что мне тяжело тратить кучу времени на вербальную формулировку своих действий — ведь порой исправить баг быстрее, чем описать его комментарием коммита. Так в коммите понимающему человеку виден контекст, где были произведены изменения, что в отчёте пришлось бы описывать отдельно. К тому же между задачами часто переключаешься, отвлекаешься на сопутствующие проблемы и проблемы других разработчиков, в итоге тяжело понять, сколько именно на что потратил.
У меня отчёт сейчас: количество потраченного времени всего и на какой род деятельности я его потратил в основном — правка багов, совместная работа, чтение документации или работа по тикетам.
Подгонка раздутием количества часов не интересна по причине отсутствия строгого контроля за их суммарным количеством. Хотя на самом деле следствие, видимо, обратное.
Выполнение задач с отчётом по часам мне не интересно по причине резкого падения качества моего кода в этом случае — если я напишу как получится там, где нужно взвешенное архитектурное решение или в силу гонки за часы откажусь от назревшего рефакторинга, требующего нескольких дней работы, в перспективе результат будет только хуже.
Если шефа интересуют подробности того, что я делаю или делал сегодня и он не может понять это по логам VCS и статусу тикетов — он спрашивает, в этот же день.
Итого:
Ежедневные отчёты с расписанием задач — страшное зло.
Менеджер обязан уметь читать логи VCS и статусы изменения тикетов.
Исследование деталей работ можно производить при подозрении на неудовлетворительную производительность или из технического любопытства, но не ежедневно.
Это я к тому, что ваше начальство не сильно то и стремилось иметь заполненные логи.
У меня каждое утро начинается с заполнения логов за вчера. И получается, что вчера я не думал о гонке за часами или строгом следовании технического задания. Нужен рефакторинг — я его проводил. А утром сегодня я просто констатировал то, что вчера делал.
Еще не сильно понимаю чем отличается письмо с отчетом от заполнения логов. По-моему это одинаково сложно.
Вы не подумайте — я, как разработчик, с вами полностью согласен, что таймтрекер — это зло, он только мешает. Но это достаточно хороший способ контролировать своих сотрудников. Если шеф заболел/ушел в отпуск (например на недельки две) контроль за сотрудниками протекает без него.
Итого: таймтрекер — это отличный компромисс контроля сотрудников и эффективности кода.
1. организовать общее информационное пространство для заказчика, лида, разработчиков, тестировщиков. Списки рассылки это хорошо, но большую часть материала там трудно искать, тем более отслеживать изменения.
Таким образом, нужен блог проекта, где публикуются новости, результаты встреч и т.п., нужна база знаний по проекту, где освещаются орг. вопросы, регламенты, правила и др. Единая точка входя для просмотра требований, задача, тестов, их результатов и т.п.
2. иметь и отслеживать некоторые оценочные показатели, которые помогут контролировать процесс, оценивать метрики, планировать будущие релизы, демонстрировать заказчику ход работ, сроки и текущее состояние проекта.
Уже больше двух лет работаем распределенно (заказчик, лид и тестировщик в одном городе, разработчики в нескольких других) и используем для организации и поддержки процесса систему DEVPROM. Лучшего решения нет.
Англоязычный интерфейс есть.
Что касается хостинга серьезных проектов, то Вы неправы, но в любом случае, следите за обновлениями, нам интересно не денег заработать, а разработать нужный инструмент, которым пользуются.
Скоро будем проводить бета-тестирование 1-го релиза, предполагаются бесплатные раздачи.
если да, то каковы его преимущества перед бэйскэмпом?
в кратце, basecamp — это инструмент управления задачами, можно квалифицировать его как task manager, и подходит под любую групповую деятельность.
devprom — это существенное большее, и главное, заточенное под процесс разработки ПО, то есть обладает существенно большими возможностями и потенциалом для команд разработчиков ПО.
Осталось найти заказчика :)
Во-вторых (в конкретно том, что я использую) есть система статистики в часах за день, месяц, год.
В-третьих при правильной мотивации и нормальном руководителе нет необходимости применения драконовских мер. А система учета времени важна в большей мере для планирования последующих работ и планов загрузки.
Поэтому всегда ясно «кто и когда». Бежать и проверять в час Х ничего не нужно. Это делается по итогам месяца, либо при дедлайнах.
1. Проснулись, узнали как у кого дела, сказали дружно начали.
2. Не много проманиторил для клиента, если друг сказал что работает а на манеторе redtube.com то сообщение в IM и он вернулся к работе.
Вообще хочу сказать что кроме взаимо доверия и Мониторинга, более не чего не надо.
На счет отчетов, так заказчик сам маниторит либа снимки смотрит, к концу дня по желанию общается с персоналом.
Лично я считаю что rAdmin это перебор, мы не в Китае :-)
Безусловно иногда совместная работа это хорошо, но без причины тратить дорогое время тим лида не стоит :-)
СВН больше подходит для заказчика который тупо все время обновляет папку на локалки просматривая новые файлы.
Итак, в каких ситуациях помогает (или даже спасает) использование VCS:
1. Сохранение истории кода — в любой момент времени мы можем вернуться к любому зафиксированному состоянию проекта. Машина времени — это не миф!
2. Синхронизация кода — при участии в проекте более одного человека система позволяет безболезненно производить слияние разных версий исходных текстов.
3. Сохранность кода — при использовании VCS исходный код лежит на рабочих машинах всех разработчиков + на сервере. В такой ситуации потерять код довольно сложно.
— От себя:
4. Если ломается функционал, который ранее работал, меня интересует, когда и почему он сломался. Я пишу тест на этот случай и перебором тестирую все версии от последней до момента, когда тест пройден. А вас интересует, откуда появляются баги в старом функционале? Как решаете?
5. Комментарии в CSV хорошо подходят вместо отчёта.
Если SVN — тормоза, ну попробуйте тогда git или mercurial, что ли.
Когда я знаю что мне доверяют решить задачу так как я считаю правильным и тогда когда мне удобней ( с известными оговорками ) — я чувствую вдохновление и работаю спокойно и эффективно. И если мне нужно почаса на то чтобы прийти в себя и полазить в сети — это мое дело, я сам отработаю это когда вернусь в нормальное состояние.
1. обязательно нужно использовать общий чат в Скайпе в котором общается вся команда.
2. нужно определить «общее» время, когда все участники в онлайне. Т.е. жестко установить: «с 19.00 — 20.00 (мск) всем быть в скайпе!»
В общем я думаю что в любом случае связь должна идти через тимлида, даже пускай удаленный программист сам сформулирует тимлиду ответ на вопрос заказчика или то что он хочет сказать, а он уже потом передаст это заказчику.
В оффшорных командах с почасовой оплатой оплата ведется по каждому человеку отдельно.
Даже если тим-лид и оставляет себе часть, в этом его трудно упрекнуть, так работает весь оффшор (а крупные компании вообще себе оставляют иногда до 70-80%). Я так не делаю. У меня своя ставка, у подчиненных — своя.
Я все это к тому что большинство подобных менеджеров не могут гарантировать исполнения работы от «СВОИХ» программистов, так как в большинстве случаев их даже не знают.
По мне Тим Лидер это Лидер и он должен быть лидером и чтобы таковым остоватся он должен знать всех тех кто позади него, только тогда он будет лидером когда за ним пойдут, а не когда ему дали по обещали денег 100000 он 50000 оставил себе а на оставшиеся 5000 пошёл искать людей на фрилансе который сделают то что надо за данную сумму.
И берёт на себя все риски?
И платит деньги вовремя и быстро, независимо от графика рассчёта заказчика?
И берёт на себя или перераспределяет задачи, которые я не могу выполнить в силу недостаточной квалификации?
В итоге — я знаю python, django и умею создавать сложные серверные приложения, я не хочу заниматься вёрсткой, дизайном, удоством интерфейса, контентом, переводом и прочими вещами, которые мне неинтересны. Строю архитектуру, пишу код, и на полученные деньги рассчитываюсь с кредитом за купленную квартиру. Сплю я спокойно, ведь все описанные выше проблемы — решает шеф.
Почему бы не взглянуть на это с такой сторны?
P.S. вяжется! вяжется! вяжется!
Точно так же как и при работе в офисе — вроде у всех 8 часов, но все равно надо смотреть кто сколько делает.
Просто есть печальный опыт с почасовой оплатой (в офисе, правда).
Ну и rAdmin упомянутый где-то в комментах — жесть.
а уж если в процессе работы возникает желание пользовать radmin, то нужно сразу разбегаться друг от друга.
В падлу что то заливать кудато, попросил включить радмин, приконектелись тот показал что оно работает и выглядит так, выключил радмин.
Добровольный шаринг для решения проблем безусловно удобен.
однако когда его начинают использовать для контроля рабочего времени удаленных сотрудников… перспективы у такой команды смутные.
ps/ обидно только одно, временное ограничение.
адекватная аргументация редко перекликается с минусованием неугодных)
Система контроля версий — благо с какой стороны не посмотри.
Багтрекер в комплекте с wiki — сильнейшая подпорка для памяти, сложно что-то оговоренное упустить.
Ежедневные отчёты с почасовой раскладкой — скорее зло. Обосную — зловредный баг ищется 4 часа, правится 1 строка. Возникает вопрос — зачем держать такого разгильдяя? Не будешь же указывать в отчёте мегабайты переворошённых дампов и десятки экспериментов по локализации вредной ошибки.
Гораздо лучше ежедневная раскладка заданий — минимум, норма и максимум.
А статья по делу, несоблюдение таких простых правил ведет к снижению результативности в несколько раз.
Идея с шарингом десктопа очень понравилось. Удивительно простая, но насколько полезная! :) Вики, баг/таск-трекер и SVN — разумеется да.
Что касается SVN то есть вопрос — что используете вы? Какое-то решение на собственном сервере или же свободные площадки? Если можно, то прошу описать поподробнее :)
Если не java, то есть опыт в разработке на python и ruby (не rails). Ещё есть небольшой опыт в c++/qt для девайсов, то есть не для pc, а для некой железки под бизибоксом.
У вас есть предложения? Если да, то давайте пообщаемся по хабрапочте например.
Спасибо
(как знаю здесь много сложностей возникает), на личную карточку кому-то или электронными деньгами.
Если по трудовой, то тогда получается, что все работающие находятся не так далеко — примерно в одной области, и фактически это не полноценные фрилансеры, а официально работающие удаленные сотрудники.
Ну, у нас страна(Беларусь) как ваша область :-) А те кто подальше — тем тоже wire, но они зарегестрированны как предприниматели.
Если честно, добрая половина из того, что вы описали не имеет ничего общего с реальной разработкой и тем более с деятельностью тим лида. То что вы описали больше похоже на роль надсмотрщика, причем не очень умного, работающего где-то на галерах или в упоротых банках.
Все члены команды должны высылать ежедневный отчет о потраченном времени по часам, не менее двух задач в день. Следует установить крайнее время отправки отчета (например 2 ночи мск). За опаздание с отчетом — выговор, если часто повторяется — придется искать замену.
А почему не дважды в день? :) Высылать, вы серьезно? В чем сложность поставить любой таймтрекер и пусть себе фоном тикает, в конце месяца и вы и разработчик получаете кол-во потраченного времени.
Будет неплохо договорится о ежемесячном премиальном бюджете для премирования наиболее старательных сотрудников.
Небось по количеству строчек будете определять "самых старательных"?
У всех почта должна проверятся с интервалом 1 минута
Почта в разработке зачастую присутствует как рудимент и тем более не встречал такого чтобы разработчики вели через нее коммуникацию.
... и по возможности комитить изменения к концу дня. Вы должны просматривать то что они закомитили, и спрашивать прямо если нужно: «Ты действительно потратил 8 часов на эти вот 10 строчек?»
Это совсем уже за гранью. Вы серьезно считаете что тим лид должен просматривать код своих подопечных каждый день? Сколько вы планируете тратить на это времени? Да и количество кода как правило не является отражением кол-ва затраченного времени.
За 14 лет в разработке, в роли как разработчика так и лида, при работе как из офиса так и удаленно, не встречал человека который был бы готов подписася работать на условиях описанных вами, более того, услышав об этом на собеседовании, бежал бы я от такой конторы.
Если в компании нет доверия к своим сотрудникам, то о какой качественной работе сотрудников может быть речь? Есть уйма инструментов в распоряжении у лида для того чтобы понять работают ли ваши сотрудники или нет.
Удаленная работа: тим-лиду и программистам