Friday, August 1, 2014

An approach to build a team beyond Cross Functional

Few years back, I met one of my uncles who lives in Australia. We had a nice chat about our families, etc. After a while he asked me details about my job. I said I am a Software QA engineer. He was surprised and asked, what my responsibilities are. I then listed out my responsibilities one by one. He then asked, “other than the normal QA work, do you have other responsibilities to help each other and to add value to your project?” I answered that I did not. Then told me that he too was a QA person in the pharmaceutical industry. And other than his usual day to day responsibilities he works on other areas to help different people and to add value to the process/team. He described that main advantage is that the people in the team has knowledge about the other persons work and hence can help out when that person is unable to attend to it. (Maybe she/he on leave or sick).

In this article, I will not going to explain anything about product performance engineering but how to build an ‘Extended Cross-functional Team’

First of all, ‘what is Cross Functional Team’?

According to the Wikipedia “A cross functional team is a team composed of at least three members from diverse functional entities work ing together towards a common goal. This team will have members with different functional experiences and abilities, and who will likely come from different departments within the organization”.
In software industry, we have the same experience while working for a project. Say for an ex: we have a Oracle expert, SQL DB expert, Security expert, Product Performance Expert, Automation expert, Overall QA expert(s), Overall Dev expert(s) and Domain expert(s). It seems a nice cross functional team. But let say Automation expert is on leave for his/her wedding and suddenly there is an issue in the automated suite. Imagine the situation, do we have a resource to fix that in our team. The answer is NO as our test automation resource is on leave.
But see, if that team had a resource which have a basic knowledge about the test suite, then he can have a look and fix or he can give a call to the guy who knows the entire process and find a solution as quickly as possible. So that is the main reason why we talk about Extended Cross-functional Team which beyond normal Cross-functional Team.

How we need to build an ‘Extended Cross-functional Team’?

In order to build this extended teams, we need to target the individuals who worked in a project. After a lot of effort, experts came up with a model called T model which we can use as a basic guide.

Model is as follows:


Main idea behind this model is explained by the vertical and horizontal lines. Thick vertical line represent the core competences that the resource has (Or in other words, a lot about a bit). Thin horizontal line represent his/her other capabilities or areas that has basic knowledge (Or in other words, a bit about a lot).

As a QA or Dev engineer, we have to select this according to following 2 facts: 
  1. Core area (Vertical line of the T model) will be decided upon the project requirements and skill set. Ex: Dev team members should be worked in .Net / MS SQL platform. Build should be tested by QA members.
  2. Other areas (Horizontal line of the T model) will be decided by the Team or individual. Ex: One of the members like to learn performance testing and he/she will add as the backup for performance engineering area. Team decide member A should work on Oracle side in order to backup related areas (In this case individual can disagree with the team decision and ask for a different area).

As a team, can we just do this?

Yes but not efficient. Then, we have to come up with some statistics to adjust the gaps. In order to do so, we have to do a gap analysis about the current competences and build the resources to bridge the gap.

 

In this scenario, we can create a table as follows to see the areas that we have to fill.

Color scheme is as follows:


Expert

Have good experience

Know about the area but need guidance

Do not know anything

Now you can see how the domain, tech, DB and nonfunctional areas are distributed among the team members. Specially CS (Domain), .Net, C ++, N JS (Tech) and ST (Nonfunctional) have a huge gap. So the team lead can use this valuable data to create an action plan on how to fill this gap from existing team members and create a perfect ‘Extended Cross-functional Team’.

Hope this will help you.

No comments:

Post a Comment