QASymphony / Blog / Q&A with Dan Goldman, Senior Principal Quality Assurance Analyst at Manhattan Associates
Q&A with Dan Goldman, Senior Principal Quality Assurance Analyst at Manhattan Associates
Tell me how you ended up in your current role at Manhattan Associates?
Before I came to Manhattan Associates, I was a customer. Then I ended up joining Manhattan 9 years ago. For five years, I had the privilege to be a consultant traveling around the United States and implementing Manhattan solutions for about 15 clients. I came to have a unique perspective on the solutions; how solutions are implemented and actually used in the field. For the past 4 years, I’ve worked with Manhattan’s Research and Development team, which helped me get off the road (much to the delight of my family).
How do you work with your testing team?
Manhattan’s testing team is primarily based in Bangalore, India. Working across geographies is both a challenge and an advantage. My colleagues and I regularly stay in sync, and adjust our testing plans based on changes within each sprint.
What I do is conduct regular analysis on trends from the field, the market, as well as our corporate strategies. Using facts, I guide the team to focus on what is important to be tested. I also actively monitor for roadblocks, and remove them to reduce friction in our testing process. My past experience as a customer and consultant also is leveraged, to emphasize the value of getting things right the first time. Above all, my priority is to increase transparency of testing activities to my teams so it is clear what has been tested, what remains, and where the risks lie.
How has testing changed in recent years?
The role of a tester is always evolving. What remains consistent is we need to keep adapting to minimize risk, and provide “Assurance” to all constituencies (especially customers). Automation has had a big role in testing, as well as Continuous Integration. Knowing a regression has occurred as early as possible allows us to keep a steady baseline for the application. We try to automate as much as we can but it is a balance. We can’t always automate everything. Everybody realizes there’s a certain amount of manual testing that still has to be done. At the end of the day, we need to ensure that the application meets requirements and actually makes sense to the end user.
How has agile development changed testing?
Testing used to be a much more independent function. Agile development has encouraged Manhattan teams to recognize that quality is everyone’s job. The Quality Assurance team has evolved into techno-functional role, working with code, mocking data, and automating tests. For the automated tests, we endeavor to focus more at the code level, relying less on UI testing. Other aspects such as performance, security, usability, are also tested and monitored carefully.
As teams have gotten more agile, we’re seeing much shorter iterations. That creates some challenges getting things designed, developed and tested within the same sprint. It is more efficient, however, to test and address issues closer to when changes are made.
What are some of the challenges with agile testing?
One of the misconceptions about agile is that it makes your faster. It doesn’t. Rather, it allows you to adjust your priorities much faster and it reveals issues much sooner. As a testing leader, my goal is to move up testing as early as possible in the process. While this can be a challenge, it pays off. We’re able to control the time to release with much greater precision.
Is there increased risk with agile when it comes to software quality?
For the teams that properly decompose the user story, agile really doesn’t produce much risk. But for the ones that don’t decompose well, they can carry risk late into the release cycle.
With that said, there’s always going to be some risk. But we try to mitigate it as much as possible. Our systems are large and have to be reliable and dependable. Every few sprints we pause and do a “hardening sprint” to make sure things are solid. That’s a strategy has been successful and adopted across the company.
How are you continually improving the way you do testing?
We keep experimenting. That will never change. We employ a lot of different techniques – Automation, Continuous Integration, etc. We also try out different things – Risk Based Testing, TDD. This helps us keep getting better. Agile is a journey, not a destination. What used to work may no longer work as well, so we keep endeavoring to find and resolve issues as soon as we can. Bad news doesn’t get better with age, so best to take care of it and move on.
What’s next for testing at Manhattan Associates?
There are a few things we’re working on. We are continuing to automate tests, which free us up to test deeper and emulate what our customers do (and might do). Our customers expect a high level of quality from Manhattan Associates, and we do our best to assure it.
The way that our solutions are implemented are constantly evolving. Technologies are changing every day. We will continue to adapt our testing approaches, just as our development approaches adapt with emerging technologies. The only thing constant is change… which keeps our work interesting.