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

Загадочная история одного рефакторинга

Загадочная история одного рефакторинга

История рефакторинга hh.ru длинною в 2.5 года

8f1a6a9f39a0f45343eeff3bafa0bb15?s=128

Alexander Blinov

October 12, 2020
Tweet

Transcript

  1. Загадочная история одного рефакторинга

  2. БЛИНОВ Александр Head of Mobile

  3. 10/2020 03/2018 Загадочная история одного рефакторинга

  4. 10/2020 03/2018 Загадочная история одного рефакторинга 2013

  5. 03/2018 Характеристика Команда Leadtime 80 Перцентиль 84 Дня

  6. 03/2018 Гистограмма по Leadtime Контрольная диаграмма

  7. 03/2018 Диаграмма Leadtime по статусам Незакрытые баги

  8. 03/2018 Смена курса развития

  9. Проблемы • Новая команда, ни***а не понятно что там внутри

    и какая логика • Два приложения процентов на 80 разные живут в одном модуле в разных flavors • Монолит «вертикальный», все написано на Activity + AsincTask-ах • Куча синлтонов • Сеть на своем доретрофитном велосипеде • Логика проверки на null и разного поведения прямо на UI • Местами вместо recycler списки собираются вьюшками • Баги • Будет очень гибкая навигация и диплинки повсюду • Релизный цикл — раз в 1-3 месяца • Билд сервер Антон • Крашрейт 99.95 • Умение анализировать процессы 03/2018
  10. План 04/2018

  11. План 04/2018

  12. План 04/2018 Договоренности

  13. 03/2018 UI тесты

  14. 04/2018 Совершили ошибку и закопались 05/2018 06/2018

  15. 08/2018 Подготовка к многомодульности и избавление от синглтонов

  16. 08/2018 Подготовка к многомодульности и избавление от синглтонов Карта скопов

    жизни в приложении
  17. 08/2018 Подготовка к многомодульности и избавление от синглтонов

  18. 09/2018 А как же релизы?

  19. 09/2018 Разслоение

  20. 10/2018 Подготовка к редизайну

  21. 12/2018 Подготовка к редизайну

  22. 01/2019 Характеристика Команды Leadtime 80 Перцентиль 88 Дней +4 Дня

    * за последние 3 месяца
  23. 01/2019 Гистограмма по Leadtime Контрольная диаграмма

  24. 01/2019 Диаграмма Leadtime по статусам Незакрытые баги

  25. Уволить

  26. Редизайн

  27. • Половина приложения на легаси подходах • В модули вынесено

    процентов 20 кода 01/2019 Проблемы
  28. Photo by Nikita Herasimenka on Unsplash Пилить фичи Довыносить модули

    Что делать дальше Чинить локальные проблемы
  29. Приоритезация техдолга

  30. Характеристика Команды Leadtime 80 Перцентиль 41 День -47 Дней *

    за последние 14 месяцев 03/2020
  31. Гистограмма по Leadtime Контрольная диаграмма 03/2020

  32. 03/2020 Диаграмма Leadtime по статусам Незакрытые баги

  33. • Smart Router-ы растолстели и мешают выносу остатка модулей •

    Модули выносили хаотично, критичный путь сборки длины 23 • DI кривоватый и в связи модулей много boilerplate • Скоро выйдет Jetpack Compose, и он про MVVM • На iOS дизайн система дала прирост к скорости 03/2020 Проблемы
  34. Risk Assessment Framework Важные показатели (LT*2+FT*3+TR*3+TG+TB)*S E+1

  35. Risk Assessment Framework Результаты оценки Еще куча всяких задачек

  36. Целеполагание 1. AS IS 2. TO BE 3. Actions 4.Measurement

  37. Целеполагание Photo by Jude Beck on Unsplash RAF +

  38. 10/2020 Характеристика Команды Leadtime 80 Перцентиль 34 Дня -7 Дней

    * за последние 6 месяцев
  39. Гистограмма по Leadtime Контрольная диаграмма 10/2020

  40. Диаграмма Leadtime по статусам Незакрытые баги 10/2020

  41. Контрольная диаграмма

  42. 10/2020 03/2018 01/2019 03/2020 84 88 41 34

  43. Photo by Gustavo Torres on Unsplash Баланс Бизнеса и техналога

  44. Как продать технолог

  45. KPI менеджеров средней руки Q1 Q2 Q3 Q4

  46. Photo by Hunters Race on Unsplash Выводы AS IS, TO

    BE, Actions, Measurement На метрики надо смотреть, но знать, что измеряешь Продавайте рефакторинг и облюдайте баланс во всем
  47. None
  48. +1

  49. None
  50. О чем мы говорили Выводы AS IS, TO BE, Actions,

    Measurement На метрики надо смотреть, но знать, что измеряешь Продавайте рефакторинг и облюдайте баланс во всем