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