$30 off During Our Annual Pro Sale. View Details »

Analyzing Yumemi’s organizational structure from object-oriented perspective

kkeeth
February 16, 2020

Analyzing Yumemi’s organizational structure from object-oriented perspective

kkeeth

February 16, 2020
Tweet

More Decks by kkeeth

Other Decks in Business

Transcript

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

    View Slide

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

    View Slide

  3. Good Systems, Apps

    Good Design

    Good Teams, Orgs

    View Slide

  4. Let’s start talking about
    organizational design of
    Yumemi

    View Slide

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

    View Slide

  6. npm/~kkeeth

    View Slide

  7. github.com/riot

    View Slide

  8. 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!!

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  12. but, after the organization is
    actually changed...

    View Slide

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

    View Slide

  14. It’s just Chaos

    View Slide

  15. not be chaos,
    not do chaos,
    but, into chaos

    View Slide

  16. Keep order in Chaos !!

    View Slide

  17. View Slide

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

    View Slide

  19. 3 Simple Rules
    Cohesion Seperation
    Alignment

    View Slide

  20. Alignment
    adjust vector with
    companion

    View Slide

  21. Cohesion
    steer towards the
    center of mass

    View Slide

  22. Seperation
    avoid clashes with
    companion

    View Slide

  23. evolve from there…

    View Slide

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

    View Slide

  25. What is a team in
    an agile organization?

    View Slide

  26. Theme. 1
    Separate rolls for each teams

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  31. Now in Yumemi, teams are created
    by each EXPERTISE

    View Slide

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

    View Slide

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

    View Slide

  34. Front-end teams
    Boolean
    Elements
    memento-mori

    View Slide

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

    View Slide

  36. A team is defined from “3S”

    View Slide

  37. The definition “3S”
    Story
    Stakeholder
    Scope

    View Slide

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

    View Slide

  39. Story

    View Slide

  40. Think about 4 “what”

    View Slide

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

    View Slide

  42. Scope

    View Slide

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

    View Slide

  44. Stakeholder

    View Slide

  45. Composed of “3C + R”

    View Slide

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

    View Slide

  47. How is in project?

    View Slide

  48. Boolean
    Elements
    memento-mori

    View Slide

  49. In plain words, our teams
    are like GUILD

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  55. Is that really good?

    View Slide

  56. There are 3 caveats

    View Slide

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

    View Slide

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

    View Slide

  59. Anti pattern
    Team A

    Team A
    Team B
    We don’t accept
    you're join.

    We don’t
    accept creating
    new team.

    View Slide

  60. Theme. 2
    Yumemi Inc is like as OSS

    View Slide

  61. What is “Pro-req” ?

    View Slide

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

    View Slide

  63. The members in Yumemi are
    all CEO(*secondary)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  69. Theme. 3
    Others(various designs)

    View Slide

  70. The good design of corporate
    organization must need learning
    and recruitment

    View Slide

  71. In Yumemi…
    Advising Process
    Teal organizational concept

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  77. 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)

    View Slide

  78. Summary

    View Slide

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

    View Slide

  80. Great development
    experience with good
    organization design!

    View Slide

  81. Publicity

    View Slide

  82. We’re hiring web developers!!

    View Slide

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

    View Slide

  84. View Slide

  85. View Slide