by Hardik Shah, Tech Consultant at Simform
According to Capgemini’s World Quality Report 2018-19, Companies are now spending an average of 35% of their IT budget on QA and testing — a 9% year-on-year increase. The report was based on a global survey of IT executives and testing leaders from different countries. It’s actually good that the companies have started realising the importance of the testing phase in the software development life cycle. But talking specifically about Startups, there still lies a loophole/s.
‘Software Testing’, or specifically the lack thereof, is one of the answers of why startups fail. Many startups just skip testing in order to save time during the development process. Like, seriously?
Cost of skipping Software Testing in Startup Culture.
One of the main reasons for startups to skip software testing is the lack of funds. Even if they have got some, some startuppers feel that they can invest more on developers than testing. Economizing more, in the beginning, can turn into a big disaster later on. Revising the project plan and design post-launch can cost much more if testing is ignored. Spending limited finances on hiring the testers may not seem like a good move at first.
You might say, To Test or not to Test depends on the type of project. Well, Not really. Testing is important. Be it small, big, for a limited audience or an internal project. Second, comes the psychology for MVP. As it is a minimum viable product, product managers of startups think the release date is more important than quality. Developers rush in and bomb. You might have heard below conversation-
Q: “This application is buggy and underperforming!”
A: “Because this is an MVP. We will resolve the bugs in the later phase.”
After that, there’s no one to catch the bugs as there is no testing team. That leads us to the third reason, that in startups, developers do testing. Developers might be very smart with code but they can never see the product from the user- end’s perspective. Every reason for skipping test creates technical debt in the end product.
Best practices of testing for startups.
When the question arises what can be the best practice of testing in startups? You might think that well that depends on the type and size of software, budget of the client etc. But we can try to figure out the general guidelines which have proved to be giving the best outcomes with ensuring the minimal risks and maximum profits.
Before we kick off with any project, user stories are made in which all the features are described with their purpose from the end users perspective. It can be made in a simple excel sheet by any tester or project manager. To start with, the format of user stories can be:
Module | As a | I want to | So That | Acceptance criteria
A module will consist of the small independent process of the project. For example, an application might have modules like login, profile, settings etc.
‘As a’ describes user persona or user type. There can be multiple users for a project. For example, user, admin, super admin etc.
‘I want to’ & ‘So That’ denotes the purpose of that module from that user type’s perspective. For example, I want to click the sign in button so that I can use the application.
‘Acceptance criteria’ is the condition that a software product must satisfy to be accepted by a user. For example, In sign in module, acceptance criteria can be If entered the wrong credential, display an appropriate message.
Startups have to go with the Minimum Viable Product as by the concept it should try and deliver the basic workable product with maximum returns. It is very important to note that it is not the minimum product, but a workable product without glitches.
Thus, testing the MVP with a limited audience can give a real-time idea about the project. Now there are various methods for testing the MVP as listed below-
- The Interview Method
- The Landing Pages
- The Smoke Test
- The Concierge
- The Wizard of Oz
- The Piecemeal
A Good Balance.
When the testing is being performed, there has to be a good balance from the user-end side and from the developer’s side. Not to miss out the obvious functionality issues and backend buggy code which decreases the performance. Also, you need to keep a good balance of automation testing and manual testing. You can always hire companies who provide software testing services for automation testing if you don’t have that capability in house. Since manual testing does not require much technical knowledge, you can perform it with your beta users and developers.
Setting up the priority is the base of the project. This technique helps to clear out the picture of what has to be completed first and what can be skipped for a later phase. It helps to throw light on the road map for MVP. MoSCoW is for the requirements and managing them in priorities. The letters stand for:
- Must Have
- Should Have
- Could Have
- Won’t Have this time
Must Have consists of the set of features that one cannot deliver a viable solution without it. Should Have requirements are defined as important but not vital. Could Have is like it will have less impact if left out. Lastly, Won’t Have this time are the requirements, the team has agreed to label it as out of scope in this timeframe.
It is always better to retain customers than to go out for new ones. Building trust and reliability is the key to success for startups which is not possible without proper QA and testing.
There are numerous ways of implementing any strategy. If none fits your company, create your own. A hybrid one. But make sure to be rational about the general protocols of testing. Lastly, there is nothing wrong in hiring a good testing team which delivers quality. Save money but not at the cost of your company’s reputation and customer’s trust.
Hardik Shah is a competent project management professional with rich experience in the IT industry. Hardik Shah works as a Tech Consultant at Simform, a leading custom software development company in USA. Hardik leads large scale mobility programs covering platforms, solutions, governance, standardization and best practices.