Как стать потрясающим agile-разработчиком
Суть разработки программного обеспечения по методике Agile заключается в устойчивом развитии

Начните работу с бесплатным шаблоном DevOps
Разрабатывайте и развертывайте приложения, а также управляйте ими с помощью открытого подхода к инструментам в этом настраиваемом шаблоне.
Основные моменты
Agile-разработчики ставят во главу угла устойчивое развитие, качестве продукты и сотрудничество между командами.
Такие методы, как проверки кода, непрерывная интеграция и перекрестное обучение, создают надежную техническую основу.
Agile-культура расширяет возможности разработчиков, сокращает технический долг, повышает вовлеченность сотрудников и качество продуктов.
Создайте среду для совместной работы, ориентированную на качество, для поддержки Agile-разработки и профессионального роста команды.
Никому не хочется поставлять программное обеспечение, которое содержит множество багов, не работает должным образом и не отвечает требованиям клиентов. Предотвратить это помогают непрерывная интеграция и проверки кода.
Но у кого есть время на это?
Оно есть у команд, использующих методики Agile и DevOps. Agile-разработчики ПО стремятся к устойчивым рабочим процессам; совершать подвиги — не в их духе. Устойчивость достигается за счет принятия взвешенных решений, выбора эффективных стратегий ветвления для управления кодом, автоматического тестирования с целью обеспечения стабильно высокого качества кода и непрерывного развертывания для получения быстрой обратной связи от пользователей.
Agile-разработка ПО — это не только про разработчиков
Внедрение принципов устойчивой разработки требует дисциплинированности. Увы, часто наши попытки развить это личное качество оказываются безуспешными. Дело в том, что нельзя освоить принципы Agile или DevOps в отрыве от всех.
Вокруг этого должна строиться культура всей организации, и порой требуется инициатор перемен, такой как разработчик DevOps. А значит, руководители проекта должны разделять идею о том, что качество важнее объема выполненной работы или соблюдения сроков. Убедить их в этом — зачастую самый сложный шаг на пути к Agile.
Но это того стоит! У разработчиков появляется возможность осуществлять разработку ПО устойчиво и нести ответственность за это, не боясь испортить отношения с лицами, ответственными за коммерческий успех проекта. Последние, благодаря такому подходу, выводят на рынок более качественный продукт, что еще сильнее укрепляет хорошие отношения со специалистами.
Кроме того, для agile-разработчиков ПО не характерны гонки на выживание (и за это они больше всего благодарны). Если разработка отстает от графика по той причине, что для обеспечения высокого качества потребовалось больше усилий, чем ожидалось изначально, восстановить баланс поможет тройственная ограниченность. Просто скорректируйте объем работ, и никому не придется работать на выходных.
О тройственной ограниченности знают все разработчики ПО. Она представляет собой три ограничения при управлении проектами: объем работ, время и качество. Многим из нас доводилось участвовать в проектах, где объем работ был фиксированным, с графиком творились ужасные вещи, а самой разработке угрожал лавинообразно растущий технический долг.
Иногда масла в огонь подливало то, что конечный продукт не соответствовал потребностям рынка. Многим знакомы такие ситуации, когда у вас опускаются руки.
Но, к счастью, есть и хорошие новости.
В agile-разработке ПО возможности изменения объема работы куда шире, поэтому команда может обеспечивать стабильно высокое качество, формировать динамично развивающуюся культуру разработки и поддерживать тесные отношения с коммерческой стороной компании. Неспроста в Atlassian принципы Agile лежат в основе каждой команды разработчиков (и многих других команд).
Принципы agile закладывают надежную техническую основу для продукта и формируют в команде культуру совместной работы. Разработчики в agile-командах сильнее вовлечены в процесс, пишут более качественный код и получают больше удовольствия от работы.
Прочные связи — залог качественного продукта
Важное место в agile занимает командная работа, что неудивительно, поскольку в большинстве случаев ПО сегодня разрабатывают команды. Разработчики выстраивают тесные отношения с руководством по продукту, дизайнерами, специалистами по контролю качества и операторами, потому что для написания устойчивого кода нужно иметь контакт со всеми сторонами проекта. Когда разработчики в Atlassian получили возможность напрямую взаимодействовать с другими подразделениями компании, это привело к значительному росту качества кода и удовлетворенности разработчиков. Код стал лучше, «мусора» (т. е. совмещения обязанностей и (или) конфликтующих потоков работы) стало меньше, а взаимодействие специалистов разного профиля в рамках одной команды стало более эффективным, и это еще не все положительные изменения, которые принес такой подход.

Наставничество тоже играет важную роль. Agile-команды обучают друг друга, делясь знаниями в предметной области, чтобы вся команда была одинаково осведомлена о базе кода. Как вариант, достичь этого можно с помощью проверок кода, которые не только гарантируют его высокое качество, но и позволяют наладить обмен информацией о коде в команде. Как бы ни распределялись знания в Agile-команде, в ней не бывает случаев, когда важные этапы проекта зависят от отдельных разработчиков. В противном случае определенные участники не смогут уйти в отпуск, потому что только они разбираются в конкретном участке кода. Ни один разработчик не хочет быть заложником подобной ситуации.
Кроме того, Agile-разработчикам гораздо проще сочетать в работе над продуктом разные инструменты из стека технологий, чем их коллегам, использующим каскадную модель, потому что Agile-команды следуют принципам самоорганизации, и их участники могут осваивать новые навыки. Несомненно, лучше других в своем коде разбираются разработчики, которые поставляют все функциональные возможности, от пользовательского интерфейса до базы. Компания Atlassian стремится сделать своих разработчиков специалистами широкого профиля, поскольку верит в эффективность обмена знаниями в команде и в рамках всей компании.
Создание кода, культура и agile-разработка ПО на новом уровне
Перейти на Agile — значит, сформировать здоровую культуру разработки в организации. Далее вы узнаете об эффективных стратегиях ветвления, методах автоматического тестирования, непрерывной интеграции и налаживании прочных связей с другими подразделениями компании. В следующих статьях будут подробнее раскрыты изменения, через которые прошли тысячи разработчиков на пути к Agile и благодаря которым они достигли успеха.
Agile-разработка ПО — это путь, а не цель. Мы готовы поддержать вас на каждом этапе этого пути.
Рекомендовано для вас
Шаблоны
Готовые шаблоны Jira
Ознакомьтесь с нашей библиотекой настраиваемых шаблонов Jira для различных команд, отделов и рабочих процессов.
Руководство по продукту
Подробное знакомство с Jira
Воспользуйтесь этим пошаговым руководством, чтобы узнать об основных функциях и передовых методах для повышения производительности.
Руководство по Git
Понимание основ Git
От новичка до опытного эксперта: используйте это руководство по Git, чтобы изучить основы с помощью обучающих материалов и полезных советов.