Статьи

Почему вы должны выбрать Scrum для веб и мобильной разработки

scrumthumb

Ниже приведен отрывок из нашей книги « Скрам: новичок ниндзя» , написанной М. Дэвидом Грином. Копии продаются в магазинах по всему миру, или вы можете купить их в электронном виде здесь .

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

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

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

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

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

Scrum рекомендует командам описать работу над новой функцией, чтобы ее можно было разрабатывать параллельно, не полагаясь на другие неразработанные функции. Используя истории и следя за тем, чтобы каждая история была правильно отформатирована и оценена, команда настраивается на последовательный и продуктивный опыт разработки.

Примечание: некоторые термины Scrum определены

Когда scrum использует слово, это означает, что scrum выбирает для него. Но в отличие от Шалтай-Болтай в « Сквозь зеркало» , схватка опирается на знакомые и понятные определения. Изучение языка является одним из первых шагов в приобретении нового навыка, и последовательное использование языка имеет основополагающее значение для команд, пытающихся работать вместе. Приведенные ниже термины являются лишь некоторыми из тех, которые будут определены более подробно позже в книге, но краткий взгляд на эти понятия может помочь, когда вы будете читать дальше.

проворный

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

Артефакт

физический или виртуальный инструмент, используемый командой Scrum для облегчения процесса Scrum

блокатор

все, что мешает инженеру двигаться вперед по выполняемой задаче

Покупатель

кто бы ни нанял команду для создания продукта

Инженер / разработчик

человек, ответственный за создание и поддержание технологии, которая входит в продукт

Инженерная организация

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

Продукт

что инженерная организация строит или обслуживает для заказчика

Резерв продукта

постоянно развивающийся список потенциальных функций или изменений для продукта

Владелец продукта

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

ретроспективный

постоянная возможность для команды задуматься о том, как у них дела, и что они могли бы сделать лучше

ритуальный

группа людей, объединившихся как часть процесса схватки на определенное время, с определенной повесткой дня, чтобы достичь четко определенного результата

Скрам Мастер

человек, ответственный за поддержание артефактов и надзор за ритуалами схватки

спринт

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

Спринт отставание

конечный и четко определенный набор историй, которые команда согласилась, они могут разумно завершить в текущем спринте

История

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

пользователь

человек, который будет использовать продукт

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

Чувствительность к времени

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

Модульная разработка

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

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

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

В качестве другого примера, иногда необходимо изменить API, на который опирается каждая функция сайта. Scrum рекомендует команде управлять кодом модульным, тестируемым способом, чтобы изменения могли быть унаследованы другими функциональными историями, которые могут выполняться без ненужной поломки.

Гибкое планирование

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

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

Отражение и улучшение

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

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