Patience is Good, but Your Application Still Has to be Fast
Patience is a Virtue
It’s an incredibly well-known proverb; if you wait patiently you will be rewarded. I never understood that expression. (Maybe it has everything to do with the fact that I am anything but patient...) You probably recognize if an application is super slow, we typically get angry with our phones or computers as if that will somehow make them faster. Patience goes out the window. Technology is beautiful! But we don't want to wait for it.
In my previous blog, I wrote that Developers were one of the first to feel the need for change. Because the DevOps method is expressed as a infinity loop, I cannot designate a single group. This, of course, applies equally well to testers, analysts and all other stakeholders. When developing new applications, speed and stability are becoming increasingly important themes. How annoying it is when you want to buy a ticket for that one concert and the website is overloaded? And it’s not just retail- even government websites regularly suffer from overloaded systems.
With Too Much Patience, User Adoption Decreases
We increasingly want to test the speed and find hidden errors beforehand. We would, of course, rather not bother our users with this. Nevertheless, we see in practice that the new application has passed the tests successfully. Great! But that still causes problems in actuality. Dependencies can always change in real life- think of new code, more users or processes that run at the same time, even though that was previously not the case. That is why an Agile approach (think of the DevOps method) is desirable. Testing your application should be an ongoing process. In short: fail fast, fail cheap.
Errors or problems in a production environment always seem to entail multiple sub-problems. In other words, a snowball effect. This is very annoying and time-consuming to solve, all the more so because your users also start calling, e-mailing and tweeting. By automating the testing process and making it an essential part of your development process, life becomes easier and we do not defy the patience of our users. And yet, testing is a subdued process, while it can actually bring so much!
Users no longer focus on how beautiful your application looks. Efficiency and user-friendliness are becoming increasingly important, specifically that the user immediately understands what to do is an important part of this. However, speed is more important than a super fancy interface. I even dare to say that the success of an application stands or falls with its speed and stability. If you have that in order, users will start using it sooner.
Your Patience is Regularly Tested
In practice, we unfortunately still often see websites that have been tested, but still put our patience to the test after launch. For example, the income tax declaration website of the Dutch Tax Authorities or the Dutch application "Reporting Full Trains", which was overloaded on the first day by the flood of tax returns that came in.
On the other hand, continuity is on the agenda of many companies. The application must simply do it, for all sorts of reasons: The application contributes to the business process, it is good for customer confidence in your application or solution, an overloaded server is harmful from a branding perspective alone. The list goes on and on!
During the development of your application you need continuous insight into the following questions:
- How many visitors can we handle?
- Can our application scale with the technology?
- What will our application do in the cloud?
- How do we guarantee the speed of the application in our development process?
- What are the bottlenecks for our platform for growth?
In addition, the answers to these questions can contribute to the design. You know the potential risks, so you can take all kinds of circumstances into account when designing the engine. One of the side effects is that you sometimes have to be more patient with making a new version available.
Smart Testing Prevents Impatience
Dashboard Azure test plans, overview of how your application behaves.
You don’t develop and publish an application on your own. It is certainly not just the game of the product owner or the developer, there are several aspects involved. Consider, for example, the availability or the platform configuration. You will have to deal with all kinds of environment variables. A user can use your application differently than you might have expected. In short, that clean case of patience is no less applicable to the DevOps team. To integrate this interplay seamlessly, having a solution for a continuous test plan is a valuable contribution to your development process.
Okay, and where do you start? Google alone gives more than 4 million results on the search phrase "performance test". On "performance test tools" you still get more than 1 million results. As with so many things, are you going to do it yourself or are you going to enlist the help of an expert? From my personal interest, I can at least share with you that a solution is available within Azure. Azure DevOps therefore has Azure Test Plans available. With this you get a "test management solution" for different test methods at your disposal. This includes planned tests or user acceptance tests. Thanks to a browser extension, you can also collect feedback from users. All of this is reflected in a clear dashboard in which you, just like in the car, have a view of your fuel tank, consumption, speed and temperature.
Testing Your Application Part of DevOps
Testing your application is, in my opinion, one of the elements of the DevOps culture. Inspired by this same method, the saying is: "automate as much as possible". With Azure test plans you can continuously perform certain tests. And at the same time perform tests to maximize quality in modern software development processes with exploratory testing sessions- and all this to maximize business value, customer value and IT value.
In our next masterclass session, on the 10th of July, we will be joined by a special guest who will speak about User Adoption and how to support employees to adopt the application in their own context.
Can't attend the session? No problem. Contact us to book a personal meeting!