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