Delivery software at the high standard is hard. Companies have to accelerate their rate and quality of software delivery to remain competitive and develop valuable digital offerings.
Quality Engineering is the paradigm to enable companies to respond to these challenges, constraining the overall system to Quality requirements. In this interview, we step back for the big picture of software quality and testing.
From his industry experience, Lalitkumar shares a SWOT on Software Quality and a methodology he has built over the years to deliver faster and with quality, “Quality-Conscious Software Delivery” (QCSD).
We cover the following points :
- The main typology of problems face with Quality
- The strengths and weaknesses of Software Quality and Testing
- The opportunities to implement Quality-Consciousness
- The threats for the evolution of Quality in organizations
- The valuable practices for Quality and Testing
- Feedback on the Quality Engineering Definition
Join the QE Unit to access exclusive and regular content from the community.
About Lalitkumar Bhamare
Lalit spent 3 years with Barclays Investment Bank as Sr. Test Analyst and led their L&D CoP (for testing), primarily responsible for rolling out the latest testing practices in Barclays, as part of Innov8 (an organization-wide program).
Under the TCS-Cisco relationship, he has also worked as founder and director of Technology Excellence Group for Testers. He has worked as a consultant on demand for various project teams across Barclays group, especially to implement CDT in testing projects, along with other things.
Lalit thinks that his connection with the global testing community & his volunteer experiences help him contribute back to the organizations he works for. That has helped him to contribute to building an intellectual testing culture at his workplace.
He is a skilled Tester, Test Manager, Trainer, Coach and Consultant on demand, all packed in one profile. His creative talent (which reflects his activities) is an additional skill that helps him effectively communicate ideas.
Antoine : Can you start by introducing yourself?
I am working in Germany for XING, the network platform for professionals. I have been running the Tea Time for Testers magazine for the last 10 years. I am also Director for the Association for Software Testing (AST), while helping a couple of testing startups. I also publish the State of Testing Report. All my professional career is dedicated to software quality and software testing.
Antoine : From your industry experience, what main typologies of problems do you address?
One major problem I encounter is the understanding of Quality in itself. It is often taken for granted or considered as a particular phase in projects. It is highly important to clarify that quality cannot be considered a side-part. Quality has to be part of the product with Quality-Consciousness and mindsets of the team, no matter at what stages of software delivery you are.
I do believe this problem is widespread. I encounter it with various roles in software: developer, testers, product, leadership, etc.
Antoine : That probably means that communication is an essential skill as Quality actors?
Indeed, we have a real responsibility in articulating and communicating the value of testing and quality, which are different things. We need to help leadership understand the implications and make decisions on these domains. There is an indirect relationship between them and the product we will deliver at the end. If you care about quality, you need to correctly articulate the value of testing.
Antoine : From your perspective, what are the strengths and weaknesses of Quality?
I think the strength is to acknowledge there is a problem. Most of the time, people within an organization do not even realize there is one. Consequently, they don’t know what to solve and are not acting on the right priorities. They can lose valuable time just fixing symptoms instead of the root causes. Once the correct problem is identified, we can move to align the right actions.
In terms of weaknesses, the lack of shared understanding and responsibility for quality. The lack of responsibility is in part a consequence of an unclear understanding. We regularly hear about a whole team’s responsibility for quality, but this is still not a standard in reality. Testing is now expanding more quickly, but it should have been done earlier.
This notion that quality and testing responsibilities are for testers is wrong. A whole team approach to quality is required, cascading specific responsibilities from a common quality culture, including stakeholders. The technology improvements are useless until this shared understanding and responsibility of quality has been addressed.
Antoine : Do you see more contexts where these weaknesses are overcome?
I have been promoting this with the Whole Team Quality workshop and the Quality-Conscious Software Delivery (QCSD) framework. I believe it is possible for each member of the team to do their work with more quality. At the end of the day, the cumulated changes and collaboration make a huge difference.
We don’t really need sophisticated tools or complicated methods. People just need to know how they can contribute to a shared definition of quality through their work. We don’t have to do much “extra work” for quality. This is not an extra. It is a requirement in the job we have to do, from the beginning.
Antoine : Which opportunities do you identify to implement this Quality-Consciousness?
A prerequisite is for people to be willing to make an effort and open to see how to make things differently. A lot of opportunities are available without requiring more resources or tooling. The majority of them are accessible with openness and training. In the end, we avoid a lot of patchwork tasks. It is a question of mindset.
Antoine : To the contrary, which threats do you identify?
I would like to mention the message shared in the article “We need to talk about testing” by Daniel Terhorst-North, the creator of Behavior Driven Development (BDD). He acknowledges that we have to talk about software testing as it was left apart in the software industry for the last 10 years. I believe this has been a core problem in our industry and needs to change.
There is still a majority of professionals not clear about what meaningful quality and testing are. A recurrent pitfall is to consider testing as “automate everything”. “do all via unit tests”. By applying this reasoning, shortcuts are taken like “we don’t need testers” or “we don’t need people affected to quality”. This cultural lack, ignorance and unawareness are the most significant threats to Software Quality.
“There is a real need for management, change and evolving the perception of quality for all the actors.”Lalitkumar Bhamare
Antoine : Which practices did you find valuable for Quality?
The first one is to don’t tell people what to do. Instead, show and share with them how you do things. They will catch your reasoning, ideas and expectations faster that way. You cannot be the person always defining and coordinating specific team actions. You need to lead in a way that lets people drive valuable change themselves. You need to be with them, sit and act to make them succeed in their journey.
This is my biggest lesson so far.
Antoine : Interesting, it means that a mindset of growth, openness and learning skills is critical in staffing a team?
Yes, because failure is also an essential criterion. People need to accept failure without taking things for themselves. In some instances, you need to let people try and learn from their failures. They will learn how to do better not only in this case but in larger cases. This is a way to help them succeed and learn to change the way they perform certain activities.
Antoine : What would be the key takeaway on your vision of Quality, Quality-Consciousness and the priorities we identified?
We should not focus on Quality only in terms of the product; that’s only one notion of quality that comes into play. From a whole approach to quality, we need to consider the people, project, and their interactions. There is a deep relationship between these 3 axes, affecting each other. We need to improve on the 3 aspects of product, people and project to succeed in software delivery.
Antoine : It seems like a tendency of engineering practices, not only software, to focus too much on the product aspect. We can too easily lose focus on the overall perspective of users, other actors and activities.
I take the opportunity of this interview to get your feedback on a definition of Quality Engineering we are building in the QE unit. “Quality Engineering constrains every activity of the software lifecycle to continuously deliver a valuable experience for its users.”
How does it resonate with you? Do you find meaning and concrete links with your experience, actual work and the ecosystem?
It resonates a lot. I believe it is not only the users though, but there are also other actors that I would identify as the stakeholders. I would probably rephrase it that way as they need to define and align the value for example. Great initiative and I am looking forward to the book.
Antoine : To end with a final note, is there content you would like to share or inspire you?
I have written a blog on Quality-Conscious Software Delivery theme, with various posts and content around the workshops and talks. I help people understand the concepts and share how to implement the framework in their context.
Antoine : Thanks a lot Lalit, it was a pleasure to have you in this interview. We are looking forward to the next quarterly edition of the Tea Time for Testers 🙂
The main takeaways through the Quality Engineering Framework, MAMOS:
- The Methods starts by aligning the Quality of Product, People and Project
- The Architecture of Quality with technology is not necessarily the priority
- The Organization of Quality and Testing is a whole-team approach
- The Management responsibility is to drive scalable value across the teams
- The Skills of openness, leadership and growth mindsets are essential