понедельник, 23 августа 2010 г.

[prog.work] В продолжение темы предсказания сроков

В комментарии к заметке “О предсказании сроков написания программ” ув.тов.имя затронул тему оптимизации и ускорения рабочего процесса. Посему я ниже изложу несколько банальностей, которые задолго до меня были описаны в старых и хороших книжках (вроде “Человеческого фактора” aka Peopleware).


Рекомендации по организации рабочих мест и процесса:

  • сажать больше трех разработчиков в одну комнату – значит уменьшать эффективность их труда. В недостижимом идеале каждому разработчику нужна отдельная комната с дверью, в которой можно полностью отгородиться и погрузиться в задачу. Если это невозможно, то хотя бы отдельные кабинеты для 2-3 человек;
  • в одной комнате должны размещаться только участники одной проектной команды. Наверное, если рядом сидят трое C-шников-драйверописателей, четверо J2EE-разработчика и два PHP-шника, то у них найдется много интересных тем для разговоров (начиная от спорта и заканчивая священными войнами об обязательной необходимости закапывания С вместе с PHP). Но на работе такое соседство будет сказываться негативно;
  • каждому разработчику не нужен внутренний телефон. Менеджменту, наверное, удобно, в любой момент набрать номер любого разработчика и спросить: “А какого, собственно, х…” А вот разработчику это мешает, иногда сильно. Мешает так же и соседям по комнате. Так что телефонные переговоры разработчиков нужно уменьшать до самого необходимого минимума – в идеале, забрав у них внутренние телефоны вообще;
  • уменьшить количество совещаний и количество участников совещаний. Если кто-то собирается созвать совещание с участием шести и более человек, то это прямой путь к убиванию полезного времени участников совещания.

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

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

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

Но есть важный момент. Нужно заняться созданием чего-то своего. Написание комментариев к чужим постам или ответов на форумах – это не то. Чтение статей, книг или документации – это так же не то. Только создание чего-то своего своими руками.


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

10 комментариев:

Qrilka комментирует...

"Строки" в заголовке намеренно?

1 комментирует...

Насчёт твоего P.S. У менеджера есть два коэффициента - коэффициент спокойного сна программиста и коэффициент толщины применяемого для побудки программиста шомпола :-)

eao197 комментирует...

@Qrilka: нет, это очепятка. Спасибо!

eao197 комментирует...

@Lamer: про коэффициент для шомпола я не знал :)

имя комментирует...

> Который позволит плавно перейти и к решению ненавистной текущей задачи.

Да кстати, бывает забываю и потом переоткрываю этот метод :-) Только я бы предложил другую формулировку: вместо чего-то совсем ненавистного сделать что-то чуть-чуть ненавистное. Ну или даже просто скучное, но необходимое. В конце концов даже не необходимое, а ПРОСТО скучное, но полезное, типа разборки стола.

Случается, что скучное дело в процессе оказывается не таким уж скучным.

Да, еще имеет смысл сделать все не очень противные предварительные дела перед действительно ненавистным, чтобы в случае рабочего поно^W настроения сразу за него взяться.

> банальностей

часто важны не сами вещи, а их обсуждение

_______________________

Теперь насчет блоггинга. Я давно обсуждаю (и подумываю реализовать) некоторый принципиально другой блоггинг (или аггрегацию?) именно для продвинутых пользователей. Чтобы там было побольше % постов от людей, которых хочется назвать "ув. тов." (впрочем, покрикивающие школьники тоже нужны, но в своей дозе).

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

0. нельзя постить код с подстветкой в комментах блоггера (я попробую это исправить, есть идея :-)

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

2. нет хорошей кармы -- из-за религиозных войн (которые нужны :-) карма отражает не то, что хотелось бы, а мнение большинства; (есть некоторые идеи)


3. карма не кросс-сайтовая, хотя интересные люди именно таковы (опять есть идеи)

4. низкая плотность ценной информации там, где народу много -- типа как на ЛОРе и не так плохо в rsdn (опять есть идеи)

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

6. плохие модераторы / абсолютная власть модераторов (опять есть идеи)

7. нельзя видеть в риалтайме поступление комментов -- хотя и решается гугль вейвом, но реально не нужно

З.Ы. эээ... пока писал, возникла мысль что через яваскрипт может и можно показать комменты прямо внутри поста в блоггере... правда костыльно...

eao197 комментирует...

@имя: то, что вы написали очень похоже на продвинутую Wiki-систему. Что-то вроде confluence. То, что из этого получается, можно посмотреть, я думаю, на с2.com/wiki: http://c2.com/cgi/wiki?SocialProblemsOfLisp -- яркий пример.

Вообще, то что вы предлагаете, больше похоже на некий профессиональный ресурс (вроде ЛОР-а или RSDN-а). А формат блога, имхо, совсем другой.

В блоггере меня достают всего две вещи:
- отсутствие древовидных комментариев и
- периодическая глючность.

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

Qrilka комментирует...

А ЖЖ тебе чем не нравится?

eao197 комментирует...

@Qrilka:

>А ЖЖ тебе чем не нравится?

Когда комментариев становится слишком много, они сворачиваются так, что читать становится очень неудобно.

Ну и в ЖЖ какая-то карма нездоровая. Много раз уже сталкивался с тем, что вроде бы нормальные люди вдруг разрешают комментарии только ЖЖ-никам. По openID нельзя таким людям комментарии писать.

Qrilka комментирует...

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

eao197 комментирует...

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

не хочу и не скажу :) Но!

Комментарии на блоггере после некоторого опыта чтения комментариев на ЛОР-е читаются вполне себе легко и непринужденно.

Кроме того, модель блоггера не дает разводить срачи в комментах на 100-200+ сообщений. Может это не очень удобно читателям, зато мне, как автору блога, это экономит время и нервы.

Вообще, из того, что я видел, мне нравится система комментариев Wordpress-а. Там и древовидность, и комментарии не скрываются, и разумные граничения есть -- поскольку после определенного придела комментарии становятся совсем-совсем узкими полосками.