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

16b6c87229eaf58768d25ed7b2bbbf52?s=47 CodeFest
April 09, 2018

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

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

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

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

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

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

16b6c87229eaf58768d25ed7b2bbbf52?s=128

CodeFest

April 09, 2018
Tweet

Transcript

  1. 5.

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

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

    Ресерч • Находим документацию по фиче • Читаем документацию •

    Находим фреймворки • Тестовый проект • Вжух и готово
  3. 9.

    Ресерч (реальность) • Идем в гугл и вводим название фичи

    • Находим статьи и фреймворки • Тестовый проект • Немного читаем документацию • Вжух и готово
  4. 19.

    О фреймворках ★ Звезды не показатель ✓ Дата последнего изменения

    ✓ Частота обновлений ✓ Количество закрытых и открытых вопросов
  5. 29.

    Сложность растет, что делать? • Обозначить проблему • Признать проблему

    • Рассказать команде и вместе решить Если проблема есть, не значит что проблема в тебе - проблема просто есть.
  6. 34.
  7. 37.

    Необходимость фичи Приоритет: 0 - без нее невозможно 1 -

    очень нужна 2 - средней важности 3 - минор Фича Приоритет Авторизация 0 Регистрация 1 Туториал 2 Виджет 3
  8. 43.

    Ошибки iTunes Error Domain=SKErrorDomain Code=0 “Cannot connect to iTunes Store”

    Означает все что угодно: От косяка в коде до лежащего iTunes
  9. 45.

    Ошибки SSServerErrorDomain • Возникает при активном тестировании возобновляемых подписок •

    Через какое-то время девайс отпускает • Баг? Радар открыт с июля 2017
  10. 50.

    Реджект 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
  11. 51.

    Как избежать реджекта • Информация о покупках в описании приложения

    • Информация о покупках в самом приложении • Простота приобритения покупок • Восстановление покупок
  12. 52.

    Выводы и итоги • Не пренебрегайте качественным анализом • Абстрагируйтесь:

    фича —> вся система • Д Е К О М П О З И Р У Й Т Е • Ваш лучший помощник - сообщество
  13. 53.

    Бонус: чек-лист по оценкам 1 Время на разработку ◦ желательно

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

    Выводы и итоги • Чаще подводите итоги проделанной работы •

    Если что-то идет не так - пора об этом говорить • Менеджеры знают крутые подходы • Помни: вы - команда
  15. 55.

    Владимир Пригарин iOS Developer Improve Digital Спасибо за внимание! Если

    у вас возникли вопросы, я с удовольствием обсужу их с вами vovkaprigarin vovkaprigarin@gmail.com vovkaprigarin
  16. 56.