Requirement specification: decide WHAT to build
On this page 1 headings
Many people think the first step is learning a programming language. You do need one to write code, but before thinking about the solution you must think about what problem you want to solve.
Requirements: Goals the implemented system should have; they should cater to the needs of clients.
EXAMPLE Amazon Pay is a mobile wallet — a way to carry cash in digital format. You can link credit/debit cards and bank accounts, or transfer money into it, and pay with your smartphone. It offers recharges, bill payments, travel and insurance, rewards and gift vouchers, and features such as adding money and auto reload.
1. Understand the problem.
2. Study existing components of the system (e.g. inventory management, payment gateway) to see how the new component will interact with them.
3. Look at similar systems (Paytm, PhonePe) to understand features.
4. Write an explicit set of goals = requirements.
A client is not always an outside customer
| Client type | Example from the lecture |
|---|---|
| External user | Mobile banking software serves bank customers – checking account balance, transferring money |
| Internal to your company | An employee resources portal with information about employees and teams; an internal products team builds it, talking to departments like HR to understand requirements |
| Another software | A payment gateway like Razorpay interfaces with an e-commerce website: the site sends customer details, the gateway communicates with the customer's bank and sends the response back to the site |
Think about WHO will use the software, for WHAT purpose and in WHAT way — keep this persona of the intended user alive in your mind.
REMEMBER Requirement specification is the first step in the software development process. Clients are the end users of the software. Requirements must capture clients' needs and be met at every stage — only then will the software meet end users' requirements.
