How agile assists Ranorex’s responsibilities from start to finish

CEO of Ranorex, Christoph Preschern, explains how agile decreases time to market, helps deliver the right product/features to its customers, as well as delivers better quality by having the responsibilities right from start to finish

Tell me about yourself and your journey with Ranorex:

Christoph Preschern: I have been with the company since the very beginning. Prior to working at Ranorex, I did software testing and software development on the team which was led by the future founder of Ranorex, Jenö Herget. This was 15 years ago. Back then Mr Herget was in charge of the company-wide continuous integration/build system. He was also in charge of selecting an appropriate test automation tool. Mercury/HP was already under evaluation, but it was not affordable – so he decided to develop a free test automation library testers and developers could use to create automated tests.

Before then, I was just a Junior Developer and did not feel confident enough handing over my code to the testing department. Using this free test automation library helped me ensure that my components had the expected level of quality. That was my first experience with automated testing. I realised pretty quickly that the earlier you have automation in place, the faster you are at delivering software. Back in 2005, the free Ranorex automation library became available online, and many testers and developers started using it. Mr Herget then decided to make a business out of it. He asked me whether I’d like to join the team in September 2007 as a sales engineer, helping customers understanding the concept and idea behind Ranorex. As is common for start-ups, everyone is doing a little of everything, but I always wanted to stay involved with customers. So, I wrote documentation, developed the first Ranorex training concept, helped marketing with positioning our tools, and was also responsible for demonstrating and selling our solution. Today, I’m responsible for the organisation at our European Headquarters of over 80 employees, with a strong focus on the sales department.

How does Ranorex ensure test automation anywhere, at any time?

Christoph Preschern: Ranorex supports building automated tests for multiple platforms including desktop, web and mobile environments. That’s easy for test automation vendors to claim, of course, but much more challenging in practice. But our focus has always been to support our customers with their toughest automation challenges, whether they are testing legacy systems or apps built with the latest technologies. Many of our customers have to automate testing for a wide variety of technologies. From a tester’s perspective, you might even not have a clue what type of UI technology is used in the background. That’s why we include support for all technologies in Ranorex Studio – testers have a single, familiar interface regardless of the development technology used for the application under test.

The automation of regression tests is usually the first step for our customers. With Ranorex, these tests can easily be triggered by any continuous integration/build system overnight. In addition, Ranorex supports executing tests in cloud environments. This is especially needed for customers testing their web applications on multiple browsers in parallel. Ranorex supports any type of WebDriver-based automation infrastructure like SauceLabs, BrowserStack or SeleniumBox.

How does Ranorex drive interest in agile?

Christoph Preschern: Increasing agility is very hard to achieve without automation. The more agility you want the more automation is needed. This is not only related to testing automation. From a developer’s perspective, nothing else drives you crazier than waiting for feedback about your latest commit/check-in to the code base on the server. Unit testing meets the need for faster feedback and is increasingly recognised as a QA standard in every agile development team. But from a tester’s perspective, unit tests by themselves would never be enough to ensure adequate review of the application. In order to make sure that component A also works in combination with component B, tests on a system level are also needed. Having at least a minimum set of smoke tests configured to execute overnight and maybe during lunch would be a good combination.

On the other hand, there are organisations that are still in the process of transforming from waterfall to agile; especially in the mid to enterprise-sized companies. Ranorex helps these customers to incrementally achieve a higher agility level with automated testing of legacy applications at the UI level. For these customers, unit testing does not work because the system under test was not designed for that. Or even worse, the knowledge about the code base is no longer in-house, perhaps because developers have left the company, or components have been bought instead of being developed in-house.

What strategic outcomes does the firm want from implementing agile?

Christoph Preschern: Ranorex is a unique company in many ways, but when it comes to implementing agile, our goals are really the same as most other organisations. We want to decrease time to market, deliver the right product/features to our customers, get faster feedback from our customers, deliver better quality by having the responsibilities right at the development. I suppose that one of the things which makes us unique is that we are our OWN customer – we use our test automation solution to test our own product.

How will you know when you’ve accomplished an agile process?

Christoph Preschern: Agile is, of course, a goal, not a destination. You can never say that you’ve “arrived,” because there is always an opportunity for improvement. But some of the most significant markers of what we could call a “mature” agile process are a development team that is empowered to make decisions about how to implement a certain product requirement on their own, and an organization that is confident enough to present the outcome/product of every sprint in front of the customer.

What evidence do you have that agile helps Ranorex be more efficient?

Christoph Preschern: Our agile processes enable us to consistently deliver our releases on time and at a more frequent interval than in the past. But most importantly, we have improved the quality of these releases as measured by the number of issues reported after release.

How does agile transformation tie in with your own objectives or strategic direction?

Christoph Preschern: One of the key benefits of an agile approach is reduced management overhead. Our teams are able to spend more time discussing how a feature should look than in trying to plan a large project. Of course, our internal test automation and continuous integration processes allow our QA personnel to conduct less manual testing and focus more on ensuring the quality of our product.

How will you handle the typical organisational changes needed to make a transformation successful, such as restructuring centralised functions (e.g., governance, testing, release, and deployment) that need to become services?

Christoph Preschern: We worked closely with an expert to help us manage the transition to agile processes. If you don’t have the expertise in-house, then I highly recommend getting assistance from outside. You may want an external consultant anyway since it can be challenging for team members to have the necessary perspective to restructure existing roles and procedures. It’s also useful to specify certain roles during the transition. For instance, you might need more scrum master skills at the beginning while your teams are adjusting to the new processes. Once those processes are running smoothly, continuing them day-to-day might not require the same intensity.

Get buy-in from all parties that change is necessary. Allow change to happen from the ground up, and avoid forcing change from above. Let internal and external people demonstrate the advantages. Once adopted by few, the agile virus spreads quickly.

When you hit stumbling blocks, such as people defending out-of-date approaches with “we’ve always done it like that,” encourage them to reflect on the reasons those approaches developed, and how they could be improved. Persuade them to try out alternatives. Provide plenty of time to experiment. Most importantly, try to tear down the mental barriers in your own head (“what if that goes wrong?”) before tearing down another’s.

How will you ensure that the layers of management from the team to the top are prepared to develop and demonstrate agile behaviours?

Christoph Preschern: Occasionally, management should participate in reviews and retrospectives. This would not be from a stakeholder perspective but as an observer; to see how agile is working in the team. Remove all but the critical management positions and make people part of the teams as leaders. Team leads should ensure that their teams can work without disruptions. Make it clear that management is not there to tell the people what to do, but to ensure that people work most efficiently together.

How will you ensure that your performance system is adjusted to account for team versus individual accomplishment such as shared goals?

Christoph Preschern: Each individual team member needs to have goals that contribute to the team’s goals. Don’t just evaluate how much code someone produces, but how they help to let everyone else produce great code.

How will you communicate your goals, approach, and expected outcomes for transformation?

Christoph Preschern: Well, of course, it is important that the organisation’s leadership has a true open-door and open-ears policy. In addition to presenting the goals and outcomes for improvement, leaders should always be role models for the change they expect to see in their teams.

How will you ensure direct two-way communication to foster the identification and resolution of implementation challenges?

Christoph Preschern: The key to communication is to put team members as close to each other as possible – ideally in the same workspace. Formal reporting lines, processes or directions on how to communicate should not be the focus.

How will you sustain motivation and focus on the whole transformation lifecycle?

Christoph Preschern: In general, motivation is not a problem when team members have sufficient responsibility and authority to do their job. If a team does hit a stumbling block, then simply re-explain the goal and hold a retrospective on the improvements already achieved.

Written by Leah Alger