Как стать автором
Обновить

Комментарии 63

Хорошая тема.
Я бы ещё рассмотрел вариант случайного распределения задач с одинаковым приоритетом. Очень удобно, когда необходимо что бы программисты были хоть в какой то мере взаимозаменяемы.

Наиболее оптимальный алгоритм выбора в сферично-вакуумных условиях — shortest due date. Т.е. браться надо за то, что должно быть быстрее закончено (при этом просроченные задачи — отбрасываются на переоценку сроков). Это даёт наибольшую скорость работы.
Обычно это выливается во то, что сначала разгребается вся мелочёвка, а потом уже большие "куски" в порядке поступления.

К тому же мелочевка больше удовольствия от результатов работы приносит.

Ну не знаю, по-моему, большая проблема не длительный выбор задачи, а длительный выбор способа её реализации.
Тут описана ситуация, когда выбор способа ее реализации идет до выбора задачи, в том числе.
Т.е. висит пул и ты сидишь, думаешь. Хочу ли я это делать и как это буду делать.
Ситуация становится совсем затянутой, зачастую.
Да какая-то несколько гипотетическая ситуация, как мне кажется.
Я бы назвал это не гипотетической, а скорее — несколько гипертрофированной.
Но такое встречается, на самом деле.
Это встречается практически всегда на пуле difficult задач (те, которые «сложные», но не complex, а difficult, т.е. разбиению на более простые части не поддаются). Там без проверки способа решения боем практически никогда не обходится, если только у вас вдруг не нашлось рокстар-программиста, который без всякой проверки заранее знает, как это решить. Но рокстар-программисты — это как правило про алгоритмически сложные вещи, а есть еще вещи разряда «взять пяток сторонних инструментов и увязать их в кучу для решения задачи, потому что теоретически они вроде бы должны увязываться».

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

на выбор задачи уходит до 50 % времени

С точки зрения выбора, бывает и другая ситуация.
Был опыт — человек взял себе задачу, потому что она показалась ему интересной. 3 дня вертел, крутил (без разработки, просто определял, как ему решить ее) и вернул на доработку аналитикам, с просьбой уточнить.
Так как эта задача уже горела, ее отдели другому, который выразил готовность закрыть срочное дело. Срок передачи на тестирование — чуть менее трех часов, с учетом времени на определение как сделать.
Поэтому — выбор с одной стороны зло. Но возможность брать более интересные себе в данный период времени задачи — влияет на мотивацию. Поэтому, я бы добавил в резюме — периодический «соцопрос» — что хотели бы получать в приоритете. Это усложняет процесс передачи задач в работу, но позволяет поддерживать настрой команды :)
И иногда умышленно идешь на передачу задачи программисту, который сделает ее дольше в 1,5-2 раза, но знаешь, что это поднимет мотивацию ему — «мне верят, дают развиваться», команде — «о нас заботятся» и просто будет приятно. Конечно, при условии, что это не горит.

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

Да, я ровно про то же, спасибо за упрощение моего спича :)
Читаю я вас Иван читаю и… что то не впиливаю никак.

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

Иван, не надо выдавать худ. рассказы и возможно вашу веру в людей за реальную жизнь.
Люди которые ни черта не делают часами, днями, неделями, а особо талантливые месяцами и годами — но всегда вам расскажут о каких то трудностях, муках, сложностях и прочем это не программисты. И не работники. Это просто люди которые получают зарплату и просиживают штаны. И таких очень и очень много. Слушать оправдания таких людей очень глупо и наивно. Сегодня он выбирал задачу, завтра он анализировал задачу, после завтра о столкнулся с непредвиденными сложностями, потом был аврал, потом еще что то. А потом выясниться что за последний месяц сотрудник не сделал ничего. Но таймшиты у него аккуратно заполнены. И там что то даже написано. Не надо лишать выбора адекватных людей из-за соботажников и неумех.

Кто будет три дня выбирать задачу как не тот кто не способен ни одной решить? Выгнать его и пусть выбирает вакансии.

Да, на текущий момент я не программист, но когда то был им и работал.
И для меня возможность самостоятельного ранжирования была задач была важным моментом.
Вчитываешься в повестку дня. Прикидываешь, что где. Начинаешь с простого, или понятного, или с того что точно сделаешь за пару часов. По делаешь то, что делается с лету, в голове крутится, то что с лету не ясно как делать. К тому времени как пару маленьких задачек закрыл уже есть понимание, что делать с большой — может к коллеге за консультацией обратиться, а может и появилось понимание куда копать.

Я даже в школе так же задачи решал. Читаем всю контрольную, потом решаем, что решается параллельно крутя в голове стереометрию. К 4ой четверти времени контрольной эта стереометрия как правило в голове сложится во что то удобоваримое. И ее тоже можно будет решить. А вы по сути предлагаете мне сразу хватать стереометрию, тратить на нее 3/4 времени контрольной и вполне вероятно решить только ее, а остальное просто не успеть.

Простите, накипело.

Что накипело-то? Ну не согласны вы со мной в данном вопросе, ну другой у вас опыт, чему тут кипеть-то?

Кипит от того, что вы продвигаете ваш «вопрос» в худших традициях худших менагеров.

Расскажу историю с позапрошлой работы.
Там у нас иногда приключались сверхурочные работы на выходных. Оплачивалось по двойному тарифу. Мы спокойно все делали из дома. В один неожиданный день… работать из дома запретили. Просто запретили. То есть езжай в выходной в офис и работай оттуда. Почему? Зачем?
Оказывается, у админа по почтово\телефонным системам были запланированы маштабные работы на инфраструктуре далекого далекого, важного и очень крупного филиала. Работы были жестко привязаны ко времени и времени было не так, чтобы много. Он начал работы — читай все сломал. И… у него дома рубануло интернет. Я так понял даже электричество. Админ резко вскочил в такси и погнал на работу. Там у него открыт удаленный рабочий стол со всеми примочками, там все подготовлено для работ. И? Его не пустили через проходную. Звонки всем начальникам и от самих начальников до любого уровня не помогли. Пропуск на доступ в офис надо оформлять заранее, а в воскресенье по звонку от кого либо это сделать нельзя. Нет, объект вполне коммерческий, никаких военных и гостайн.

Это крах. В 4 утра по МСК филиал… не начал работу. Без почты, связи и черт знает еще какой инфраструктуры работа тысяч людей была парализована почти на весь день. Конечно, адимин сделал всю работу в понедельник как только его впустили в офис. Вот только делал он это когда работа была уже парализована. Миллионные убытки как в заработной плате, так и в пролетах по договорам, доставкам, поставкам, отгрузкам и прочему прочему. Уверен вы понимаете во что выливается внезапный простой такого плана.

И что сделали менагеры? У них, уверен, был опыт. Да, они запретили работать удаленно.

Подозреваю им даже в голову не пришло, что разумней облегчить доступ сотрудников в офис. Или хотя бы обязать получать пропуск на вход в офис в выходные если у вас есть сверхурочные. Кстати, правило — «есть пропуск на выходной, обязан прийти или прогул» — осталось.

Уверен, я тоже не идеален и нередко ошибаюсь. Но «запретить всем» и «убить всех человеков» это не выход.
Что-то я видимо и правда не так написал, раз вы меня с такими парнями ровняете.
Н-да. С охраной бывают приколы.
У нас как-то замдиректора приехал на встречу в контору-партнер и… не смог пробиться через охрану.
В плане админа — в Мск есть круглосуточные кафе с интернетом и розетками. Хотя если у него дома стационарный комп, а не ноут — то проблемно.
Я сам как-то выполнял какие-то очень срочные работы — комп был подключен к мощному UPS, электричества не было, а я рядом рушились стены ибо ремонт.
Да, задним умом то можно много решений придумать.
Понятно, что если заранее знать, что в офис не пустят, то потратишь имеющееся время с большей пользой.

Но даже с ноутами к примеру не все всегда бывает однозначно. Вот сломался он у вас (кофе пролили), а для доступа к корпоративной сети нужен сертификат. А его нет! Даже если срочно схватить ноут супруги…
У меня, кстати, сейчас именно так устроено: если домашний стационарник и ноут накрываются медным тазом, то никакое кафе мне никак не поможет. Вот совсем.

Блин проще выдать человеку ноут, и оплачивать ему мобильный интернет как резервный канал, а скорее всего у человека и так все это есть, а значит можно просто инструкцию составить на случай факапов и потребовать от удаленщиков наличие резервного канала.
Меня например ни светом ни упавшим интернетом не напугаешь.

Не бывает абсолютной защиты. Форс-мажор способен испортить все.

У меня и свет вырубало, и запасную линию интернета приходилось использовать. Но фиаско неотвратимо при любых мерах безопасности.

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

Вы готовы купить 2 дополнительных ноутбука, бензиновый генератор на балкон, подключить двух дополнительных провайдеров и после этого сломать правую руку прямо перед запланированными работами?:) Я бы наверно после такого убил себя фейспалмом левой.

Как мне нравится люди, которые просто все утрируют.

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

Вот это хорошая история. Я правда уверен, что охранники все равно ничего не поняли.

С другой стороны для справедливости хочется сказать, что в каком то смысле это их… работа. Ну, не пускать в смысле.

А вот почему эта работа всегда так ужасно организована — у меня нет ответа.
Интересно что было написано в договоре.
А то ведь… «пропуск должен быть подписан начальником охраны — он будет в понедельник». Охране, ясное дело, проще не пускать никого — идеально — охранять пустые, закрытые комнаты без окон.
И что сделали менагеры? У них, уверен, был опыт. Да, они запретили работать удаленно.

Всё правильно сделали, минимализировали риски на будущее, что бы прикрыть свою пятую точку.
Просто слабо проработанное тех.решение и не более. Можно было и мобильную флешку каждому с ноутом купить(как ниже писали) и брать второго админа на подстраховку. И списки круглосуточного доступа на объект составить, распечатать и повесить А4 на охране.
Но, это лирика. А по факту «П-планирование»
прикрыть свою пятую точку

Вы очень емко сформулировали пожалуй одну из основных корпоративных проблем.

У меня нет решения, но я совершенно точно расстроен, что люди вместо того чтобы решать на работе рабочие проблемы и задачи занимаются исключительно своей пятой точкой.
Это не проблема. Это — банальная защита своих финансовых интересов, не боле
Минусами Вас конечно покрыли от негодования, но Вы отчасти правы.
Правда, наверное, где-то посередине — мне кажется, что тут надо внедрять что-то подобное weighted round-robin — 1. Есть N инженеров и N задач; 2. Даётся M часов, много меньших чем описанные Вами несколько дней на выбор каждым инженером K[N] задач, которые были бы интересны — автоматом отсекаются неинтересные; 3. Все задачи, которые не находятся ни в одном из K[N] для всех N автоматом попадают во все K[N] для всех N; 4. Из K[N] задач для каждого инженера выбирается одна рандомно.
Вас понять можно — Вы печётесь о развитии бизнеса. Но с другой стороны как бизнесу развиваться, если инженер будет делать то, что ему не нравится, а значит будет делать это медленее? Может быть Вы предлагаете увольнять по каждому чиху и искать новых? Эджаил, который мы заслужили.
В жизни программистов увольнял, не представлял к увольнению. Я за то, чтобы любую задачу сделать интересной. Это работа тимлидера. И это не сложно.
Мне интересны велосипеды, а моему коллеге интересны мотоциклы. Интересны с детства, годами ими занимаемся. Иногда не спим по трое суток. А Вы насильно делаете так, чтобы мне стали интересны мотоциклы, а моему коллеге велосипеды?
Нет, не насильно, и не мотоциклы. Тут ситуация проще — человек ведь сам пришел в эту компанию, эту команду, на этот проект. Значит, дал согласие на решение этих задач.

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

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

Многим ещё и до звезды эти вторичные выгоды. Сами описывали такого персонажа (админ-Специалист).

Не все так однозначно. Одна и та же задача может быть сегодня интересной, а завтра — нет.

Ну и с выбором так же. Где-то нужен, где-то нет. Вы же в статье призываете вообще выбор убирать, а если программисту не нравится — повлиять другими методами. Я о том, что на всех это не сработает.
НЛО прилетело и опубликовало эту надпись здесь
Вот есть задачи по интеграции систем, есть по UI, есть по отчетности, есть по организации ввода данных, есть… Да много чего есть. Уверены что всем интересно одновременно все?
человек ведь сам пришел в эту компанию, эту команду, на этот проект

Но это не значит что человек не считает какие то задачи в рамках проекта скучными или наоборот. В мою бытность в 1с мне были интересны задачи по интеграциям (особенно http и веб сервисы) и немного по нестандартным UI. Еще написание общих механизмов которые в библиотеки вынести можно было бы. Все остальное меня демотивировало, особенно СКД, учет и т.п. вещи.

И опять отношение к программисту как к рабочему у станка. Процесс разработки не конвеер, если это конечно не толпа кодеров, которая просто пишет хорошо понятную рутину.
Во первых, серьезно заниматься умственной деятельностью больше 4-5 часов в день долго нереально. То есть если программист реально работал 4 из 8 часов, то это не значит потерю времени в 50 процентов, а значит и время на выбор у него вполне остается.
А во вторых в моменты когда не знаешь за что браться, как раз какая нибудь автоматическая система вполне может помочь. Но не в принудительном порядке

я сам программист, если что.

А по существу то есть что ответить? Или хочешь сказать, что выбор отнимает 50 процентов от оставшихся 4 часов?

А что по существу? Вы ведь считаете, что больше 4-5 часов в день нереально заниматься умственной деятельностью. А я месяцами по 10 часов в день могу и люблю.

Умственная деятельность бывает разная. Можно, например, числа в уме перемножать: 17 х 31 сколько будет? А 19 х 71 сколько?

Программист может писать код к конкретной поставленной ему задаче. А может сам ставить себе задачу для решения задачи более глобальной, более высокого уровня. Это разные ситуации, что тут непонятного?

Дайте сразу развернутую постановку, а то наша беседа станет бесконечной.

Это смотря что под ней понимать. В конце концов мозг ей может даже в фоне заниматься, но именно в состоянии потока мозг быстрее всего устает и хватает его в общем часа на 4. А остальным вне потока потом можно заниматься сколько угодно.

Возможно вы исключение, но я не очень в это верю. Я например после полугода *полноценной* напряженной работы по 8-9 часов в день словил головные боли по несколько раз в неделю и нервный тик. Потом конечно это прошло, но до сих пор голова болит несколько раз в месяц. По опыту многих моих знакомых — такая же история. Не могут люди вне авралов в таком режиме постоянно заниматься решением программерских задач.
Ну если конечно это не задачи которые уже расписаны от и до, но как часто такое бывает?
НЛО прилетело и опубликовало эту надпись здесь
Нейробиологи с этим не согласны (посмотрите, например, лекции Савельева на YouTube). То, чем можно заниматься и 10 часов в день, иногда и больше (сам так могу) — не того рода «умственная деятельность».
И опять отношение к программисту как к рабочему у станка.

Доброе утро, программист давно как таксист или грузчик = обычная профессия

Ну не совсем обычная, со своей спецификой, как и любая проектная деятельность.

У каждой профессии специфика и нагрузки. Я том, что любой работник в любой компании — это ресурс и чем он дешевле и производительней, тем лучше.

Это уже зависит от политэкономического строя и порядков в компании. Какой-нибудь сео или замгендиры явно никем как ресурс не рассматривается. У нас сейчас эта грань ресурс/не ресурс проходит чуть выше джунов. Джуны да — "расходный материал" для нашего руководства, а специалистов всё же берегут. Такая вот "дедовщина".

Какой-нибудь сео или замгендиры явно никем как ресурс не рассматривается.

Рассматривается собственником\советом директоров. У них просто другие задачи. И нет никакой грани и не было никогда. Есть такое понятие — утилизация ресурсов. Специалисты утилизируются гораздо больше джунов в разы, и своими задачи и чужими. А СЕО утилизируются снятием головной боли (для собственников конечно же). Нанял СЕО и бошка не болит, всегда есть на кого поорать за лагающий вифи на айфончике.
Насколько хорошие и полезные рассказы были про «Сергея» и в кого теперь превратился автор :(

Найдется масса людей, с вами не согласных. Но я ж не навязываюсь.

Выбора надо лишить

Но оставить надежду, что бы страдания были.
А если серьёзно — схема «разделяй и властвуй» или «когда правая рука не знает, что делает левая».
Я либо что не понимаю, либо что- не так. Как программист может выбирать задачу 3 дня? На скраме же говорится, что сделал и что будет делать, в том числе, если предыдущая задача сделана, берется новая незаблокированная. Если таких много, то у программиста есть 30 секунд, чтобы выбрать из них на скраме подходящую себе, либо он должен уже был сделать выбор до этого и на скраме просто озвучить. Задача длится 8-16 часов, максимум через 16 часов программист должен её закончить, слить и берется новая… какие три дня, не понимаю???
Зачем автору чужие проверенные решения. Он лучше своё придумает, и будет героически решать проблемы, которые уже где-то давно решены.
Вы, наверное удивитесь, но не все(думается мне, их всё же меньшенство) программисты работают по скраму.
А ещё далеко не все те кто работают по «скраму», работают по скраму.
Нормальные люди скрам не любят (пост на хабре был). И задачи могут быть такие, что длятся месяцами.
Дело не в людях, а в процессах. Если у заказчика 7 пятниц на неделе, и вчера надо было срочно делать одно, а сегодня всё бросай и берись за другое (и ещё неожиданно сваливаются задачи поддержки), скрам во всё это привносит чуточку порядка.

Если же задачи длинные (длятся месяцами), ТЗ не меняется — скрам не нужен. Но тут и проблемы выбора задачи вроде нет?

Да, так и есть, единственное, что даже при неизменном Т. З. Скрам тоже полезен, все тоже самое, только фиче бэклог не меняется… Он помогает более адекватно показывать менеджменту сроки, основываясь на скорости спринтов, ну и не позволяет команде тянуть с выбором задач )

Почему бы не совместить оба подхода?
Давать х часов на выбор, невыбранные задачи распределяются автоматически. Если три дня на выбор — много, а пару часов — мало, то должен существовать на этом отрезке оптимум.


И ещё у меня вопрос. Почему нельзя делать выбор новой задачи, параллельно с решением текущей? Все равно надо отвлекаться от решения текущей, на мой взгляд невозможно все 100% рабочего времени сосредоточить на одной задаче.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации