2 декабря 2014 в 09:32

Что должен знать тимлидер и как мы составляли программу второго дня конференции Go#

Добрый день, читатели Хабра!

Сразу скажу, что целевая аудитория поста и события: руководители в разработке на C#/.Net, в том числе тимлидеры и менеджеры проектов. И те, кто планирует переходить на руководящую позицию.

Я поделюсь логикой формирования программы второго дня конференции Go#.
Мы взяли темы, которыми должен владеть человек на руководящей позиции в разработке. При этом конкретная имплементация этих знаний должна быть специфична для экосистемы C#/.Net.

Для мероприятия с одним треком программа получилась концентрированной. Расписание включает 10 докладов по 15-30 минут, обед в кафе и кофе брейки – и все это с 10.00 до 17.00.

Темы: от архитектуры .Net приложений до механики решений по формированию команд и распределению задач. И, конечно же, управление проектом и исходным кодом. Докладчики представят две полярные парадигмы – классическую Application Lifecycle Management на базе TFS и альтернативные подходы с применением Git и DevOps инструментов.

Наши спикеры начинали как C#/.Net разработчики, но многие имеют опыт руководства коллективами и проектами с десятками и даже сотнями разработчиков.

Сайт тимлидерского дня конференции Go# – www.gosharp.ru/TLD2014



Что должен знать тимлидер


Многие из нас – программисты в душе. И мы любим писать код. Но руководящая работа оставляет для этого все меньше времени. Это замечает даже тимлидер небольшой команды из 3 человек. От 30 до 50% времени тратится на внешние коммуникации и управление командой. Управленческие компетенции становятся ключевыми для его работы и роста

Что же он должен знать? Этот вопрос обсуждался на на Хабре (например, тут, тут), но мне больше понравились ответы на Тостере (тут).

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

Я бы хотел остановиться на тех областях знаний, которые своей спецификой привязаны к экосистеме разработки .Net/C#:

  1. Управление проектом и исходным кодом. Это напрямую входит в должностные обязанности любого тимлидера.
  2. Архитектура приложений. Именно она определяет границы между блоками системы, которыми могут заниматься разные команды и разработчики.
  3. Организация труда. Тема оргструктур хорошо изучена в бизнес-литературе, но ее скучно читать. У нас же есть конкретные задачи – как сгруппировать разработчиков с разными сочетаниями навыков в .Net и что кому поручить.


Управление проектом и исходным кодом


У многих команд и разработчиков уже сложился свой стиль управления проектом и исходным кодом. Например, сейчас у меня все .Net проекты на BitBucket, в качестве клиента я использую GitExtensions. А для управления задачами использую Asana. Jira и Trello у меня совсем не пошли.

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

Из докладов и дискуссий мы хотим получить ответы на следующие вопросы:
1. Сравнение средств контроля исходного кода и управления проектами. TFS vs Git.
2. Какие временные и финансовые затраты связаны с каждым из них.
3. Что важнее — инструмент или как мы им пользуемся.

Также интересен опыт докладчиков и участников в следующем:
4. Организационное управление слиянием версий.
5. Деление репозиториев при наличии подрядчиков.
6. Управление проектами, задачами и work items, сбор метрик и мониторинг.

Хочется услышать советы именно от практиков в .Net среде. Чтобы все советы были применимыми, а не абстрактными. Начнем мы с докладов, связанных с использованием TFS.



Интересно, что когда мы собрали доклады про практику TFS, друзья сказали – «Да у нас вообще всё по-другому».

Чтобы секция не выглядела «религиозно», мы добавили альтернативное крыло:

  • Во-первых, мы очень хотели доклад по DevOps. Это сейчас модный тренд и хочется понять – а нам-то нужен этот DevOps? Дает ли какие-то практические преимущества эта концепция?
    Об этом доклад Игоря Зиновьева из Казани.
  • Во-вторых, собственно, сами инструменты – это просто инструменты. И важно, как мы ими пользуемся.
    Например гораздо важнее, какая у вас модель организации работы и стратегия выпуска релизов. Есть ли у вас связь между системой управления проектом и исходным кодом? Она двухсторонняя? Какова ваша политика создания веток?
    Ответы на эти вопросы прозвучат в докладе Виктора Глушенкова.




Архитектура .Net приложений


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

Архитектура приложений – это очень объемная тема. Нам бы хотелось обсудить способы организации кода в Solution. Необходимость Design Patterns, которые используются при соединении различных проектов и библиотек. Узнать о таких модных вещах как CQRS и EventSourcing.

Но 1.5 часа секции – это очень мало. Они будут насыщенными и Вы услышите 4 доклада.

Я сделаю доклад «Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за один день». Он о том, как избежать дублирующегося кода при создании и модификации трехзвенных приложений. При добавлении полей и сущностей разработчики часто выполняют действия, которые укладываются в определенный паттерн. Иногда такую работу называют «протаскивать веревки». Доклад короткий и скорее раскрывает несколько рецептов, но он именно по теме архитектуры. Будут затронуты вопросы, как код трехзвенного приложения распределен по проектам в Solutions и почему я выбрал такую схему организации зависимостей.

За мной будет короткий доклад про использование Visual Studio SDK и Snippetizer. А затем два сложных доклада от Дениса Баталова из Amazon Web Services и Евгения Агафонова из Abbyy.



Почему эти два доклада про облако, а не просто про архитектуру?
Мы постоянно слышим об облаках в рекламных проспектах. Но успеваем ли мы погрузиться и понять, нужно ли это нам сейчас? Даст ли пользу переход с обычного colocation хостинга в облако? И нам это интересно не абстрактно – а для наших .Net проектов. Вот это мы и спросим у докладчиков.

Хронологический порядок секций и удовольствие от конференции


Disclaimer: о формате неконтентной конференции (пост на Хабре), об учете опыта проведенного события (пост на Хабре).

Я программирую ради удовольствия. И ради него же хожу на мероприятия.
Мы не ставим перед собой невозможную цель «рассказать все». Но мы стремимся сделать время участников приятным и насыщенным.

Что мы не хотим делать? «Напрягать» людей техническим докладом в конце дня. Поэтому в самое начало мы ставим более технические и недискуссионные темы – это секция «Архитектура».

Что мы хотим получить? Довольных участников, которые дружно пообщаются за обедом и afterparty.
Поэтому в середине – важная для всех тема управление проектом и исходным кодом. А в конце – такие легкие для восприятия, soft и дискуссионные темы, как организация труда и «куда развиваться тимлидеру».

178 людей уже определились, как с пользой провести 12 декабря ;) Несмотря на наше желание принять больше людей, комфортно на площадке может разместиться 225 человек. Осталось менее 50 мест, успейте зарегистрироваться сейчас!

Программа и регистрация: http://gosharp.ru/TLD2014.

Мы ждем вас!
Автор: @nickevdokimov
GeekFamily
рейтинг 31,47
Компания прекратила активность на сайте
Похожие публикации

Комментарии (10)

  • +5
    Извиняюсь спросить, это конференция по Go или по шарпу?
    • +1
      «Статью не читай & обсуждай!»
      • +3
        После прочтения заголовка я тоже сначала подумал что это конференция по Go
  • 0
    > Докладчики представят две полярные парадигмы – классическую Application Lifecycle Management на базе TFS и альтернативные подходы с применением Git и DevOps инструментов.

    Тут нет альтернативы, и то и то применяется совместно
    • 0
      В TFS даже есть такая опция. Можно выбрать Git вместо Team Foundation Version Control.
      http://msdn.microsoft.com/ru-ru/dn195870.aspx
      Но не все же применяют именно эту комбинацию.
  • +3
    Что-то все в кучу.
    Git — это система контроля версий, ALM — организация процесса разработки, DevOps, конечно как и agile все понимают как хотят, но это часть процесса разработки, которая может быть а может и нет.
    Никто не мешает хранить vagrant файлы и chef скрипты в git репозитории, который развернут внутри TFS, и при тестировании поднимать сконфигурированный environment автоматически. Все это никак не относится к тому, есть ли у вас канбан доска и ежедневные стэндапы, хотя вроде как DevOps это agile.
    Мне DevOps кажется просто частью release management
    • 0
      видишь, не зря мы тебя взяли спикером :) А насчет «никак не относится» – вот как раз будет доклад Виктора Глушенкова о том, как работают связи между средствами управления исходным кодом и управлением проектами.
  • 0
    Почему бы вам не сделать такую полезную вещь, как платную интернет-трансляцию вашей конференции за мелкий прайс? Разработчики, живущие не в default-city были бы весьма довольны, да и вам тоже, имхо, был бы неплохой профит.
  • 0
    Хороший вопрос. Но вот мы в сомнениях. Трансляция — это действительно востребованный продукт? Есть ли в нем ценность относительно хороших онлайн курсов?
    Фиксированные затраты на организацию трансляции — от 60.000 рублей за один зал.
    • 0
      Например .NEXT трансляцию делает. Спросите у них про востребованность. Я вот, например, буду в понедельник её смотреть) Плюс, что круто, всем участникам потом можно видео раздать. А через какое-то время выложить на сайте у себя какие-то видео и в качестве бесплатных материалов для пиара.

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

Самое читаемое Разработка