понедельник, 14 апреля 2014 г.

[work] Банальность: главный ингредиент в разработке ПО -- это люди

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

Управление разработкой ПО -- это управление людьми. Успех разработки не в технологиях, не в инструментах, не в процессах, не в регламентах. А в людях.

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

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

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

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

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

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

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

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

Но главный фокус в том, что теории все это просто. А на практике все намного, намного сложнее.

Отправить комментарий