In this interview, Prasad Mk of TCS discusses the changing nature of the testing tools landscape, what an organization needs to do in order to be successful in this new world, and whether your company should buy or build the tool you need.
Josiah Renaudin: Today I'm joined by Prasad Mk, practice director, North America, of Assurance Services Unit at Tata Consultancy Services (TCS). Our discussion today will be focused on the role of an effective tooling strategy in the success of your testing project. Prasad will share with us the essentials of a good tooling strategy and its correlation to project outcomes.
Prasad, thank you very much for joining us. To begin with, can you share some insight on the changing nature of the testing tools landscape? What shifts have you observed in the past few years that have created new challenges for testing teams today?
Prasad Mk: Thanks, Josiah. Before I discuss the evolving tools landscape, I would like to mention that in this era of continuous, agile DevOps and the Digital Five Forces (mobility, social, big data and analytics, cloud, and artificial intelligence and robotics), using testing tools not just for test automation, but across the entire software lifecycle has become all-important. At the risk of stating the obvious, I must reiterate that trying to enhance speed to market or bringing in the right set of efficiencies is absolutely impossible without the right tools.
Given that context, let me tell you about the three key aspects that are changing (or have changed over the years) in the market.
a) There is a wide variety of tools available for all specialties of testing—continuous integration testing, test data management, mobility assurance, and many, many others. There are several tool avatars of the same capability with differential value adds. And there is no single tool that suits multiple testing types.
b) There is an ecosystem beyond the testing function that is influencing the creation and use of these tools. There is a touch point with the dev and ops teams, and it’s very important to look at a tooling strategy in conjunction with the entire ecosystem.
c) There is a much stronger aspiration to automate the entire lifecycle, and not just the traditional testing phases.
Josiah Renaudin: What are some of the drivers for these changes?
Prasad Mk: It’s first and foremost the need for agility driven by end consumers and, thereof, by the business. This fuels the increasing need to adopt newer technologies—like the Digital Five Forces or Internet of Things—to deliver change effectively. This further drives IT organizations to adopt newer delivery models like agile, DevOps, crowdsourcing, cloud, etc. And due to this technology and delivery model change, there is a new, unique opportunity for the testing organization to innovate by using the right set of tools, including open source tools.
Josiah Renaudin: What are the top reasons why organizations have been successful or unsuccessful in defining their tooling strategy and choosing tools?
Prasad Mk: You may find it surprising that one of the top success factors is effective change management—especially in organizations that have embarked on their transformative “Digital Reimagination TM” journey. In such organizations, change is not easy, as IT and testing teams have usually grown from legacy systems and hence already have a set of tools in place. There is also a lot of capital invested in existing tools and allied infrastructure, frameworks, and environments. So they are cautious and rather reluctant to make any switch. In such a situation, the right consultant who can help optimize the existing toolset, prioritize new investments, reskill existing resources, and map out a complementary organizational change management strategy assumes importance.
Josiah Renaudin: Of course, there's no one-size-fits-all approach here, but what approach have you found to be most successful for proper tool selection and use?
Prasad Mk: You’ve hit at the core of practicality on that question. This is what we help our customers with on a daily basis. A fundamental first step is to identify one’s needs across the entire lifecycle and then lay down clear tool evaluation criteria that address those needs. Organizations should have a holistic view of their end-to-end tooling needs, and not merely a desire to pile up a variety of tools for each of their needs. This evaluation needs to be based on enterprise needs, including those of the development and operations teams.