At the same time, though, technical skills alone are no longer adequate for the task. Software testers need to develop their business skills and acumen too. In short, they need to come to terms with the nuances inherent to the “business of testing.”
First of all, it’s time to retire the term "software tester." In years gone by, software development peers often dismissed testers as being less capable or clever than software architects or developers. The common misconception was that people ended up in testing as a career because they weren’t up to the more complicated task of developing code.
Similarly, testing was previously seen as merely a support function – an activity that happened at the end of a project as a final bit of quality assurance. Testers were rarely involved upstream in the development process. Whether short of capability or not, they weren’t pulled in when business decision-makers finalised ideas for a new client offering. They were ignored when software architects made high-level design choices and were often disregarded by developers when they performed their magic.
Things changed, of course. Software testing has evolved into an engineering competence, and ongoing process, making quality engineer a more fitting title than tester. Quality engineering is a vital function in an agility-minded business world, where rapidly delivering quality solutions and customer satisfaction is paramount.
What has brought about this landslide change? The emergence of Agile software development and DevOps has placed the spotlight on end-to-end quality for the full software delivery and maintenance team, including the testing community.
As quality engineers are called to work in multi-functional teams where continuous integration and continuous delivery is the focus, quality engineers must move on from simply testing functionality and code quality as a concluding stage, to ensuring quality and superior customer experience throughout development.
As such, testers should make an immediate and essential effort to gain the relevant skills needed in this new environment, which includes learning to code and developing engineering competencies. However, a technical skills update is only one crucial requirement. Another necessity is improved business skills and understanding because with teams still often working in separate business silos, it’s easy to forget the bigger picture.
Understanding of purpose and processes
Testing software quality is always a means to a business end, and the new generation of quality engineers needs to have a firm grasp of what that “end” is.
Internally, quality engineers should be familiar with the business reasons and goals for the applications they are working on. Linked to that is a need for a comprehensive understanding of the organisation’s procurement processes and policies, in addition to a grasp of business “nitty-gritties” such as supply and demand, budget cycles and approvals, Requests for Proposal (RFP) procedures, Master Agreements and legal issues, as well as other financial issues.
In addition to coming to grips with these fundamentals of business management, there’s also the issue of understanding how vendors operate, how their performance is measured and delving into an understanding of who customers are. This doesn’t just apply to internal stakeholders, but also the end-users who will be utilising the products and services.
While this vastly expanded skillset may sound like overkill, it is estimated that globally, a third of IT budgets are spent on software quality. That is a considerable amount of money. Then again, the process of digitisation is driving every business to become a software business – hard-pressed to deliver products and services more quickly and at lower costs.
Quality engineers (née software testers) who adopt a business-centric approach – and integrate Lean principles into their ways of working – will help to achieve this objective through the delivery of quality software. They will also elevate their organisational value in the process.