I have been working in the software industry for more than 25 years now. And I am happy to see an increasing integration of the individual disciplines of requirements analysis, implementation, testing and delivery over the last few years. This is probably due to a higher sensitivity of markets for good quality products. With the age of the Internet, social media, the cloud, mobile and more people can faster choose the right service or simply change to what gives a better fit to their needs. Agile software development and the emergence of Agile organizations is part of this great change, which has caused disruptions throughout industries and will continue to do so.
But at the same time there is still quite a business out there, focusing on sub-disciplines like running departments of business analysts, outsourced groups for software testing or we see consultancies only focusing on one single discipline. Agile testing is a very good example. Software quality should be a responsibility of a whole team. It would already start, when considering requirements from different perspective, thinking about increase in value and proper validation. Software engineers would not just drop any output over the fence, forgetting about everything Lean principles showed us. And the actual testing effort would not only take place somewhere at the end of a project, driven by a specialized troop, leaving alone everybody else, who was involved with the product creation before. Agile testing is not about Agile testers, it is about a whole-product and whole-organization approach.
And still there are at least three main parties, who get it wrong:
- There are of course the specialized consultants, the out-tasking and off-shoring crowds, who just want to make money out of completing a task. They do a job, but don’t create a better product, nor does this service help to grow better capabilities of an organization.
- On the opposite side there are those, who are more than happy giving away the responsibility for this task by contracting those providers.
- And last but not least there are those people, who are obliged to work within their silos, only doing their task (like programming), without a view for the bigger picture, handing over to the next working station
I do see this as an anti-pattern of software development. Pursuing it on an industrial level simply is to do things wrong and can’t succeed any longer in a world changing at this fast pace. Testing is not anymore left to testers. Especially in Agile it is not just showing testers, how to proceed in an Agile environment. It is not just a collection of new techniques. And it is not just for testers. It is a whole-organization effort, a new focus on quality assurance. Doing it right from the beginning (as good as it gets), test driven design and development, continuous integration, continuous delivery, regular customer feedback and rapid validation are the things, where silo-based software testing has no place anymore.
So what is your approach to software quality and testing? What is your direction towards a more Agile testing discipline? And what is your conclusions for the organization?