Optimize Your Testing Efforts for Continuous Delivery
In these tough times(COVID-19), the well-being of customers and employees is the most important for every organization.
During this unexpected crisis, there are teams working from home while there are few workplaces that have a reduced workforce. It is a given that the thoughts, efficiency, and availability of your team will not be the same as you may expect otherwise.
In these conditions, it is vital that the robustness of your software is not compromised.
Considering the disturbance that everyone in the world is going through, there will be a few tasks that you may not be able to do as planned, while there will be some important tasks still that will have to be done.
For optimum results, optimization of your team’s efforts will be key.
The development teams will have to focus on the optimization of delivery cycles to achieve business continuity on the basis of the availability and efficiency of the workforce.
A well-implemented continuous delivery process will be the solution here.
Below are some points which are important for all the teams including Dev & QA for optimum and continued operations:
Table Of Contents
People, Process, Business
Focus on your team. Understand their strengths and patterns of working. When we are challenged by many odds, it would be hard to expect 100% from everyone. Some of them might not be used to working remotely. Give them time and better to over-communicate to fill the gap.
There are some innovative ways to connect your teams remotely like online games, virtual tea-breaks and sharing photos and playlists. Do not hesitate to make use of them. Communication becomes a key challenge in these times. Schedule regular catch-ups with your team and don’t just focus on work-related talk.
This is the time to identify your champions who can deliver in any circumstances. If you are a small team or a start-up these are the people who can take your company to the next level. Encourage your champions and assign them the key areas to focus on. Give your teams the usual freedom and accountability to achieve the goals for the week.
There might be a definite change in the productivity of your teams. Due to this almost every company has to change its priorities. Make sure you educate everyone about the change of priorities and make them align with the new plan. It might need some process changes as well. Your updates might need to be more frequent.
There should be clear in and out times and appropriate status updates in the communication platforms. It will help everyone know when to expect others and when someone would be offline.
Don’t prioritize everything. The situation is very much uncertain. Just focus on what is required for business continuity, and wait for the things to get better. Start preparing for the emergency fund in case it might be needed in the near future. Stay focused on your current customers and work on your leads to get your next customers. Reduce unnecessary expenses and aggressively optimize the current process.
Many companies are going to see a steep fall in terms of numbers, very soon all these companies will stand a chance to grow much faster than the fall that we are going to see now. What is important is how you prepare yourself and the teams for that growth.
Plan for the worst and get ready for the best!
Below are some points which I feel are important for Dev & QA :
1. Customer issues and requirements should become your mainstream development: It should be the case even otherwise if you don’t follow this already it’s time you change your strategy. Bring your core team here.
Make sure you support all your customers without fail. Don’t let this branch run by a secondary team.
2. Not the right time for big releases: If you have already planned a big release, it is good to hold until you get clarity. Simple things like stable network connectivity are also a problem to push your updates, there are many more odds that you need to think of.
3. Frequent minor updates are always better: If you are a SaaS business, it is recommended to release frequently with minor changes, so that the impact would be very few when things go wrong. During this time where communication, availability, and accessibility is difficult, it’s not the right time for major updates.
4. Make sure your regression suites are lean and relevant: Your turn around time needs to be better than before. Create suites with affected test cases so that you can get things done quickly with fewer resources.
If you have large test suites and take a long time for execution, parallel execution is one option. But, if you want to save more time, filter the high priority test cases and create another test suite that can be executed when time is running low.
5. Are your pipelines(DevOps) not automated yet? If not, it’s time to think about it: If you are a DevOps hub and all your pipelines are automated, you stand a better chance to release updates more often and continuously.
If you don’t have your DevOps set up yet, it’s time for you and your team to understand the need and get started with it.
Not just for now, It is going to add huge value to your company in the long term.
6. If you follow DevOps/Continuous Delivery practices, are your pipelines 100% automated? If that is the case you are all set to deliver continuously with fewer resources even at the difficult times, like what we are seeing now. If not, identify the gaps and try to automate your pipelines 100%. Perhaps you may not have approvals to try commercial tools. In that case, there are lots of free tools.
You could also start with free versions of commercial tools and see how it works for you. Also, make sure that these tools scale to the next level when you as a team and the company go to the next level.
7. Don’t have test automation yet then this is the right time to start. Pick free tools to begin with: If you have worked on test automation, it would have been easy for you to continue your regular delivery cycles confidently. If not, in these times when resources are limited, it is all the more important to ensure quality because, in case of a failure, it may be a difficult task to fix with limited resources.
8. Start automating your regression suites: If you don’t have test automation yet, start implementing now. If your delivery cycles are not as usual or planned, your team might have time to start this activity.
9. Involve others in test automation if your tools support: If your SMEs & QAs have free time during this time, it’s better to involve them in test automation. So that your delivery cycles would be faster later when things get back to normal. During this time, change of work also will help them focus more and they will give their best.
If you are just starting with test automation, choose a test automation tool that allows other stakeholders including developers, managers, and clients to start test case creation with a low learning curve such that your automation tasks are completed even if the testing team is low in number.
10. Integrate your automated tests with your continuous integration pipeline: For end-to-end automation and continuous delivery, it is essential to integrate your testing with the CI/CD pipeline and having a tool that integrates with needed tools readily is the need of the hour.
11. Time to check your automation efficiency: If you have not measured your test automation ROI yet, take a look at it. Check how much it can save for you, with the investment that you have already made.
When the team sizes are shrinking, can your test automation complement their errors? If not, understand why and where are the gaps and take necessary action if they are small. Again, don’t look at the changing processes during this time.
12. Take steps to reduce the number of feedback cycles and time for each of them: Since a lot of remote communication is involved now, try avoiding back and forth for your feedback. Also, try to reduce the number of feedback cycles, because there will be a significant communication delay for each cycle during this time.
We know that we can pull through, we just have to be careful, optimistic and focus on being efficient every step of the way.
If you need any help, we will always be available via the usual channels.
Praying for the health and well-being of all!
K R Naidu,