Статьи

Стать профессионалом PHP: практическая работа в команде

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

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

Разница во времени и разбитое узкое место в командной работе

При работе в команде с удаленными членами различия часовых поясов могут быть огромным препятствием. Возьмем, к примеру, сам SitePoint — я пишу для аудитории, которая в значительной степени является США, штаб-квартира SitePoint находится в Австралии, а я нахожусь в Хорватии. Это три часовых пояса с интервалом в 6-8 часов каждый, что означает, что может пройти целый день, прежде чем люди ответят на ваши письма.

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

Другой проблемой является то, что я люблю называть синдромом разбитого узкого места. Обычно, когда только один человек направляет запросы в команду разработчиков (например, фильтр, руководитель группы или владелец проекта), этот человек может стать узким местом, если запросы поступают слишком сильно или команда разработчиков слишком медленная или маленький, чтобы реализовать их. Люди, наполняющие этого человека инструкциями, затем стремятся обойти его / ее, и вызывают утечку (часто противоречивой) информации, переполняющей команду разработчиков.

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

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

Органические Решения

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

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

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

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

Неорганические растворы

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

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

Basecamp — это популярная альтернатива Trello, и в основном это прославленный список задач, улучшенный командой. Как и Trello, он поддерживает вложения, обсуждения и загрузки файлов. Это не бесплатно, хотя.

Службы Google могут размещать фолио всей электронной почты вашей компании и дополнять его закрытыми документами Google и Google Drive, а также групповыми сообщениями, группами Google, календарем компании и многим другим. Google Apps — это целый набор приложений, которые я хотел бы использовать больше компаний. Более того, Службы Google для бизнеса поддерживают видеовстречи, поэтому вы можете общаться с вашей командой через мгновенные сообщения и даже отправлять сообщения на мобильный телефон и с него. На самом деле Hangouts позволяет даже присоединиться к видеовызову из двух мест — например, если вы получаете видеозвонок в 5 минутах ходьбы от офиса, вы можете ответить на него и поговорить по телефону. Телефон. Как только вы дойдете до своего компьютера, просто нажмите «Присоединиться к этому вызову», чтобы открыть поток на компьютере, и вы можете повесить трубку на своем телефоне (или оставить его включенным и иметь несколько ракурсов камеры). Все это чрезвычайно гибко и создает действительно профессиональную коммуникационную среду.

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

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

Atlassian, создатели BitBucket, также имеют различные другие превосходные инструменты коллективной работы, такие как Confluence и JIRA, которые позволяют вам работать с вашей командой в режиме реального времени и использовать единую точку сбора данных. Jetbrains также предлагает хороший набор: TeamCity (бесплатная профессиональная версия) для непрерывной интеграции и YouTrack (неограниченная 60-дневная пробная версия или 10 бесплатных пакетов для пользователей) для проблем, запросов и отслеживания ошибок.

Если вы занимаетесь гибкой разработкой (подробнее об этом в следующей статье), то лучшими инструментами для денег, как говорят, являются PivotalTracker и GreenHopper (плагин JIRA Agile) в эти дни. У обоих инструментов есть несколько бесплатных планов, которые вы можете попробовать, но вскоре мы проведем более углубленный анализ.

И последнее, но не менее важное: если все, что вам нужно, это хороший список задач , основанный на команде, я не могу рекомендовать Wedoist достаточно — поскольку он очень похож на Todoist (которым я пользуюсь ежедневно), интерфейс оптимизирован и ориентирован на поставленные задачи. Это все, что вы когда-либо видели во всех других приложениях Todo, но значительно улучшилось.

Если вы являетесь членом команды разработчиков, я рекомендую для обсуждений здоровое сочетание Github и TeamCity и Trello. Если вы занимаетесь руководящей должностью и выбираете проекты и курсы, я искренне рекомендую Google Apps. Если вы работаете в гибкой удаленной команде, используйте Wedoist и посмотрите, как она вам подходит. Если вы практикуете SCRUM, добавьте в микс PivotalTracker.

Вывод

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

У вас есть любимый инструмент для совместной работы? Какие подходы использует ваша команда, чтобы оставаться на плаву в океане проблем? Дайте мне знать в комментариях ниже или в Google+ .