People and process trump tools when it comes to improving software quality
By Cameron McKenzie
"Frankly, I don't even want to talk tools." It's a rather surprising way to start a conversation about application lifecycle management (ALM), especially when the person you're interviewing works for a tool vendor. But that's exactly how Jim Holmes, Director of Engineering for Telerik's Test Studio, started the conversation when asked about the essential tools every quality-minded enterprise software developer needs at their disposal.
Anyone that has ever played 18 holes knows that a great set of golf clubs won't turn a bad player into a PGA champion. Similarly, a million dollar ALM suite can't compensate for a culture that fosters poor processes, and employees who are not committed to continuous quality assurance. When it comes to delivering value to the customer, "it is much more important to form the appropriate culture, and that culture does not hinge on whether you are developing in Ruby or C#, and it doesn't hinge one whether you're using VisualStudio or Vim," says Holmes. What is important is that organizations create and maintain a culture that not only prioritizes testing, but one that makes testers part of the entire software development process in a way that leads to a "broader conversations about how to delivery value."
A culture of quality
Of course, Holmes understand that developing the right corporate culture for delivering high quality software isn't always easy. During his session at STPCon in Phoenix, entitled Zero to Eight: Lessons Learned Starting a Test Automation Team from Scratch, Holmes discusses the trials and tribulations he had to overcome when helping to integrate quality assurance process into a growing company that was developing and delivering enterprise software without any formal testing strategy. So how does an organization that hasn't made testing and automation a part of their corporate culture getting themselves into a situation where they have a strong testing plan that encompasses the entire software delivery process?
"It's a long, hard, painful process," says Holmes. But any organization that isn't doing proper testing and automation is going to experience some serious growing pains as they scale. Finding out where an organization is running into problems is the first step. And then building a plan that automates key processes and takes pressure off developers, management and support staff will quickly bring key stakeholders on side, and when that happens, the culture starts to change. "How many release candidates do you go through before handing off to customers?" is one of the questions Holmes will ask a client. "Look at the support impact 30 days after dropping to customers, and then look at the regression rates. Look at the rework that has to be done." These are very common pain points as development teams scale beyond their capacity. Addressing these issues will quickly get an organization on side.
People, process and tools
Of course, despite progress, there are always those that resist change and want to deliver software the way they did when they were just a tech startup. "There is only so much you can do about culture. If you can't get everyone on board, you're only going to have partial victories."
Tooling is important, and a solid software suite will allow teams that embrace the idea of automation, testing and high quality software delivery soar to new levels. But as Holmes says, it's all dependent upon the people and the underlying process. If you can fix the process, and keep the people motivated, software development teams will discover on their own which tools they need, and how to use those tools most effectively.
How are you pursuing excellence in your craft as a tester? Let us know.
11 Jan 2014