Всем добрый день! Недавно я начал свою работу проджект менеджером в аутсорсинговой компании и мне поручили разработку нативных мобильных приложений. На проекте мы используем Скрам. Недавно я задумался о том, что такая методология довольна громоздка для мобильных приложений, так как:
1) команды не кроссфункциональна. Редко, когда андроид-программист может полноценно заменить иос или бэкендщика, такие разработчики работают параллельно над своими кусками. Тестировщики и дизайнеры также трудятся в рамках своих компетенций.
2) мобильное приложение создается 1-2 разработчиками под одну платформу, если есть готовый API. И получается ситуация, когда на одного программиста приходится один менеджер.
3) дизайн делается отдельно от команды и уточняется уже в процессе разработки
4) очень часто при разработке мобильных приложений отказываются от покрытия кода тестами, мануальное тестирование делается разработчиками в процессе работы. Тестировщик по сути дублирует эту работу.
Я описал свои мысли при работе над относительно небольшими проектами (продолжительностью до 3 месяцев). Мне бы хотелось услышать мнение проджектов, которые руководили мобильной разработкой: как построены процессы в вашей компании, какие фреймворки и методологии используются.
очень часто при разработке мобильных приложений отказываются от покрытия кода тестами, мануальное тестирование делается разработчиками в процессе работы. Тестировщик по сути дублирует эту работу.
Это ошибка. Такой подход оправдывает себя когда проект еще небольшой (авторизация + 2-3 экрана). Когда количество экранов вырастет, поддерживать проект в работоспособном состоянии будет очень сложно: появятся трудноуловимые баги, когда латаешь с одной стороны, а ломается с другой.
Тесты нужно писать, даже если этого очень и очень не хочется делать.
Прокомментируйте еще такой момент: все говорят о том, что кроссфункциональные команды зло. Я сейчас книгу читал Scrum from trenches, так там наоборот такие команды описываются. Ну и с точки зрения Scrum команда должна быть кроссфункциональная. Что это за противоречие?
кроссфункциональная команда подразумевает отсутствие завистимостей на стороне (ждать релизы, ждать дизайн какой нибудь фигни по 3 недели, ждать вообще кого-то) и в некоторых случаях человек может быть подменен другим из команды для выполнения определенного рода задач, чтобы судорожно не искать замену на стороне и не вводить его полгода в проект и заставлять копаться в чужом говнокоде без тестов.
ваши проекты на 2 человека и 3 месяца легче расписать как набор целей которые необходимо закрыть нежели быть модными "по скраму"
вся суть в плотной и слаженной командной работе, а не разведении бюрократии и менеджмента - вот наверно главный принцип по agile если вкратце
ЗЫ видимо у вас такие разработчики что 4 года без тестов - это и показывает уровень проектов в целом и уровень разработчиков, что в принципе нормально