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

Пользователь

Отправить сообщение

Книги для тимлидов и руководителей проектов. Часть 2

Время на прочтение3 мин
Количество просмотров81K
Предыдущая статья очень хорошо была воспринята читателями, поэтому, как и обещал, сегодня подготовил статью-бонус.

Итак, я просил ответить на вопрос какие книги из статьи вы читали?

Результаты опроса:
Название книги
Количество голосов
Процент
Том ДеМарко. Deadline. Роман
об управлении проектами
247
54%
Фредерик Брукс. Мифический человеко-месяц, или Как создаются
программные системы
174
38%
Джоэл Спольски. Джоэл о программировании
165
36%
Том Демарко и Тимоти Листер. Человеческий фактор. Успешные
проекты и команды
148
32%
Джейсон Фрайд, Дэвид Хайнемайер Хенссон. Rework.
Бизнес без предрассудков
108
24%
Джеффри Янг и Уильям Саймон. iКона. Стив
Джобс
94
21%
Том ДеМарко, Тимоти Листер. Вальсируя с Медведями: управление
рисками в проектах по разработке программного обеспечения
70
15%
Том Демарко, Тимоти Листер. Балдеющие от адреналина и зомбированные
шаблонами. Паттерны поведения проектных команд
51
11%
Кармин Галло. iПрезентация. Уроки
убеждения от лидера Apple Стива Джобса
48
11%
Патрик Ленсиони. Смерть от совещаний
21
5%
Патрик Ленсиони. Пять пороков команды. Притчи о
лидерстве
19
4%
Патрик Ленсиони. Пять искушений руководителя: притчи о лидерстве
16
4%
Патрик Ленсиони. Три признака унылой работы. История со смыслом
для менеджеров (и их подчиненных)
11
2%

А теперь еще один бонус — список книг по заданной тематике, которые прислали нам читатели:
Читать дальше →
Всего голосов 89: ↑81 и ↓8+73
Комментарии12

Книги для тимлидов и руководителей проектов

Время на прочтение2 мин
Количество просмотров171K
Какими свойствами должен обладать хороший тимлид? Он, несомненно, должен быть технарем, иметь разносторонний опыт, уметь налаживать диалог внутри команды и с начальством, вести дискуссии и принимать решения, брать на себя ответственность, понимать бизнес-процессы, думать как заказчик и владелец бизнеса. Ну и быть немного психологом.

В отечественном IT я часто наблюдаю следующую картину: тимлидом часто становился лучший (?) разработчик из команды (aka 23-летний сеньор). А чтобы стать руководителем проекта (project manager) иногда достаточно просто знать английский и «павэрпойнт» на уровне пользователя. Это реалии отечественного аутсорсинга и с этим нужно как-то жить.

В итоге часто получается как-то так:
Потому что на десять сеньоров по статистике девять тупят.
Читать дальше →
Всего голосов 84: ↑74 и ↓10+64
Комментарии53

Мы сделаем этот велосипед за месяц

Время на прочтение5 мин
Количество просмотров163K
Правильное управление процессом разработки это не меньшая проблема, чем собственно правильный код. Начинающие руководители часто даже не задумываются об этом, наступая на одни и те же грабли. На примере одной вымышленной истории попробуем разобраться какие проблемы нас ожидают и что можно сделать.

В статье я не открою никакой тайны, и серебряной пули у меня нет. Также я не претендую на глубокое и качественное знание процесса разработки, но опишу один из простейших подходов, который применяю сам. Здесь будут описаны простые и элементарные вещи, известные всякому опытному руководителю проектов. Статья предназначена прежде всего для начинающих РП, тимлидов, и тех, кто совмещает эти должности. Впрочем, она полезна в любой сложной деятельности.

Велосипед


image
Итак, Вася долго трудился рядовым программистом, ведущим программистом и наконец стал Руководителем. У него есть команда отчаянных головорезов разработчиков в количестве двух единиц. Безусловно талантливых и знающих свое дело специалистов.

Вася получает первый заказ — надо сделать … велосипед.
Что же случилось далее
Всего голосов 141: ↑132 и ↓9+123
Комментарии89

Какую прочесть книгу, чтобы делать доклады лучше?

Время на прочтение5 мин
Количество просмотров25K
UPD: заголовок поменял по просьбе общественности. Предыдущий вариант был «Как прочесть книгу и стать лучше».

В начале октября издательство «Манн, Иванов и Фербер» предложило мне написать, что я думаю о книге Алексея Каптерева «Мастерство презентации». Почему мне? Виной тому — мои посты на Хабре по искусству презентаций (тыц, еще тыц).

Книга оказалась интересной, я согласился. Поскольку денег за обзор не платят, и в издательстве я не работаю, ниже — гарантированно честный обзор. Станете ли вы лучше или успешнее, если прочтете еще одну книгу? Решать вам: собственно, я и пишу свои впечатления для того, чтобы хабраразум в дискуссии решил – надо ли нам читать такие книги, и что они нам могут дать нового для успеха.

Вкратце мое мнение: книгу читать стоит именно потому что она помогает стать лучше. Не делать презентации лучше, а лучше понимать, зачем и как общаться с людьми, как это делать эффективнее, словом – как за то же время сделать больше хорошего себе и людям.

Для меня существенным аргументом «за» эту книгу была рекомендация Ильи Сегаловича, со-основателя и бессменного технического директора Яндекса: «Алексей замечательно знает и умеет преподать науку рассказывания. Слушать его – удовольствие, а советы – бесценны».

Книга меня поразила, и прежде чем вы решите, стоит ли читать этот обзор дальше, сразу предупреждаю: кроме бочки меда будет несколько ложек дегтя. Начнем, для бодрости, с хорошего.
Читать дальше →
Всего голосов 50: ↑34 и ↓16+18
Комментарии16

Тёмная сторона Силы. Почему в продуктовой команде должен быть руководитель проекта

Время на прочтение3 мин
Количество просмотров74K
Недавно я перечитывал свою старую статью по управлению людьми, написанную около трёх лет назад. В тот момент я был начинающим руководителем проектов и «тёмная сторона силы» в управлении проектами казалась далёкой и нереальной.

Project Manager vs. Product Manager

Тогда в моей ответственности был заказной проект с чёткими требованиями, «моя» команда, которой я ставил задачи, защищал и оберегал от внешнего мира, расписание, которое я составлял и отстаивал в дискуссиях с руководством и заказчиком. С заказчиком, как и с руководством, я общался с позиции команды и отстаивал её интересы: чтобы сроки были достаточны, чтобы новые требования не появлялись «ниоткуда», чтобы претензии к качеству имели под собой реальные основы и так далее. Отношение с командой при этом было, на мой взгляд, близкое к идеалу. Конечно, встречались и конфликты и разногласия, но, в большинстве случаев, они разрешались мгновенно и безболезненно.
Читать про тёмную сторону
Всего голосов 94: ↑77 и ↓17+60
Комментарии56

Как два программиста хлеб пекли

Время на прочтение5 мин
Количество просмотров259K


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

Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.

Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.

Именно так, «делался», без уточнения способа производства.

Как же поступят наши программисты?
Читать дальше →
Всего голосов 380: ↑348 и ↓32+316
Комментарии328

Реальная оценка или почему наступают дедлайны?

Время на прочтение3 мин
Количество просмотров63K
image

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

Для пущей точности я сделал таблицу, которая помогает перевести программистские оценки в приближенные к реальности.
Читать дальше →
Всего голосов 138: ↑127 и ↓11+116
Комментарии108

Как из болота вытягивать ITшника или об общении в стрессовых ситуациях

Время на прочтение21 мин
Количество просмотров274K

Неприятности случаются… Неожиданно плохой фидбек, проблемы с заказчиком или коллегами, не повысили зарплату, странные баги, внезапный овертайм или закрытие проекта — подобные события запускают цепочку реактивных реакций:

  • Нет, тут есть ошибка -> сами гады -> а может все не так и плохо -> ппц -> ладно, давай выкручиваться

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

  • Как узнать каждое состояние и предугадать следующее?
  • Как помочь выйти себе и собеседнику из цепочки?
  • Что не делать, чтобы не усугубить ситуацию?
Читать дальше →
Всего голосов 199: ↑186 и ↓13+173
Комментарии88

Наш процесс разработки: 50 месяцев эволюции

Время на прочтение9 мин
Количество просмотров44K
Нашей компании уже 6 лет. Она была основана на принципах agile и росла на них. Мы использовали Extreme Programming с самого первого дня, добавили немного Scrum позже и в конце концов переключились на Kanban. Хочется поделиться бесценным опытом и рассказать об изменениях нашего процесса разработки за последние 4 года.



Много ужасных таблиц и красивых картинок
Всего голосов 130: ↑114 и ↓16+98
Комментарии147

Красной таблетки не существует

Время на прочтение5 мин
Количество просмотров128K

О чем это


Я долгое время был адептом идей о равенстве, свободе и братстве том, что существует красная таблетка.

— Что можно с помощью ООП решить все проблемы масштабирования программ;
— Что с помощью одной методологии можно выстроить разработку проектов;
— Что с помощью нескольких гениальных книг можно научиться проектировать интерфейсы.

На самом деле, после пары десятков проектов я пришел к выводу, что все это — не более чем заблуждения, и чудеса происходят только в книгах авторов, которые делают на своих бестселлерах миллионы. Или в головах консультантов, которые делают деньги, продавая вам фуфло в виде Agile, KPI и прочих умных слов.

Я не сделаю, возможно, в этом посте никаких открытий. Но сэкономлю вам пару лет, если вы решитесь поверить моему опыту.

Читать дальше →
Всего голосов 355: ↑326 и ↓29+297
Комментарии348

Использование MS Project для управления проектами по разработке ПО

Время на прочтение10 мин
Количество просмотров464K
Я хочу поделиться своим опытом использования MS Project для управления проектами по разработке программного обеспечения. Я уже лет 10 занимаюсь управлением проектами,
и в результате у меня родилась некоторая методология использования MS Project, которая позволяет получить от него немалую пользу и при этом меньше зависеть от его недостатков.
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии38

Кормление и уход за разработчиками (или почему мы такие ворчуны)

Время на прочтение22 мин
Количество просмотров28K
Прим. переводчика — В оригинале использовался всем знакомый термин «software engineer». Так как русский его аналог «инженер-программист» используется в повседневной речи редко, пришлось использовать слово «разработчик» как наиболее близкое. Также профессия «short-order cook», с которой автор сравнивает положение многих разработчиков в индустрии, была переведена как «мальчик на побегушках» — мне кажется, что она отлично отражает суть проблемы отношения к разработчикам. Наконец, я старался везде вместо слов «to code» и «programming» использовать «разрабатывать» и «разработка» из-за сложившемся в русском языке негативном смысле слов «кодировать» и «программирование» как примитивных процессов перевода требований в машинные инструкции низкого или высокого уровня.

Автор оригинальной статьи — Nickolas C. Zakas, известный фронтенд разработчик и JavaScript-евангелист в свое время проработавший более пяти лет в Yahoo. Это запись из его блога, в которой он говорит о том, почему с разработчиками так сложно договориться и что с этим делать.


Не так давно Дженна Байлотта написала замечательную статью «Как дизайнерам ужиться с разработчиками», в которой она описывает методы работы в команде, позволяющие дизайнерам и разработчикам добиться лучшей производительности. Я в свое время работал с дизайнерами (а, работая в UI, и с разработчиками) и столкнулся с похожими проблемами, так что мне понятен ее практичный подход. Во время командной работы никогда не помешает уважать труд своих коллег и понимать их способ мышления.

Одна из главных мыслей той статьи заключалась в том, что разработчики говорят «нет» слишком быстро. Эта мысль тут же въелась мне в мозг и долго отказывалась вылезать оттуда. Мне хотелось воскликнуть: «Но подожди, ты же не понимаешь, почему мы говорим „нет“!». Тут же появился миллион других защитных аргументов. На самом деле она, конечно, права — мы правда слишком быстро говорим «нет», причем не только дизайнерам, а вообще всем. Это побудило меня поразмыслить над психологией разработчиков и тем, что составляет нашу истинную суть.
Читать дальше →
Всего голосов 242: ↑228 и ↓14+214
Комментарии76

Как подружиться с программистами и добиться от них эффективной работы? Статья Олега Вахромеева

Время на прочтение3 мин
Количество просмотров5.9K
image
При разработке мобильных приложений, да и любых других цифровых продуктов, одной из самых трудных и самых важных задач является налаживание эффективного сотрудничества между менеджерами и программистами. Эта проблема актуальна как при работе с подрядчиками–продакшенами, так и при развитии своего собственного технического отдела.

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

Переоценка или недооценка сроков. Причин может быть масса: программист слышит задачу и не сразу понимает, как много подводных камней она в себе несёт, либо менеджер совсем не понимает технического процесса и ставит срок выполнения наугад. Бороться с этим не так сложно на самом деле: при установке сроков и приоритетов, нужно пройтись еще раз по всему списку и уточнить правильно ли оценены сроки. Если примерно прокрутить рабочий процесс по каждой задаче, картина станет яснее. Совсем неожиданностей избежать не получится, но свести их к минимуму можно.

Увязание в обсуждении деталей. С другой стороны, часто возникает ситуация, когда при обсуждении задачи, происходит слишком сильное погружение в технические моменты. И вот уже менеджер тщетно пытается понять особенности программного кода, вычислительных процессов и особенностей программной анимации. В такой ситуации будет лучше, если менеджер честно будет говорить, что не понимает некоторых моментов и будет просить объяснить их на пальцах. Гораздо хуже, когда программисты просят менеджера сделать выбор, а тот делает его наугад, боясь признаться, что не понимает всех деталей программирования.

Проблема с документальным ведением проектов. Существует множество систем управления проектами: от самых простых до комплексных. Важно понимать про них только одно: программы по ведению проектов — это инструменты, а не автоматическая система управления и улучшения работы. Если вы поставили себе Basecamp, это не значит, что ваша компания автоматически становится такой же крутой как 37signals. Важно найти понятный и удобный для всех способ менеджмента и тайминга проектов. Бывает и такое, что вашей команде удобнее вести переписку по электронной почте и этого достаточно, хотя в таких случаях чаще эффективность работы минимальна.

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

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

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

Буду рад, если вы поделитесь своими мыслями и опытом построения этих процессов в своей компании.

Олег Вахромеев ( Ассоциация разработчиков мобильных приложений России )
Всего голосов 1: ↑0 и ↓1-1
Комментарии1

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

Время на прочтение7 мин
Количество просмотров82K
Грамотно управлять проектом – значит сочетать науку и искусство! Успешно управлять проектом – значит создать команду, которая произведет нужный коммерческий или общественно важный продукт, и тем самым, исполнит свою миссию. Эффективный менеджер руководит командой, демонстрируя симбиоз технических решений и управленческих методов в своей работе.

У многих специалистов в области веб-программирования уже давно сложилось собственное мнение о том, какими преимуществами и недостатками обладает та, или иная система управления проектами.
Лидерами гонки технологий коллективного веб-программирования, несомненно, станут новые системные подходы к процессу создания интеллектуального продукта.

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии16

Главный принцип хорошего кода

Время на прочтение9 мин
Количество просмотров86K
За двадцать лет разнообразного программирования я сформулировал, убежден, главнейший принцип хорошего кода. Опираясь на него, мне и моим коллегам удавалось приводить в порядок самый страшный код, объединять в команде малосовместимых программистов и годами поддерживать системы без лишнего нытья.

Прочтение этой статьи: 15 минут
Осмысление методики: 10 минут
Ощутимые результаты: 30 минут

Итак,
Всего голосов 168: ↑120 и ↓48+72
Комментарии174

Правильный стул для ежедневной работы за компьютером

Время на прочтение5 мин
Количество просмотров859K
Золотой Остап и его стулВопрос о столах поднимался несколько раз (раз, два).

Однако, на чем же мы сидим перед столом?

Стул — не менее важная часть рабочего места любого человека, много времени работающего за компьютером в течение дня.

Все мы работаем с компьютером и порой не замечаем, на чем же мы сидим.

Оказывается наши санитарные правила и нормы (СанПиН 2.2.2/2.4.1340-03) достаточно хорошо описывают удобный эргономичный стул для работы взрослых за компьютером!

А какой стул правильный?
Читать дальше →
Всего голосов 134: ↑125 и ↓9+116
Комментарии309

Об учёте времени в проектах разработки ПО

Время на прочтение8 мин
Количество просмотров22K
В своей работе мне довольно часто приходится обсуждать вопросы подходов к учету времени, потраченного на разработку программного обеспечения. Нужно ли учитывать время по каждой задаче? Нужно ли отчитываться каждый день? Полезны ли «таймшиты» и как они должны выглядеть? Кто должен заполнять отчёты и когда? И т.д. Иногда разговор уходит к противостоянию Agile-методологий и более строгих методов управления.
Бывает, такие обсуждения переходят в спор, противостояние точек зрения, а заканчиваются примиряющей фразой: «конечно же, каждая компания имеет свою специфику и особенности, свою модель бизнеса, а значит и свои подходы к учету ресурсов». И это правильно, потому что, по большому счету, принципы учета ресурсов зависят от модели бизнеса, но я всё же хочу собрать в одном месте накопленные аргументы разных сторон и подходов, а главное — попробовать сделать «открытую статью», статью в виде диалога, в виде противостояния аргументов и точек зрения, на которую повлияют комментарии и голоса читателей.
На мой взгляд, различные варианты сводятся к трем базовым подходам:
  1. Учёт потраченных человеко-часов с разбивкой по задачам
  2. Учёт реализуемого функционала (backlog/requirements) и общая оценка стоимости работ
  3. Творческая работа без списка функционала и контроля ресурсов

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

Обсуждать и противопоставлять мы будем первые два подхода, потому что про третий я рассуждать не могу. Мне приходилось работать в разных компаниях и в разных проектах, на разных технологиях и в разных управленческих схемах…
И самые интересные, технологически сложные и продвинутые, самые необычные проекты делались именно по третьему подходу. Именно про эти проекты я рассказывал на собеседованиях, именно в них создавались принципиально новые продукты, а не всякая надоевшая обыденность типа база данных→бизнес-логика→бизнес-процессы→клиентские представления→отчёты. Работой в этих проектах я горжусь, вспоминаю с ностальгией, не стесняюсь сказать «вот эти архитектурные решения принял я», и именно про эти проекты обычно слушают с большим интересом. Но с другой стороны, именно эти проекты были очень дорогими и экономически сомнительными. Сейчас никакие аргументы за или против таких проектов я приводить не готов, поэтому рассмотрим только два подхода:
Timesheet vs Backlog
Всего голосов 29: ↑13 и ↓16-3
Комментарии48

Перевод: Чему я научился за 30 лет программирования

Время на прочтение5 мин
Количество просмотров78K
Оригинальная статья Джона Грэхем-Камминга.
Переведено и опубликовано с разрешения автора.


Я занимаюсь программированием уже более 30 лет, начиная с машин, уже устаревших (на процессорах Z80 и 6502) до современных, используя языки BASIC, ассемблера, C, C++, Tcl, Perl, Lisp, ML, occam, arc, Ruby, Go и многие другие.

Далее следует список того, чему я научился.
Читать дальше
Всего голосов 155: ↑127 и ↓28+99
Комментарии86

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность