Получи случайную криптовалюту за регистрацию!

​​КАК ПРАВИЛЬНО ПОСТАВИТЬ ЗАДАЧУ ДЛЯ РАЗРАБОТКИ «Эти разрабо | InsightStream

​​КАК ПРАВИЛЬНО ПОСТАВИТЬ ЗАДАЧУ ДЛЯ РАЗРАБОТКИ

«Эти разработчики опять ничего не поняли!» — возмущается заказчик мобильного приложения. Но мы все знаем, что у разработчиков тонкая душевная организация и куча злых мемов на случай недопонимания с заказчиком. Чтобы не попасть в череду уточнений, согласований и — самое плохое — исправлений ошибок, нужно просто грамотно написать задачу для специалистов.

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

Шаги описания задачи

Получите все необходимые требования. Убедитесь, что сами понимаете, что требуется реализовать.
Подберите правильное название задачи.
В самом начале описания задачи поясните разработчику ценность изменения.
Добавьте путь до изменяемого экрана, если это не очевидно.
Добавьте ссылки на макеты, если фича визуальная. Если есть разные состояния в зависимости от условий, описываемых в задаче, то добавьте ссылки в контексте конкретного кейса.
Добавьте дополнительные ссылки на артефакты, которые требуются для выполнения задачи.
Если предполагается переиспользование для реализации, явно укажите это.
Укажите, если в будущем будет переиспользоваться, масштабироваться или меняться результат задачи.
Если необходимо сохранение данных для будущего использования, укажите.
Опишите функционально задачу и убедитесь в отсутствии пробелов в логике.
Опишите всю необходимую информацию по сетевым запросам (запрос, ответ, что парсим, опциональность; не описывать неиспользуемые поля и указать, что их не парсим).
Укажите, если данные получаются при каком-то условии — например, касаются только авторизованных пользователей, специальных заказов или аккаунтов и т.д.
Укажите прошлые локальные данные, если они используются.
Пропишите логику загрузки данных: есть ли постраничная подгрузка, активити и т.д.
Укажите логику для пустых данных.
Опишите разные форматы отображения для разных региональных параметров, форматов дат и т.д.
Пропишите логику для обработки специальных ошибок.
Если требуются какие-то ключи, то добавьте их для каждого типа сборки – QA/RC/Release.
Убедитесь, что разработчики имеют доступ ко всем необходимым артефактам или сервисам.
Добавьте аналитику по данной функции (возможно в другой задаче – подумайте и не забудьте).
Дополните базовый чек-лист.
Свяжите с задачей для другой платформы и другими задачами, если есть такая зависимость.

Перечитайте всю задачу от начала до конца!

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

Source >>>

#case #development #efficiency #product #tools