Look back and think about the last time you tried to improve something in your life; when you decided to quit smoking, or when you said that it was time to start going to the gym, or even when you decided to stop drinking too much coffee during the day in the office.
Realizing that you needed to make the change was easy, but the first challenging test you had was to take the initial step and start the journey towards your personal improvement.
Fighting the power of inertia –
it’s not really your fault since it is always circumstantial… NOT!
When you start a testing improvement project you run into this same kind of situation.
You start by realizing that something you are doing is not right and it requires improvements. You call a number of your colleagues and have a chat with them to consult what needs to be modified and even pen down a high level improvement plan.
Up to now all good & fine, but up to now you also were only working on the theoretical pane of things. Now is time to move from theory to practice…
So you come in to the office on Monday morning (all improvement projects start on Mondays) and you sit to work according to your plan :)… But by around 10:30 AM one of your development colleagues drops by to inform you there is a regression bug on a production project and a fix is coming your way, a fix that needs to be tested and deployed ASAP!
Tuesday comes and you tell yourself that since yesterday there was an emergency today you will start to work based on your improvement plan. Then while going through your email you see one from your boss letting you know that Scott in the next department is running late in his testing, and you and Sally are going to help him finish his regression suit until the end-of-day tomorrow…
Going back to your original testing-improvement plan; the idea was to take the first half of this week to improve the way you were running your tests, this based on the fact that on Thursday morning you need to start working on the first testable build of your new product.
So Thursday morning is here and you did not have a chance to even start working on the modifications you had planned so there is no choice but to continue working “the old fashion way” and leave the improvement plan for the next time you have a chance to “make it happen!”.
It’s nobody’s fault, after all you really wanted to make the change but circumstances stood in your way and did not let you make all the things you had planned.
Stop thinking about big changes, make small changes and make them all the time
Rome was not built in one day! Story says it started with 2 brothers fighting and then it took hundreds of years of gradual building to make it a city and even more to form the Roman Empire.
What does this have to do with Testing Improvements? EVERYTHING!
If your project is already running, chances are you will not have time to make any ground-shattering change, so instead of thinking and planning based on big changes, break your improvement-plan down into gradual baby-step modifications.
The advantage of small changes over big ones is triple:
1. Smaller changes take less time and efforts so you can make them practically at any time.
2. Your team will find it easier to “swallow” smaller changes than larger ones. Remember that humans like habits, and people don’t like it when you suddenly come asking them to change what they are doing and start working differently out of the blue.
3. In case your change is not successful and you decide you want to go back to the way things were done before, it is easier and less “problematic” to roll-it-back than if you were talking about a big and revolutionary change.
Make an effort to re-use and improve, instead of constantly re-inventing the wheel.
This is one of the hardest parts of any improvement process, and it is also linked to human nature. Many times we feel that what we need is something completely new, to take what we have and throw it out the window with a chance to start from scratch and stop “living” with the errors we committed last time around.
This approach is very poetic but not too realistic when working in on-going projects. Simply enough you won’t have the time to do it, and no manager will allow you to throw away man-years or even man-months of work simply because you want a “fresh-start”. So the alternative is to take what you have and look at what to improve and how.
In some occasions you may have a case for starting all over again (new technology or some exceptional cost calculation) but don’t build on it…
Map your changes based on the value you will gain from them
Finally the question is how to plan and schedule your changes and improvements. Here the criteria is relatively simple, you need to look at the list of things you can do and always start by the one(/s) that will provide the higher value in the shortest time span.
I am not talking about *only* focusing on the quick gains while sacrificing the long range value, but if you need to choose between the 2 projects it is better to concentrate on the one that has a shorter time span and will generate value and credibility in a shorter period of time.
Ideally you should try to work in parallel and search for the improvements that will bring you both short and long range gains, but if you cannot find stuff like this then my choice is to go for the quicker and safer wins, since when you start a long range improvement you never know for sure what will happen in the middle and if you will be able to even finish it at all.
Stop thinking about it and start working on it
We all have a list of things we’d like to change.
The best, and maybe the only, way to make it happen is stop thinking about it and start working on it. There is no reason why improvements should start on a Monday, so if you have something on your mind you might as well start NOW.
Practitest is an end-to-end test management tool, that gives you control of the entire testing process - from manual testing to automated testing and CI.
Designed for testers by testers, PractiTest can be customized to your team's ever-changing needs.
With fast professional and methodological support, you can make the most of your time and release products quickly and successfully to meet your user’s needs.