Looking back 2020 and What’s next…
As I’ve done for previous 2 years, I was going to write looking back..
- Lookback 2019
- Lookback 2018
But it was not easy for me to verbalise activity and feeling of 2020 since there was big change about the style of my work, which make me lazy in trying to describe complicated feelings and thought.
Up to today from later 2020, I’ve been very struggling with the situation I’m in like what I need to solve / how I should solve, which also let me think of my career growth and direction.
Now that I started to be able to verbalise and put all my thought together on 1 page, Let me write down as I won’t forget what I felt what I decided for future.
Starting by looking back…
Q1Q2: Trying to become Team Lead for Big Team
As I’ve touched in Look back 2019, I thankfully got enough members for all responsibility I had, It was around 15–20 people for 2 different domains, IaaS and Kubernetes.
Making them on-boarded are also finished early this year and we all kind of ready to tackle against Projects in our Product.
Everything was looking fine at that moment…But this period I made 1 mistake, which is that I was trying to be good leader and make a lot of value for Product in the same way as I did when I was leading the team having just 3–5 people.
What I was doing here is following
- Pick problem statement(=idea) from idea box maintained in my head
- Ask each person or each two of person to be owner for the project
- If there is important task or urgent task which is not related to the project, find the person from team to ask based on “Project Situation” and “Capabilities” of assignees.
We played sprint style task planning and management in the team. But It was more like sharing plan from every member not like discussing what to proceed. It was natural consequence since team members don’t share much each person’s context.
What’s happening?
When team, product scale was small, above looked like working. But after team, product scale is getting bigger and bigger. I started to see following problems
- No person who try to look at entire team situation / product situation, which tend to make it difficult to raise next manager up and work as standalone team
- High cost to catch up all the small urgent&important ticket and find the person to work, since each person have own project and kind of hidden own backlog and Manager need to keep these info in his/her head to consider whom manager can ask non-project task, which tend to make some important task missed or delayed
- Success rate of Project is very depending on assignees, No help from peers, Since each person have their work
- If more than 2 important projects went bad and need help, Only manager can notice and need to decide which one manager would cover.
These problems came from SPOF situation I unintentionally created, I was literally SPOF in the big team to proceed work. This SPOF is not indicating “I’m good” or “I’m only the person having capability to lead” but It does “I’m stealing opportunity from each member to solve SPOF”. That’s against ideal manager’s definition to help team being better.
Speaking of additional factors, Kubernetes Service had been landed on the production and after that, as you can imagine, there were plenty small “important&urgent” tasks which turned out to keep it in production quality.
That also accelerate current situation is getting worse because of practice I made.
Although a lot of project or new value we might deliver with hard working and lucky situation especially for that time, I was feeling there are not small risk, which might cause big issue in the future.
This let me think of my working style and how I interact with the teams
Q3->2021Q2: Trying to become Organisation Lead
NOTE: Here organisation is not literally indicating to organisation in the company human resource structure, it just refer to “behaviour as organisation lead might do”
To review back Q1Q2, I considered a lot about my working style, and decided to set direction as remove myself from team working process to create value.
Before I explain about the direction and attempts I did, I want to make us on the same page about how I disassembled our working process (Software Engineering/Product Development) into multiple phases.
Value Creation Cycle?
Here is the picture to project how usually we are contributing to company.
- First of all, we do need to understand what’s current situation surroundings of yourself
- Set problem statement, how we could do better than now. Gap between ideal state and current state would be exact value
- Schedule when we work on that problem statement
And then, finally we do start work on creating value as problem statement guide you. after work is completed, we are supposed to create value as we defined and then review back current situation including value to be created, and set next problem statement…again and again…
more or less, even if you are not so aware of this type of value creation cycle I believe you are doing similar or your team is doing similar work.
How I was part of this value creation cycle?
To make it ease to understand, I put 2 different face icon, manager and member.
As of 2020Q1Q2, I was doing top 3 boxes as I described previously
- Understand Situation
- Set Problem Statement
- Schedule
And then, team members are working on the actual work like adjustment, project backlog creation, design, implementation…and so on.
What I meant by “set direction as remove myself from team working process to create value.” is moving towards as following.
Basically all of the phases don’t involve manager’s interaction. That’s where we are trying to head.
So What will be my job (= Manager job)?
If manager is not involved in value creation process, what will be the value of manager? will manager just relax and wait for members to create value?
No.
Basically I believe there are 2 main responsibilities out of value creation cycle
- Make sure team create best value all the time. If not, consider the action from organisational and technical hands-on perspective. later i will introduce several action I actually took
- Keep measuring value created by team and understand current situation
Just explanation is very easy to do but make this value creation cycle work without manager’s interaction was not that easy and this was the target I set for 2020Q3Q4.
What Did I do?
So far I just described what I considered and what I set as direction, after set direction, there were plenty things I needed to tackle against to reach ideal state of the team.
Here is what I did.
- Divide 1 big team into 2 different teams by characteristic of value and set dedicated manager or lead for each
- Set different expectation / level of interaction depending on characteristic of the team and the lead (inclined to be more observer for one team, for other being more actively involved)
- Introduce Limited Scope Leader Concept
- Renew task management framework based on limited scope leader concept to make value creation cycle work without manager ‘s interaction
What’s Limited Scope Leader Concept
“Understanding”, “Problem Statement”, and “Scheduling” these works are not easy to clarify exactly what to do, since these work is to consider “what we should do for product/team” not like do what’s got asked by someone. That’s why just asking every member to do /participate more won’t easily work. If it does work, you are not struggling with this topic in the first place.
Therefore I decided to split leadership work into mainly 2 parts to make it possible for team member to actively participate / take a responsibility of them.
- Product Leadership (Reliability, Customer) called as “Committee Member”
- Execution Leadership called as “Group Leader”
Product Leadership = Committee Member
This leadership can be still divided into multiple sub leadership like “scaling” “reliability” “customer satisfaction”…
Basically the person having this role is in charge of looking at the software or product from specific perspective and consider how we can make it better all the time.
The person of this role is not in charge of “actual execution”
Few example of activity led by this role
- Outage report follow-up
- Customer Communication/FAQ follow-up
- Code review from scaling perspective
Execution Leadership = Group Leader
This leadership is in charge of keeping the team finish task/implementation as much as possible within specific timeline like 2 week sprint and also make task / project schedule in time and if anything un-expected situation happen, need to share within team and also all of stakeholders. Basically require this leader to consider how we can make this team better all the time.
The person of this role is not in charge of “considering what we should do for product/software”
Example of activity led by this role
- Daily Meeting
- Sprint Meeting
- Sprint Retrospective
Role Assignments?
When we are speaking of “Scrum” “Agile” introduced team, it usually imply that “all of members are flat and everyone have same responsibility and do together” as good team.
That’s ideal I also believe but reality is not that beautiful.
Some engineer want to focus on / spend time more on coding, Some engineer is happy to be glue person if it’s required, some engineer is eager to get customer feedback and happy to make an effort to get…
Once team size is getting bigger, we do have many different type of engineer having different thought / picture of future career ladder.
If we assign same leadership role to all of members as ideal team structure said like everyone will behave as leader, where many different thought of engineers are working, It would raise someone-else-do-instead mindset up very naturally. I observed several teams face this type of failure.
That’s not good for the team overall, and at that time manager must not think it’s not working because of whom you have, it’s a job manager need to tackle.
So rather than asking everyone to have responsibility for these leadership, I asked every 2 members to have one of the limited scoped leadership roles when the member’s level got higher than certain level and asked to participate specific meeting and write plan and report, which help them understand what to consider what to do naturally as a leader.
This was out of deep consideration how to raise leadership skill up and create ladder for the leader from member as well as considering how to remove myself from value creation lifecycle.
I was mainly struggling with following problems
- Ideally I want every team member to participate in all of phases for Value Creation Cycle but “Do with everyone make less awareness of necessary for participant” since everyone feel someone will do…
=> That’s why I assigned limited scope leadership role for each - Difficulty to let member know the mindset and thinking process (How we understand current situation, How we set problem, How we prioritise…these thinking process is difficult to verbalise)
=> That’s why I introduce “report” “planning board”… that kind of concept to visualise “ideal thinking process”. If we visualise, we can also improve
If I mapped 2 different type of leadership role to value creation cycle, it would look like as followings
Just diagram should be clear enough since I already described what committee member and group leader are supposed to do.
Visualisation of Thinking Process
As well as limited leader concept, I also introduced “visualise thinking process” named as “task management framework” as part of the effort to tell “what leader is supposed to do” to member being assigned to limited scope leader role.
The purpose of “visualisation” is to let other member know what leader is thinking usually in his head so if the leader has grow up enough, this visualisation won’t be important much as introduced initially. So you can omit some part or make it brief to save time but I do recommend not to omit this type of redundant process for first few months.
Here is what I concluded…
1. Status Sync
- This is the activity to understand current situation of team and product, then make all of team member on the same page
- This report also include the problem statement what we can do to make it better
- This status report will be prepared by each committee
2. Priority Board: Projects
- This is the place to list all of projects waiting for schedules
- Each waiting projects have the priority and reason why it’s highly prioritised
- If group finished current assigned project, group will get new project from this board
- This is maintained by everyone
3. Priority Board: Daily Tickets
- This is the place to list all of daily tickets waiting for schedules
- Each tickets have the reason why it’s highly prioritised and if we didn’t proceed each ticket, what will be consequence
- Each Group will schedule some amount of highly prioritised tickets from board at every sprint
- This is maintained by committee members and group leader (of course all of member also can make an opinion if they have since it’s visualised)
4. Group: Sprint Plan/Report
- Every group will create sprint plan at sprint meeting
- Current sprint plan will be converted into sprint report with result of retrospective and achievement at every sprint meeting
- sprint plan will be composed of tickets from “daily ticket priority board” and “assigned project backlog”
- This is maintained by group leader and present within department to show off what we have done and what we are planning for next sprint
5. Group: Project Backlog
- Each group will own 1 project
- Once each group got new project, group leader will be in charge of clarifying all of works to be required for the project, which will be Project Backlog
Summary
Overall from 2020Q3Q4 to now, I’ve tried to make value creation cycle works without any interaction of manager by considering…
- How to create scope of responsibility
- How to make member fit in the defined responsibility
- What kind of mechanism help value creation cycle work better
And then actual practice I made is “limited leader concept” and “new task management framework” and also “Look at the work as value creation cycle”.
As I can look back, obviously if I compared with previous quarter (2020Q1Q2), problem statement I was working on and how I am involved in the team got different a lot.
Less technical hands-on and More management/organisational work.
Although ratio of management/organisational work are increased, how to solve problem is not that different. I really feel organisational management and microservice architecture’s system devops have many points in common.
In this post, I didn’t share other management topic in addition to value creation cycle and delegation like management mindset, career consideration of ICL vs MC, practice of evaluation, different expectation between senior manager and manager…but I will create corresponding post for each topic, which describe my thought built up after I experienced senior management.
Please check it out if you are interested in
(Later I will replace here with link for post)
- Problem Solving (how to shape)
- Management Career vs Individual Contributor Career
- Organization Lead vs Team Lead
- Evaluation System -> Skill Division
- Mission Ownership and Value
- Vision/Objective Management -> Mission vs Vision vs Direction vs OKR
- Retention Management (Value, Why I need you)
What’s Next for my career & 2021Q4 =>
So far….
- 2020Q1Q2: Work more like playing manager or dedicate team manager
- 2020Q3Q4 -> 2021Q3: Work in the way of senior manager or organisation leader rather than team manager, which cover multiple teams
Previously I was thinking “Senior Manager” is superior to “Manager”, that’s why If you could become “Senior Manager” you are already good “Manager” and can get the offer from any company if you apply for manager’s position.
But after I experience senior management and considered how to create organisation, how to delegate, how to tell the expectation…I’ve noticed team management and organisation management are completely different topics and also they have different best practice.
So even if you experience senior management for long and highly evaluated, that’s not indicating you will be able to be highly evaluated as a manager as well.
Management Position Expectation & Skill
Management position is not that easy to define expectation what to do in general since that’s all the time depends on “Company Culture”, “Higher Management Culture”, “Current Team Situation” sometimes “50% hands-on and 50% management would be best practice for specific situation”, sometimes “100% management would be bad practice”.
Although there are many books describing “Manager should not code” “YYY is the manager job” blablabla…., I hate to “just” believe these best practice which is quoted from the book or internet article. That’s just best practice for specific situation. Without staring at the your situation, it’s impossible for us to find out the best practice of your situation. Of course as a reference or the case example, best practice would be helpful but we should not just believe it blindly.
But I can say one common difference in 2 positions for all companies, which is “Responsibility”. This is same regardless of company you will work for. That’s why I believe with your current responsibility, what kind of problem statement you would set and what kind of solution may help you get though, considering them seriously will be only way to get “best practice” for your case, that thinking process calculated from different level of responsibility would be general practice.
After I looked at our current situation, I found out “what’s will be the best practice I can come up with now for our situation”, which will be more like 100% management as I was doing 2021Q3Q4 but maybe need to be away more from the front line.
Risk being promoted to higher management position in 1 company
I got many chances in current company like “tech lead”, ”team manager”, “senior manager” and go up management ladder in fast paces relatively (software engineer -1 year-> team manager -1 year-> senior engineering manager..). that’s I’m really appreciate and looks really good things.
But at the same time, I started to be worried about my career ladder in long run.
Without having more experience of team manager for many different type of team or organisation, Is it okay to develop senior management skill? If I want to work for other companies in the future, Am I still useful?
Right now thankfully I got many chances and highly evaluated with the lucky and especially for our current organisation. But I’m not so sure for my current skill and future skill I will get current company is commonly attractive to other company for future as well. Technical skill tend not to have so much different but management skill is very depending on company situation, therefore If you are in the just 1 company and got highly evaluated but that company is kind of special situation, you won’t be so useful for other.
That’s why I’ve decided to look at other organisation how other companies build up management culture and how them work, and how I can deal with to develop more management skill.
Unfortunately there are not so many Engineering Manager position in Japan and If we look at the position which can use English, it would be really limited, and also not sure even you will like it or not.
That’s why I’ve decided to leave Japan and will work in United Kingdom.
In next company I will still work for management position but I will step down from senior engineering manager to team manager. but I’m very excited to see how other company work and contribute to.