Фон
Я работаю разработчиком программного обеспечения более семи лет. Я собираюсь начать работать на новой должности Ведущего разработчика программного обеспечения в новой компании. У компании есть сложное приложение windows-forms (в настоящее время на версии 3.0), которым пользуются более 100 клиентов. Основное внимание команд сосредоточено на разработке новых функций и исправлении ошибок (50%-50%).
Что я сделал в качестве домашнего задания?
Я разговаривал с предыдущим руководителем, который приходит только по субботам. Несмотря на то, что я еще официально не начал, я смог провести с ним 3 субботы. По его словам, в компании есть 3 разработчика, которые будут работать со мной в одной комнате. Они используют малоизвестные инструменты в качестве службы поддержки клиентов и планирования проектных задач для выпуска. Они используют TFS в качестве контроля версий.
Что я планирую делать?
Я думаю провести с ними неделю, чтобы понять, как они работают, и познакомиться с членами команды. Затем мне нужно избавиться от этих инструментов управления клиентами/проектами и установить службу поддержки JIRA и программное обеспечение JIRA. После этого мне нужно познакомить команду с Agile-практиками, используя Scrum. После того, как я сделаю существующее программное обеспечение стабильным, мне нужно постепенно преобразовать приложение Windows в веб-приложение (скорее всего, в середине следующего года). Для этого мне может понадобиться обучить существующих разработчиков Windows или попросить владельца нанять одного или двух веб-разработчиков (для начала). В конце концов, я могу увеличить штат инженеров и начать быстро разрабатывать веб-приложение.
Чего я жду от тебя?
В своей карьере я не работал руководителем. Итак, я действительно не знаю, где я на самом деле стою в качестве лидера. Мне нужно соответствовать ожиданиям компании, что увеличивает доход. Так что я немного смущен тем, как я работаю в новой роли? Пожалуйста, дайте мне несколько советов по эффективному управлению командой для достижения цели, которую я упомянул. Пожалуйста, поправьте меня, если я принял какие-либо неправильные решения выше
У вас есть правильное представление о том, чтобы понаблюдать за их рабочими процессами в течение нескольких недель, прежде чем начать вносить изменения. Вы хотите построить хорошие отношения с командой, чтобы они работали с вами и были готовы следовать за вами. Вы не добьетесь этого, разорвав все и начав заново в первый же день.
С точки зрения фактического внесения изменений: вы хотите показать, что делаете их по разумной причине, а не только для того, чтобы утвердить свой авторитет. Определите узкие места, причуды или устаревшие инструменты в их процессе и задайте им вопросы. Почему вы делаете это таким образом? Было бы проще, если бы вы попробовали [это] вместо этого? Затем постепенно вносите изменения. Одна вещь за один раз.
Если вы переходите на схватку, ретроспектива спринта — идеальный форум для проведения этих изменений, поскольку цель сессии — помочь команде адаптироваться и совершенствоваться. Представьте проблему / вызов, спросите мнение команды о том, как ее улучшить, и направьте их к решению, которое вы придумали. (Или, возможно, команда предложит лучшую идею). Команда будет чувствовать, что у них есть реальный голос в том, как что-то делается, и, поскольку им не диктуют, они будут чувствовать реальное чувство собственности (и ответственности) за ваш развивающийся процесс.
Что касается руководства командой, когда я начал свою первую роль руководителя команды, я сосредоточился на следующих простых моментах:
Поздравляю с новой захватывающей ролью. Это отличная возможность для вас вырасти как лидеру. Как разработчик с 7-летним стажем, у вас есть технические навыки, и похоже, что некоторые из ваших основных задач уже определены.
Первоначально: совпадают ли ваши приоритеты с бизнесом?
Приведенный выше сводный список ни в коем случае не является небольшим усилием. И, как и все планы, он изменится . Я бы встретился со своим непосредственным руководителем, используя вышеуказанные пункты в качестве отправной точки и предоставив некоторые подробности того, что это будет включать. Практические вопросы, такие как наличие лицензий JIRA в бюджете на этот год? Есть ли у вас возможность получить финансирование для обучения команды?
Вам нужна поддержка со стороны высшего руководства и начните строить рабочие отношения с другими руководителями в вашей организации. Вам нужно будет работать с менеджерами операций и службы поддержки, чтобы внедрить ваши изменения.
Чтобы расширить ваши цели:
Внедрить Agile-практики работы:
Насколько ваша команда знакома с концепциями Agile? Разбираются ли они в бэклоге продукта, ежедневных встречах и т. д.? Смогли бы вы их тренировать? С существующим размером команды вы, возможно, можете взглянуть на Канбан. Scrum будет работать, если вы расширите команду и сможете создать 2 команды, одна из которых будет заниматься текущими задачами BAU, а другая — веб-проектом.
Перемещение существующего приложения Windows в Интернет:
Сколько у вас есть существующей работы BAU, если вам нужно переобучить существующую команду, вам нужно будет определить свой технический стек, а затем переобучить их. Было бы полезно, если бы вы могли нанять старшего веб-разработчика, которому было бы поручено повысить квалификацию остальной команды в технологии, модульном тестировании и использовании парного программирования.
Развивайте свои лидерские качества:
Начните с азов, я рекомендую книгу Майкла Армстронга «Как стать еще лучшим менеджером». Это поможет вам справляться с такими проблемами, как развитие людей, управленческих и личных навыков, которые вам потребуются в вашей новой роли.
Посмотрите на концепцию лидерства-слуги.
Слушайте подкасты, такие как подкаст Джона Максвелла «Лидерство».
Подумайте о волонтерстве, оно ценно тем, что дает опыт лидерства за пределами рабочего места. Или посмотреть, как этого добиваются другие лидеры, это может быть спортивная команда или даже церковная группа.
Удачи!
Ваша работа в качестве лида заключается не в том, чтобы делать все подряд.
Мне нужно избавиться от этих инструментов управления клиентами/проектами и создать службу поддержки JIRA.
Мне нужно внедрить Agile-практики
После того, как я сделаю существующее программное обеспечение стабильным, мне нужно преобразовать приложение Windows в веб-приложение.
Попытка сделать все в одиночку сожжет вас. Ваша задача состоит в том, чтобы разбить эти цели на небольшие части, которые могут выполнить ваши разработчики, помочь им с любыми непредвиденными проблемами и спланировать будущую работу на основе текущего прогресса.
Также помните о том, как вы представляете Agile и JIRA. Если команда считает, что их процесс работает хорошо, будет некоторое сопротивление. Изменения процесса работают лучше всего, когда они получают поддержку от людей, которым приходится жить. В противном случае вы можете столкнуться со строкой «если это не сломано, не чините это».
Надеюсь, это поможет, удачи, Лушан!
Саймон