Leaf role

Leaf role (LR) is the position of a team member to process the task tickets. The tree without leaves can never grow big and strong. Just as important as the healthy leaves for the trees, a company without healthy contributors can never grow big or strong. The metaphor used here is to remind the managers how important task executors are and company policy is strictly against any abuse of power from managers on LR.

LR includes: Backend, Frontend, Mobile, Design.

LR input and output:

Size tasks

Input:

  1. Product feature requests from executives
  2. Product design output

Output:

  1. Task tickets with estimated completion time.

Process:

🎯 Sizing task is one of the most important works because it reflect project timeline, resource and expert level of task sizer/implementor.

  • Keep in mind the real life execution of a task when sizing:

    • Solution design
    • Implementation
    • Resolve review comments
    • Deploy on dev, staging and production
  • Answer popular questions:

    • How long does this task take to complete?
    • Does this task take longer than 3 days?

Execute and update tasks

Input:

  1. Sized task
  2. High code quality standards
  3. PR creation guidelines

Output:

  1. Ready to consume designs
  2. Merged & deploy PRs
  3. Updated ticket status before everyday standup
  4. Show what you achieve yesterday. We operate on honesty, self-discipline and trust. In order to build this trust, it's your part to show your work yesterday (code commit, design, ...), not waiting for anyone to ask or push.

Process:

🎯 Execute and update tasks is every day routine. LR must create a comfortable routine for him/herself for a good working envrionment.

  • Answer popular questions:

    • It's standup time, is your ticket updated? There is no need to ask this question. It must be done before standup.
    • Task A is taking longer than overdue, what is the problem with it? Do you need help?
    • Can you catchup with the rest of your task within this sprint?
    • Is there any difficulty that you need support to complete the tasks?
    • Do you think your current level of expertise is the same with the task expectated completion time? Should we adjust the task time or your expertise level?

Review work from peers

Input:

  1. Task execution output
  2. PR review guideline
  3. Design principles

Output:

  1. Added value reviews: strengthen the code quality and design priciples
  2. Catches bug, security issues, performance issues, ...

Process:

🎯 Work review is to have a different opion on the task, with the same purpose to maintain high code quality, design priciples to make sure work output is a high quality agreement.

  • Answer popular questions:

    • Is this design really optimal? How does it stand comparing to competitors or similiar design from big companies like Apple, BMW or Tesla?
    • Can this API be any shorter but still maintain all other quality?
    • Why does this implementation different from our code quality standard?

System monitoring and improvement

Input:

  1. Daily task development
  2. System performance from monitoring

Output:

  1. System improvement suggestions for better daily task development
  2. Suggestion for improvement on system wide performance

Process:

🎯 No one understand the code/product your write/design better than you do. So if there is any production bug or customer feedback, you are the best person to handle it. The goal is to make sure our system availability/satisfaction meets customer expections.

  • Answer popular questions:

    • There's production bug, who can take it?
    • Customer is complaining that feature is hard to use, how can we fix it?

Suggest architectural improvement

Input:

  1. Daily task development
  2. System performance from monitoring

Output:

  1. System improvement suggestions for better daily task development
  2. Suggestion for improvement on system wide performance

Process:

🎯 Suggest architectural improvement from LR is a crucial step to make sure we close the loop of improving our system architecture internally and externally. This loop will improve daily LR execution efficency and system level efficiency.

  • Answer popular questions:

    • Are you satisfy with our current platform? If not, what is your top 3 feedback?
    • Do you have some part of the code that you have to write repeatedly whenever you implement a task? Can you suggest anything so you only need to write the difference whenever new task come up?

Self learning and development

Input:

  1. Personal learning and development goals
  2. Company and team growing plan
  3. Development input from manager
  4. Expertise and leveling benchmark from the company

Output:

  1. Design a trackable, progressable development plan
  2. Execute this plan and discuss with manager to evaluate progress

Process:

🎯 Self learning and development is a big part of our company. Our company is a learning organization. How fast and ambitous is the learning depends on each individual. But in any industry, not moving forward means that you are already behind:

  • Where do you see yourself in 3 - 5 years?
  • What qualification & experience do you need to be in that position?
  • Where are you at right now?
  • What is your plan to close the gap?
  • How will you execute it?
  • What is the current status of your developent?
  • When do you think you will achieve your goal?