Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

https://youtu.be/UEBHkLnrOHQ https://www.slideshare.net/techblogyahoo/yjtc18-c2-web-87239068 Yahoo! JAPAN Tech Conference 2018 Yahoo! JAPAN Tech Conference 2021 Self-Introduction - Worked as a iOS app KURO-OBI (Black-belt) (2017-2020) - Presented at tech conferences in 2018 and 2021(Japanese) - iOS app developer in Yahoo! JAPAN

Slide 3

Slide 3 text

Target audience - People who work with members of various occupations who do not communicate directly - People who want to eliminate technical debt systematically - People who can't grasp all the code and are developing apps with a large team

Slide 4

Slide 4 text

Overview - Introducing the team's efforts to improve technology on the Yahoo JAPAN app for iOS - Introduction of what kind of points I keep in mind while continuing those efforts - If the organization is large, technical improvement will not scale due to individual motivation alone

Slide 5

Slide 5 text

Yahoo! JAPAN for iOS (Photos: aflo)

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Project structure (2022)

Slide 8

Slide 8 text

Related Talk Day 2 18:00 - 19:00 JST Operation and Quantitative Visualization of Kanban and XP on Yahoo! JAPAN Top Page

Slide 9

Slide 9 text

Technical debt

Slide 10

Slide 10 text

Technical debt - More and more ad hoc code - Old APIs and languages continue to be used - The code becomes complicated due to the hands of many people

Slide 11

Slide 11 text

We need to eliminate technical debt… - Continuously - As a team

Slide 12

Slide 12 text

Agenda - Case Study 1 : Multi-modularization - Case Study 2 : SwiftUI introduction - Patterning these approach

Slide 13

Slide 13 text

Agenda - Case Study 1 : Multi-modularization - Case Study 2 : SwiftUI introduction - Patterning these approach

Slide 14

Slide 14 text

monolithic project Multi-module project Framework Framework Framework .swift .swift .swift .swift .swift .swift .swift .swift .swift .swift .swift .swift

Slide 15

Slide 15 text

Trivialize the value of technology

Slide 16

Slide 16 text

Messages in the team - Modularization allows more time for development - The above is self-explanatory - Multi-modularization speeds up each build and test execution time

Slide 17

Slide 17 text

Trivialize the value of technology - Benefits can be clearly communicated to non-developers - Reassure others by telling them that work is progressing - You can easily build a measurement system - You can motivate team members

Slide 18

Slide 18 text

Decide what to measure take measurements

Slide 19

Slide 19 text

Build In Logs/Build/ Measurement target

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

Dev Server √∫≈

Slide 22

Slide 22 text

Build Time Dashboard

Slide 23

Slide 23 text

Average weekly build time

Slide 24

Slide 24 text

Before Multi-module

Slide 25

Slide 25 text

After Multi-modularization

Slide 26

Slide 26 text

New iOS released

Slide 27

Slide 27 text

5FSN %JTUSJCVUJPOPGUJNFTQFOUQFSCVJME 1FSDFOUBHFPGDPNQMFUJPOT XJUIJOTFD Average weekly build time After Multi-modularization New iOS released

Slide 28

Slide 28 text

Trivialize the value of technology

Slide 29

Slide 29 text

Agenda - Case Study 1 : Multi-modularization - Case Study 2 : SwiftUI introduction - Patterning these approach

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

Turn my goals into benefits for our organization - Trivialize the value of technology - Make indicators measurable by date and time - Rephrase the benefits to what they are for another platform or designer

Slide 32

Slide 32 text

https://note.com/designers_story/n/nbfbb73828616 (Japanese)

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

https://techblog.yahoo.co.jp/entry/20191203785540/ (Japanese)

Slide 35

Slide 35 text

iOS Android Web Design X X X

Slide 36

Slide 36 text

Trivialize the value of technology - Evaluated by number of steps - Replace UIKit source code with SwiftUI one-by-one

Slide 37

Slide 37 text

XIB SwiftUI

Slide 38

Slide 38 text

Report UI component replacement Visualize how many steps have been reduced Explain that they contribute to development efficiency

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

How many steps have been reduced? 60% reduced

Slide 41

Slide 41 text

Agenda - Case Study 1 : Multi-modularization - Case Study 2 : SwiftUI introduction - Patterning these approach

Slide 42

Slide 42 text

Trivialize the value of technology

Slide 43

Slide 43 text

Trivialize the value of technology - Benefits can be clearly communicated to non-developers - Reassure others by telling them that work is progressing - You can easily build a measurement system - You can motivate team members

Slide 44

Slide 44 text

Trivialize the value of technology Decide What to mesure Explain that they contribute to development efficiency Take measurements

Slide 45

Slide 45 text

https://speakerdeck.com/kazuhiro4949/da-qi-ye-falsezui-qian-xian-dekodowoshu-kisok-kerutameniyatutekitakoto (Japanese) What I've been doing to keep writing code at the forefront of large companies

Slide 46

Slide 46 text

Thank you