Slide 1

Slide 1 text

Analyzing Yumemi’s organizational structure from object-oriented perspective kkeeth @kuwahara_jsri @clown0082 Feb 16, 2020 Object-Oriented Conference #ooc_2020 #ooc_c

Slide 2

Slide 2 text

organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations. - M. Conway

Slide 3

Slide 3 text

Good Systems, Apps ↓ Good Design ↓ Good Teams, Orgs

Slide 4

Slide 4 text

Let’s start talking about organizational design of Yumemi

Slide 5

Slide 5 text

const my_info = { Workplace: ‘Yumemi Inc’, Position1: ‘Servant Leader of FET’, Position2: ‘CEO(secondary)’, Community: ‘Riot.js, Ionic, DIST’, PokemonGO: ‘TL40’ } About me

Slide 6

Slide 6 text

npm/~kkeeth

Slide 7

Slide 7 text

github.com/riot

Slide 8

Slide 8 text

Sorry 1 … This slide is made in English. But I am unfamiliar using English. So, I may have a wrong expression. Plz feedback for me called “Masakari” about my English!!

Slide 9

Slide 9 text

Sorry 2 … The title says “Analyzing ... from object-oriented perspective“, but it doesn't matter much ...

Slide 10

Slide 10 text

What organization model is better? When we consider Conway's law and others

Slide 11

Slide 11 text

Yumemi’s organizational design seems good “Factory method” pattern or “Abstract” pattern

Slide 12

Slide 12 text

but, after the organization is actually changed...

Slide 13

Slide 13 text

There are funny system ‣ Decide our salary by ourself ‣ Unlimited paid leave ‣ All members are CEO

Slide 14

Slide 14 text

It’s just Chaos

Slide 15

Slide 15 text

not be chaos, not do chaos, but, into chaos

Slide 16

Slide 16 text

Keep order in Chaos !!

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

There are 3 Simple Rules of Flocking Behaviors https://gamedevelopment.tutsplus.com/tutorials/3-simple-rules-of-flocking-behaviors- alignment-cohesion-and-separation--gamedev-3444

Slide 19

Slide 19 text

3 Simple Rules Cohesion Seperation Alignment

Slide 20

Slide 20 text

Alignment adjust vector with companion

Slide 21

Slide 21 text

Cohesion steer towards the center of mass

Slide 22

Slide 22 text

Seperation avoid clashes with companion

Slide 23

Slide 23 text

evolve from there…

Slide 24

Slide 24 text

Agile Organization If there is an algorithm that adapts without someone ordering it, it can respond to change naturally Organizations are self-designed and adapt as a result in unpredictable environments

Slide 25

Slide 25 text

What is a team in an agile organization?

Slide 26

Slide 26 text

Theme. 1 Separate rolls for each teams

Slide 27

Slide 27 text

Back-end Designer Front-end Infrastructure Planner Manager A project team Business Tester

Slide 28

Slide 28 text

Back-end Designer Front-end Infrastructure Planner Manager A project has closed Business Tester finished/ closed

Slide 29

Slide 29 text

Back-end Designer Front-end Infrastructure Planner Manager B project team Business Tester

Slide 30

Slide 30 text

Back-end Designer Front-end Infrastructure Planner Manager B project team Business Tester Creating a new team from scratch is costly...

Slide 31

Slide 31 text

Now in Yumemi, teams are created by each EXPERTISE

Slide 32

Slide 32 text

Designer teams Front-end teams Back-end teams Business teams PM teams

Slide 33

Slide 33 text

Designer teams Front-end teams Back-end teams Business teams PM teams Pickup and show details!

Slide 34

Slide 34 text

Front-end teams Boolean Elements memento-mori

Slide 35

Slide 35 text

Front-end teams Boolean Elements memento-mori And other non-engineering teams so too. e.g. general affairs and accounting

Slide 36

Slide 36 text

A team is defined from “3S”

Slide 37

Slide 37 text

The definition “3S” Story Stakeholder Scope

Slide 38

Slide 38 text

https://note.com/raykataoka/n/nb6b7e5434ce8?creator_urlname=raykataoka

Slide 39

Slide 39 text

Story

Slide 40

Slide 40 text

Think about 4 “what”

Slide 41

Slide 41 text

What is the background of the team? What is the significance of the team? What is the purpose of the team? What the results do the team want? Story

Slide 42

Slide 42 text

Scope

Slide 43

Slide 43 text

Refers to the scope of activities, tasks, responsibilities, available resources and budget that the team should fulfill. • reasonable distance about the activities • don’t overlap too much • don’t separate too much Scope

Slide 44

Slide 44 text

Stakeholder

Slide 45

Slide 45 text

Composed of “3C + R”

Slide 46

Slide 46 text

Stakeholder name detail Committer ɾHave responsibility and pro-req rights ɾCommit continuously of team’s scope Contributor ɾSupport committer ɾCannot have pro-req rights Coach ɾCoaching ɾDo not interfere more than necessary (Rep) ɾTeam contact ɾResource management

Slide 47

Slide 47 text

How is in project?

Slide 48

Slide 48 text

Boolean Elements memento-mori

Slide 49

Slide 49 text

In plain words, our teams are like GUILD

Slide 50

Slide 50 text

Designer teams Front-end teams Back-end teams Business teams PM teams

Slide 51

Slide 51 text

Designer teams Front-end teams Back-end teams Business teams PM teams

Slide 52

Slide 52 text

Designer teams Front-end teams Back-end teams Business teams PM teams

Slide 53

Slide 53 text

Designer teams Front-end teams Back-end teams Business teams PM teams

Slide 54

Slide 54 text

Designer teams Front-end teams Back-end teams Business teams PM teams It’s just a chaos

Slide 55

Slide 55 text

Is that really good?

Slide 56

Slide 56 text

There are 3 caveats

Slide 57

Slide 57 text

• Open/Closed principle • Single Responsibility Principle • Interface Segregation Principle - Principles Of Object-Oriented Design

Slide 58

Slide 58 text

Anti pattern I have 3 roles… Rep A Rep B Rep C PM/Business There are many consultation Reps... developer, HR, marketer...etc …

Slide 59

Slide 59 text

Anti pattern Team A ❌ Team A Team B We don’t accept you're join. ❌ We don’t accept creating new team.

Slide 60

Slide 60 text

Theme. 2 Yumemi Inc is like as OSS

Slide 61

Slide 61 text

What is “Pro-req” ?

Slide 62

Slide 62 text

Pro-req is… Proposal review Request One of Yumemi’s systems

Slide 63

Slide 63 text

The members in Yumemi are all CEO(*secondary)

Slide 64

Slide 64 text

Being allowed things(examples) Create new teams/rules/ committees Change teams/ roles/office Create/Change rewards

Slide 65

Slide 65 text

Pro-req flow Stakeholder Committer 1. Create Proposal 2. Review ※ Don’t deny 3. Check Review 4. Need to modify proposal? merge 5. Push Yes No Post channel

Slide 66

Slide 66 text

After Pro-req flow(example) Local Production Staging Pro-req flow Pro-req flow Release Close Pro-req

Slide 67

Slide 67 text

Of course, we cannot create Pro-req directly to Production environment

Slide 68

Slide 68 text

There is a hard-and-fast rule, I think

Slide 69

Slide 69 text

Theme. 3 Others(various designs)

Slide 70

Slide 70 text

The good design of corporate organization must need learning and recruitment

Slide 71

Slide 71 text

In Yumemi… Advising Process Teal organizational concept

Slide 72

Slide 72 text

Everyone has the rights to decide All parties involved in the decision and experts must be consulted There is no obligation to take every opinion, but it is not a compromise All advice must be accepted and seriously considered Advising Process

Slide 73

Slide 73 text

Advising Process We have the right to decide Please advise to me ✅ foo ❎ boo ✅ bar ̋̋ ˚˚ ✕✕

Slide 74

Slide 74 text

I won't talk about recruitment. The people in charge of HR are so amazing

Slide 75

Slide 75 text

https://speakerdeck.com/clown0082/the-results-and-learning-of-one-year-of- referrals-adoption

Slide 76

Slide 76 text

• Open/Closed principle • Single Responsibility Principle • Interface Segregation Principle - Principles Of Object-Oriented Design

Slide 77

Slide 77 text

Roles and responsibilities Manager Designer Engineer Programmer ɾRequirement definition ɾCreate document(Project) ɾResource management ɾDesign(UIUX) ɾDesign(System) ɾCreate document(System) ɾCoding ɾCreate document(Codes) ɾCommunication and adjustment about specification of system/app ɾre-design(UIUX/System)

Slide 78

Slide 78 text

Summary

Slide 79

Slide 79 text

Teams are more object-oriented than expected, but based Chaos Keep order in Chaos Yumemi is like an OSS Summary

Slide 80

Slide 80 text

Great development experience with good organization design!

Slide 81

Slide 81 text

Publicity

Slide 82

Slide 82 text

We’re hiring web developers!!

Slide 83

Slide 83 text

There are other funny system ‣ Support for re:Invent, WWDC ‣ Qualification bounty ‣ Unlimited exercise system

Slide 84

Slide 84 text

No content

Slide 85

Slide 85 text

No content