У нас есть нативное приложение для Android, и теперь мы хотим создать нативную версию для iOS. Мы работаем по процессу scrum/kanban. Как лучше всего обеспечить согласованность реализации функций и пользовательских историй в обеих версиях? Мы используем веб-сервисы, поэтому они будут использовать их в качестве общего бэкэнда, и это хорошо.
Как вы держите разработчиков iOS и Android на одной волне? Какие еще методы помогут вам убедиться, что функция или пользовательская история реализованы одинаково в обоих приложениях? Что такое стандартные практики? Например, вы дублируете посты для пользовательской истории и отмечаете один пост как Android, а другой как iOS? или что?
PS разработчики Android и iOS будут разными людьми
С точки зрения PM это два отдельных проекта. Если одни и те же разработчики работают над клиентом для Android и iOS, вы можете запустить его как один проект. Вы можете добиться разумного выравнивания функций, имея две версии пользовательских историй (iOS/Android) и расставляя их по приоритету одну за другой.
Однако, если это две разные команды, вы не можете и не должны пытаться согласовать разработку функциональности в двух проектах. Конечно, вы можете задать один и тот же приоритет пользовательской истории в двух версиях, но не делайте зависимостей от одного проекта к другому. Это неизбежно приведет к задержкам в одной команде, поскольку одна и та же история может сильно различаться по времени, требуемому на двух платформах. В этой ситуации вам лучше запустить его как два разных процесса разработки с отдельными досками канбан и т. д.
Если вы используете Scrum, вы запускаете два разных Scrum-процесса одновременно, а затем проводите ежедневные или еженедельные «Scrum of Scrums», где руководители каждой команды встречаются и обсуждают прогресс.
Не должно быть никакой разницы в пользовательских историях или приемочных задачах/тестах, потому что оба объясняют функциональность, которая будет одинаковой для обоих приложений.
При этом рекомендуется создавать задачи для каждой платформы (даже если они одинаковые), так как будет легче отслеживать прогресс для каждой версии по следующим причинам:
1. Оценка времени может отличаться
2. Другой правопреемник
3. Предоставьте каждой команде возможность гибко управлять своими задачами. Возможно, команда iPhone захочет начать работу над задачей № 4, а затем № 3, учитывая, что они, конечно, не зависят ни от каких других задач, но команда Android начнет работу над задачей № 3, затем №4.
Вы можете использовать цветовое кодирование (например, красные стикеры для Android, желтые стикеры для iPhone).
Возьмем для примера экран входа в систему.
История пользователя: как пользователь я хочу ввести свои учетные данные, чтобы просмотреть свой профиль.
Приемочные испытания:
Задачи (стики)
и так далее.
Надеюсь, это поможет.
В порядке ваших вопросов..
Как вы держите разработчиков iOS и Android на одной волне?
Они строят разных клиентов для одного и того же продукта. Я бы отнес это к одному проекту.
Какие еще методы помогут вам убедиться, что функция или пользовательская история реализованы одинаково в обоих приложениях? Что такое стандартные практики?
Это то, что я сделал.
Итак, как я указал выше, для всех коммуникаций, связанных с функциями, требованиями, планированием спринта, члены команды дизайнеров пользовательского интерфейса, работающие на обеих платформах, должны собираться вместе, поскольку они требуют определенной синхронизации.
Во время реализации члены команды QA & Release, работающие над каждой платформой, будут иметь задачи, специфичные для платформы.
В общем:
Скрам:
Данные:
Лучшие практики:
пожалуйста, рассматривайте это как два разных проекта, потому что.
Проблемы, возникающие при создании пользовательских интерфейсов для различных мобильных телефонов или смартфонов, не ограничиваются только тем, как разработанный контент отображается на экране. Например, разработка пользовательского интерфейса для телефонов без сенсорного экрана сильно отличается от разработки для телефонов с сенсорным экраном. Один тип интерфейса не обязательно соответствует техническим требованиям всех устройств.
Я думаю, что многие люди говорили, что вам нужно рассматривать это как два отдельных проекта.
Я думаю, вам нужно относиться к этому как к программе — набору проектов, управляемых с помощью схожей методологии и с последовательной целью.
Как вы поддерживаете согласованность двух проектов? Выровняйте проекты. Убедитесь, что:
Если они не совпадают, убедитесь, что на это есть причина. Если вы внесете свой вклад в настройку, вы также четко определите, какая часть работы является ядром вашего проекта, а какие части относятся к конкретной платформе.
Если это то, что вы собираетесь делать регулярно, может быть полезно рассматривать это как три проекта.
Проект по созданию нового продукта — акцент на архитектуре, функциональности и т. д. Как только архитектура и функциональность определены, вся работа передается на аутсорсинг одной из двух других команд, которые рассматриваются как субподрядчики.
Проект по реализации продукта на Android.
Проект по внедрению продукта на Apple.
Хотя при такой настройке возникает гораздо больше накладных расходов, я думаю, что в долгосрочной перспективе все в команде будут понимать, что они делают. «Я разрабатываю архитектуру для продукта X». «Я внедряю пользовательский интерфейс продукта X в Apple». и т.д.
пользователь 25602