Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CodeFest 2018. Владимир Пригарин (Improve Digital) — Как не про…играть все сроки

CodeFest
April 09, 2018

CodeFest 2018. Владимир Пригарин (Improve Digital) — Как не про…играть все сроки

Посмотрите выступление Владимира: https://2018.codefest.ru/lecture/1303/

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

Владимир в своем докладе расскажет о ситуации, когда оценка фичи выросла с 20 до 120 человекочасов.

Вы узнаете:
— Как не оказаться в такой ситуации.
— Как оценить функционал с новой технологией.
— Почему не стоит верить документации и фреймворкам с GitHub.
— Что делать, если оценка все же выросла.

Все это на основе реальной ситуации с интеграцией In-app purchases в iOS приложение.

CodeFest

April 09, 2018
Tweet

More Decks by CodeFest

Other Decks in Technology

Transcript

  1. Оценено • Экран • Логика покупки inapp’ов • Связующая логика

    Действительность • Экран • Логика покупки inapp’ов • Связующая логика • Аккаунт в приложении • Логика с внутренним сервером • Защита от мошенников • Отображение на экране профиля • Разблокировка контента • Автопродление подписок • Сложность в тестировании • Новый App Store • Особенности при релизе подписок 20 120
  2. Ресерч • Находим документацию по фиче • Читаем документацию •

    Находим фреймворки • Тестовый проект • Вжух и готово
  3. Ресерч (реальность) • Идем в гугл и вводим название фичи

    • Находим статьи и фреймворки • Тестовый проект • Немного читаем документацию • Вжух и готово
  4. О фреймворках ★ Звезды не показатель ✓ Дата последнего изменения

    ✓ Частота обновлений ✓ Количество закрытых и открытых вопросов
  5. Сложность растет, что делать? • Обозначить проблему • Признать проблему

    • Рассказать команде и вместе решить Если проблема есть, не значит что проблема в тебе - проблема просто есть.
  6. Необходимость фичи Приоритет: 0 - без нее невозможно 1 -

    очень нужна 2 - средней важности 3 - минор Фича Приоритет Авторизация 0 Регистрация 1 Туториал 2 Виджет 3
  7. Ошибки iTunes Error Domain=SKErrorDomain Code=0 “Cannot connect to iTunes Store”

    Означает все что угодно: От косяка в коде до лежащего iTunes
  8. Ошибки SSServerErrorDomain • Возникает при активном тестировании возобновляемых подписок •

    Через какое-то время девайс отпускает • Баг? Радар открыт с июля 2017
  9. Реджект Buy 9.99$ Buy 19.99$ Buy 49.99$ Some promo information

    Buy 9.99$ Buy 19.99$ Buy 49.99$ Some promo information terms of use
  10. Как избежать реджекта • Информация о покупках в описании приложения

    • Информация о покупках в самом приложении • Простота приобритения покупок • Восстановление покупок
  11. Выводы и итоги • Не пренебрегайте качественным анализом • Абстрагируйтесь:

    фича —> вся система • Д Е К О М П О З И Р У Й Т Е • Ваш лучший помощник - сообщество
  12. Бонус: чек-лист по оценкам 1 Время на разработку ◦ желательно

    разбивать задачу на блоки по 2-4 часа - это поможет более детально спроектировать реализацию на этапе оценки и избежать нежданчиков; ◦ следует учитывать использование сторонних сервисов и время на ознакомление с их спецификой; ◦ оценку следует делать в два этапа: после первой итерации оценки необходимо выдохнуть, выпить кофе и провести саморевью. 2 Время на ревью если оно есть на проекте ◦ сюда входит время ревьюера и время на фиксы замечаний по результатам ревью. 3 Время на багфикс 4 Время на на добавление всех необходимых анимаций если они есть 5 Время на поддержку всех требуемых девайсов 6 Время на прояснение всех аспектов, выявление специфичных кейсов, общение с дизайнером и менеджером ◦ Оценка будет зависеть от сложности и степени формализации задачи. Ну то есть если задача сформулирована поверхностно, не учтены сопутствующие кейсы, изменение каких-то смежных процессов - на выяснение может уйти больше времени; если задача сформулирована подробно - потребуется меньше времени. 7 Учитываем время самостоятельное тестирование ◦ это прогон граничных условий, специфичных кейсов; ◦ если задача абстрактна (например, абстрактный модуль для вообще всех картинок), стоит учесть время на построение проверочных кейсов / написание юнит тестов. 8 Время на сборку, отправку билдов тестировщику
  13. Выводы и итоги • Чаще подводите итоги проделанной работы •

    Если что-то идет не так - пора об этом говорить • Менеджеры знают крутые подходы • Помни: вы - команда
  14. Владимир Пригарин iOS Developer Improve Digital Спасибо за внимание! Если

    у вас возникли вопросы, я с удовольствием обсужу их с вами vovkaprigarin [email protected] vovkaprigarin