The first stage of Software Development life cycle is to collect the requirements. I should say that I have seen many products which are poor in one or the other quality criteria. A business analyst of a requirement analyst collects the requirement by meeting the customer or talking to a customer. What goes wrong is what if the customer is from non-technical background but want to set up a business by building a product. Consider a below scenario,
Customer: I need Login module
Requirement Analyst: Sure sir, so what all you need in Login module?
Customer: Username field | Password field | & a login buttons
Requirement Analyst: Cool, let us freeze it
[ Login module is being built for a business application where money is involved ]
Then the organization handles the product to customer. Customer is very happy with the login module as there are no issues because test team tested it against the requirements given for the product.
Test Team = Happy
Customer = Happy
So here comes the nightmare for the customer,
Customer’s money has been transferred to some other persons account and he has gone bankrupt.
How did this happen when test team tested it properly and requirements were proper?
The product even though it was properly developed as the requirements given and also authentication was provided. But, there was no CAPTCHA provided for the login module or there were no maximum attempts to lock the login module. Someone made a brute force attack and finally cracked the administrator account.
So whose fault is it here?
Customer – No
Requirement Analyst – May be
Development Team – May or may not be
Test Team – May or may not be
Few points to consider for an organization team,
- Help customers in giving requirements
- Involve Test Team during requirement collection phase
- During testing if there is any enhancement that needs to be done for the product then let the customer know about it
- Know the target audience and product deployment details in order to brainstorm different requirements that might come into picture even when customer is not aware of all those