Showing posts with label qualityanalyst. Show all posts
Showing posts with label qualityanalyst. Show all posts

Friday, November 30, 2018

Recording from webinar on The Missing Feedback Loop now available

On 21st Nov, TestCraft.io hosted me in a webinar where I spoke about - "The Missing Feedback Loop - The Tools, Techniques, and Automation to Solve It". 

You can get the recording from here (https://hubs.ly/H0fBDN50).






Friday, December 29, 2017

Understanding, Measuring and Building Consumer Quality

It has been a long time since I posted anything on my blog. For those who don't know, I am working in Vuclip, a B2C company in the OTT space, where we have millions of consumers using our product via Android and iOS native apps, and the Browser too.

In the past few months, I have been in deep water taking on a new and very exciting initiative. Before I share what that is - here is a traditional approach to Quality.


Typically practices, processes, tools are chosen and implemented to help build a good Quality Product for the end-user. Evolving from Waterfall methodology to Agile methodology has been challenging for many (organizations and individuals), but has proven to be a huge step forward to achieving the goal of building a good and usable product.

In this course of time, we have (thankfully) changed the thought process of considering QA to be the "gate-keeper of Quality" to QA being a "Quality Advocate and Quality Enabler" for the team and the product. A very important change as a result has been changing the focus of QA from "finding defects" to "preventing defects".

And rightly so! After-all, why should the QA be the gate-keeper and -
  • take the responsibility and blame of someone giving poor / incomplete requirements? or,
  • someone writing bad code during development?
The QA is not a scavenger meant to clean up mess created by others. The QA instead is an enabler who -
  • helps bring all stakeholders together through the life-cycle of the product - from conceptualization to end-delivery, 
  • asks a lot of questions to find gaps, clarify assumptions, etc.
  • helps find and radiate information including risks, and,
  • is an active part of doing whatever it takes to prevent defects coming into the system
The Agile practices help do this in a collaborative way, getting features to completion in an incremental fashion, and iterating / pivoting based on the feedback received. This is also what practices related to Continuous Delivery enables us to do well.

But this is nothing new, at least for me. After all, during my fantastic journey at ThoughtWorks, I would say that these were basic tenets of why and how we worked.

That said, my eye-opener in the past few months has been to take this thought process many steps forward.

My agenda has been - how can I help influence and raise the bar of quality in such a way that we not only build a quality product, but also be in a position to predict how our millions of consumers will be able to use it.

This initiative we are calling as Consumer Quality -
  • how do we understand Quality (= value) of the product as perceived by our Consumers, 
  • what data can be relevant to understand this, how can we be proactive about looking at this data while building a quality product, and,
  • the Nirvana stage - how can we predict what actions taken will have desired impact on Consumer Quality!
I hope to be able to share with you more of this in 2018!

Happy New Year everyone! Keep Learning, Keep Sharing!

Thursday, December 8, 2016

Career Path of a Tester!

PS: This is a long post. You can can also get / read a pdf version of this from here via slideshare.

I asked in various forums - “Does a Tester need a career path? Yes / No - Why?

Thanks to all who replied and have shared deeper insights into different perspectives.

I agree with most of the thoughts and also think that the answer to the question is "It Depends!"

On what you ask? On various parameters being used to reach the answer. The parameters could be:
  • Your past experiences
  • Your current work - and how much you are enjoying it, or not. More important (IMHO is the activities you have been done, not the titles / roles you have been playing)
  • Who has inspired you in the past and present - and what was their role at the time

Career Path options for a Tester

Before I proceed further, I want to share my perspective on what I think are the options for “testers” in the Software Industry. In terms of Career Path options - I think the options are in a way clear as depicted in the mind map below.


Career Path for a Tester
Note - this article focusses on all aspects except the Managerial Track

Capabilities and Skills for a Tester

Moving along the Career Path is almost natural as you spend more time in the industry. However, to become successful along the way, there is a lot of hard work required.

There are various capabilities and skills that a Tester needs to be successful in his / her career - including but not limited to the few options shown below. 

Note:
  • These skills are more from a Individual Contributor / Technical Track perspective.
  • The mind map does not do justice to visualize easily the Levels of expertise that are possible for each of the items. The levels can be categorised into
    • Don't Know
    • Beginner
    • Intermediate
    • Expert
    • Master

Organization Focus

The Capability and Skills would differ "slightly" based on the nature / operational model of the organization you are working for.


Coaching and Consulting Focus

Coaching and Consulting focussed-roles would predominantly require strong soft-skills, but the importance and value of Technical Understanding cannot be underestimated. 



Often unfortunately, I have come across 'consultants' who know only theory, and very little practical experience of implementation. In such cases, you care not doing justice to your role. 

At the same time, I have come across brilliant Consultants who bring in a wealth of experience and knowledge (what has worked, and not worked) and apply it in the correct way in the present context. It was indeed a pleasure to work with such Consultants!

Analysis Focus

The path of the shift-left is extremely important and also not easy. You need to apply a different mindset to accomplish activities that helps build a better software even before any code is written.


Test Analyst Focus

A Tester cannot be complete without doing well in the core skills - Testing! 

Testing is complex, frustrating, tedious, slow, negative to a certain extent - finding mismatches in actual Vs expectations and can never say its 100% complete! Yet, it is a lot of fun. You get to learn a lot of things, use a variety of tools to help your Testing efforts. 

When the software is built right, and the end-user is able to do what is expected from the software you have helped build and test, Testing is also very rewarding!



There are a few things that limit the impact of Testing - 
  • Lack of curiosity
  • Lack of willingness to learn, explore and get to the deep core of the product
  • Lack of willingness to be technical (understand / contribute to product architecture, read and understand code and the automated tests)
  • Lack of willingness to experiment
  • Lack of willingness to pair with different roles - Product Owners, Business Analysts, Developers, etc
  • Unable to work as ONE TEAM!
  • ....

Technical Focus

Software Development is a highly technical activity. There is no reason why Testing should be considered as a non-technical activity.


Incubation and Initiatives

There are other activities that a Testing can be part of - these are related to Learning, Sharing, Mentoring and Contributing to make the Testing space more richer!




The Pendulum Visualization!

Another way to visualize these skills and capabilities is to think of this as a pendulum.
  • The arc created by the swinging pendulum contains all the items listed above
  • As your experience in the industry grows, you should get some level of experience in each of these aspects
  • Your passion and interests should determine what area(s) you want to get a deep-level of expertise in
  • So eventually you will end up in a T-model - the short horizontal line representing the breadth of coverage across all aspects of how you can help build a 'good' quality product, and the vertical line representing the 'deep' level of mastery and expertise you have.

Summary

The sad part!

Now that this is out of the bag - I want to highlight a few things that I have observed in the Software industry, and this is probably not limited to just the Tester role.
  • People are impatient and quickly want to move up the chain along the career path track. Motivation could be, but not limited to - Money and Power (to control). I would ask these people to do a serious introspection to figure out if they are truly doing justice to their role and their peers, Are they able to be good role models for the people “reporting” to them?
  • Career Path is necessary, but overrated. Too much emphasis is given on the “role” and not enough on the activities required to make the team successful, and make the product that will help the end-user. Focus on the big-picture, and your career will grow automatically.
  • We try to copy what others in the industry have done in their career, This is an easy way out. Instead, I recommend you understand their journey, the hard work your role-models have put in their life to get to where they are. I encourage each of you to spend some time understanding this, and then work with your mentors and people you trust to see how you can create your own path. That way, your life, journey and destination will be unique!

The Happy Ending!

Testing is a lot of fun. I have been in the Testing field since quite some time. Here are some things (in no particular order) that have kept me interested in the field:
  • Understand the domain
  • Always keep learning (domains, technologies, tools, practices, soft-skills, ...)
  • Experiment - that is the best way to learn
  • Don’t be afraid of failure. Learn from the mistakes, and ensure you do whatever possible to avoid the same mistake again
  • Be curious
  • Ask “relevant” questions
  • Challenge status-quo
  • Do NOT assume
  • Understand risk of functionality not working - will help in proper prioritization
  • “Why” before “How?”
  • Know the end-users of the product-under-test. Will help test better
  • Testing is NOT only about finding / reporting defects.
  • Use metrics that help make meaningful decisions to make the product better
  • Be patient!
  • Help build a “ONE TEAM” culture!