Wednesday, January 16, 2008

Testing Life Cycle - Roles and Responsibilities

Testing Life Cycle – Roles and Responsibilities
Clear communication protocol should be defined with in the testing team to ensure proper understanding of roles and responsibilities.
The roles chart should contain both on-site and off-shore team members.

  • Testing Life Cycle – Roles and Responsibilities
    Test Manager
    Single point contact between on site and offshore team
    Prepare the project plan.
    Test management
    Test planning
    Interact with onsite lead, Client QA manager.
    Team Management.
    Work Allocation to the team.
    Test coverage analysis.
    Co-ordination with onsite for issue resolution.
    Monitoring the deliverables.
    Verify readiness of the product for release through release review.
    Obtain customer acceptance on the deliverables
    Performing risk analysis when required
    Reviews and status reporting.
    Authorize intermediate deliverables and patch release to customer.
  • Test Lead
    Resolves technical issues for the product group
    Provide direction to the team member.
    Perform activities to the respective product group.
    Review and approve of test plan.
    Review test script/code.
    Approve completion of the integration testing.
    Conduct system/regression test.
    Ensure tests are conducted as per plan.
    Reports status to the offshore test manager.
  • Team Lead or Test Lead or Module Lead
    Must be able to independently lead a team of at least 5 engineers
    Must be able to provide technical guidance and be the technical "go to" person for the team
    Must also be able to perform planning, scheduling, tracking and status reporting
    Supporting pre-sales activities by providing inputs around estimation, approach, domain knowledge etc
    Enforces changes to test strategy based on the project context
    Provide ideas to improve the existing test processes commenting about quality of the application under test through factual information
    Accountable for the test schedules, effectiveness of the testing, morale of the team etc.
    Note:
    1) Able to lead independent teams of 4-5 engineers on software validation projects (functionality testing, test automation, IOT / compatibility testing, compliance & certification testing, I18N / L10N testing etc
    2) Be hands-on in test designing, automation, defect management, test reporting & analysis & independently troubleshoot & debug problems in test environments, test automation frameworks etc.
  • Test Engineer
    Development and Execution of the test cases and scripts
    Result capturing and analysis
    Defects reporting and status reporting.
  • Team Structure
    An effective testing team includes a mixture of members who has Testing expertise/Tools expertise.
    Database expertise/Domain/Technology expertise.
    Consultants/End users.
    The testing team must be properly structured, with defined roles and responsibilities that allow the testers to perform their function with minimal overlap.
    There should not be any certainty regarding which team member should perform which duties.
    The test manager will be facilitating any resources required for the testing team.
    Understanding Software Defects

Becoming an Influential Test Team Leader by Randall Rice, Rice Consulting Services, USA
The reason it is so important to add value to your team and to your organization is that when a test team is seen as just a group that finds defects, it's easy to see them as the problem. It's also easy to justify outsourcing such a group because they mainly do one job. This also leads to becoming a commodity within an organization, which can be bought from a variety of providers. In this mindset, management is very tempted to give the job to the people who can do it the cheapest, regardless of who can do it best. In this way, adding value helps make you an indispensable part of your organization.
Let's look at some ways you can add value to your team and to your organization.
Grow Each Member Cross Functionally
This means that each person can perform multiple tasks. When this happens you add depth to your team and you have additional backups when needed. You can also greatly multiply time and effort by having people who can do a variety of jobs at the same time.
To do this involves cross-training people in a variety of tasks that the test team performs. This can be done in on-the-job training or in formal training.
Just as a way of measuring the value of this, compute a 10% overall increase in value for each function on your team that has cross-functional support.
Find Each Person’s Passion And Focus On It
When you do this, you unleash excitement, productivity and creativity because people get to do what they love to do. In addition, attitudes and morale improve greatly. There is no doubt that when people do the things they love to do, they do their job better.
To do this requires that you understand each person and what motivates them. This means that you must know the individuals on your team and find out what they love to do. As a test team leader you become more like the coach of a sports team. A good coach knows the players and the positions where they add the most value on the team.
Add 20% value for each person working in their respective area that is exciting and interesting to them.
Make Each Person A Resident Expert On Something
This gives each person on the team a level of importance and respect because they know that the team is looking to them as “the expert.” Also, this motivates people to learn more about their area of expertise.
I first saw this in action when I performed an assessment at a large company that was probably the most dysfunctional organisation I had ever seen in terms of culture and process. However, one team seemed to stand out above the rest. They got along with each other and they did an excellent job. This team was a technically diverse group of individuals - one person was a software architect, one was a requirements analyst, another person was a tester, one was a programmer, another was a documentation specialist, and the leader came from marketing.
In speaking with their leader I learned their secret was that each person on the team was regarded as an expert in their respective area. When a decision was needed, the rest of the team looked first and foremost to the person who knew the most about that area and heeded their advice. This really helped them to gel as a team. It added a tremendous value to the organisation, because they were able to do their jobs better than anyone else.
By the way, every person I spoke with on that team loved their job. People on the other teams could hardly wait for the day to be over.
Add 10% value for each resident expert on your team.
Encourage Each Person On The Team To Be A Mentor
I don't recommend that you force people to become mentors, but rather encourage them based on what it can do for them and for others. In my experience, mentoring initiatives fail when they are seen as mandatory.
People can be a mentor to someone, although not necessarily on your team. Mentors are a big force in driving continuous learning and they can also promote what your team does to people outside of the team. A mentor can personalize training to individuals on your team in a way that could never be achieved in a classroom setting.
Add 20% value for each mentor on your team.
Encourage Each Person On The Team To Have A Mentor
The person’s mentor may or may not be on the team. By having a mentor, you have someone who can answer your questions, teaching you new things, and commit observations about your performance. And very importantly, a mentor can hold you accountable and can help you improve in ways that others can’t or won’t. Because of this, I highly recommend that the team leader have one or more mentors.
At 20% value for each person on your team that has a mentor.
Constantly Work To Build And Reinforce Skills
This can be done by formal training, as well as in formal training and mentoring. Training does not have to be formal or expensive to be effective. However, there must be personal motivation that causes a person to want to learn. If someone doesn't want to learn, it doesn't matter which method they choose!
Each person should have a skill building plan that includes all types of training, including independent research. My skill building plan is simple -- I spend 30 minutes a day on the topic I'm trying to learn about until I feel like I have enough knowledge to move on to something else. I don't just focus on testing or even technology. I spent time on whatever interests me and sometimes even on things that don't initially interest me.
Add 20% value for each person on your team that has and follows a skill building plan.
Play To Your Strengths and Add People To Fill Gaps
No individual is great at doing everything on a team, so find the things you do best and do them the most. Then, find others to fill the gaps. Even if you work diligently at trying to improve your weak areas, about the best you will become is average. If you spend your time doing what you're average at the expense of doing things you really excel in, that's not a good trade-off.
If you need to know your strengths and weaknesses, ask the others on your team or ask your mentor.
Add 25% value if people on your team are all working in their area of strength.
The Combined Value
Assuming a seven person team that performs eight major functions, here is how I would estimate the increase in the team’s value. Keep in mind, that these are just my own subjective estimates based on my own experience of what these would mean to me as a test team leader.
• Each function can be performed by more than one person: +80%• Each person working in their area of passion: +140%• Each person is an expert on something: +70%• Each person is a mentor: +140%• Each person has a mentor: +140%• Each person has a personal growth plan: +175%• Each person is working in their area of strength: +175%
Added together, these would give an increase in value of 920%. That’s an increase of over nine times in value!
Some people have suggested that the combined impact is not a summation, but rather a multiplication the cause of the synergistic effect that could be seen. For example, having someone that is a resident expert on something and being a mentor could have an added value in itself that is more than the value of the two added together. This may well be true, but I'm just trying to stay conservative in my numbers.
In fact, if you don't like these numbers, that's fine. I encourage you to estimate what each of these areas would mean for your team and do a similar calculation using your own numbers. I think most teams would be happy with just doubling their value!
Helpful Questions
In your efforts to learn about your team and its value, here are some questions that I have found helpful to ask. I'm dividing these between questions for your team and those you serve.
For your team:
What do you really like to do?What excites you?What do we do best as a team?What do we struggle with most as a team?Where do you see your greatest contribution to the team?Who do you respect most on the team and why?
To those your team serves (your customers):What value do you see from our services?What unrealized potential do you see in our services?
Conclusion
I hope this article is a catalyst for thinking about new and creative ways to add value to your team. I'm sure there's more than seven ways to do this, and the ways I've suggested will require effort and teamwork, but can be done with minimal out-of-pocket expense. You can also try this as an experiment or trial and see how it works without a huge commitment.
Always remember, that these are things that the team must want to do. People must see the value themselves of increasing their skills and contribution to the organization.
By doing these things your team will set itself apart as a well functioning and valued part of your organization. Hopefully, management will also see your team as an indispensable part of the organization.
Biography
Randall Rice is a consultant and trainer in software testing with over 30 years experience in building and testing systems. He will be presenting this topic as part of a half-day tutorial at EuroStar 2006 in Manchester called “Becoming an Influential Test Team Leader.” You can reach Randy from his web site at www.riceconsulting.com.