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
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