Swiggy PM Interview Question: List NFRs for IRCTC app
Make it harder? Mention your framework to think about NFRs and list top 4 NFRs.
Let’s first see what are NFRs!
Non-functional requirements (NFRs) are criteria that define the operational aspects of a system, specifying how it should perform rather than what functions it should deliver.
Unlike functional requirements that focus on features and capabilities, NFRs address qualities such as performance, security, reliability, usability, and scalability.
Why Should Product Managers Think About NFRs
Product Managers (PMs) need to consider NFRs because they directly impact the user experience, system performance, and overall success of the product. Ignoring NFRs can lead to suboptimal user experiences, system failures, and operational inefficiencies.
For example, if the PM fails to address the NFR of handling sudden traffic surges during Tatkal booking windows on IRCTC (and engineering misses it), users may experience sluggish response times, errors, and potentially be unable to complete bookings within the limited time window.
This suboptimal user experience could result in frustration, lost bookings, and negative feedback.
Now, let's explore how PMs should think about NFRs!
Well! Are you struggling to answer question like these in the tech round of your product manager job interview?
Do you find it hard to communicate with your engineering counterpart?
🚀 If yes, do check my cohort Tech for Product Managers (cohort starting from 20 Jan) - https://www.xplainerr.com/workshops/tech-for-product-managers
How to think about NFRs?
This is a general framework I use when I think about NFRs!
Understand User Needs:
Identify NFRs by observing user interactions with the system. Consider questions such as:
Will users have consistent access to the IRCTC portal?
When might the system experience peak loads? How to handle it?
What is the maximum load the system should handle effectively?
How much & how should the portal's speed be optimised for user experience?
Consider potential challenges (edge cases) in diverse user scenarios.
Focus on What Matters:
Prioritize NFRs based on what impacts users the most.
Make sure NFRs align with overall business goals.
Teamwork for Solutions:
Work closely with the engineering team to find practical solutions.
Keep everyone in the loop by sharing information across teams.
Stay Proactive and Aware:
Take proactive steps to handle potential issues related to NFRs.
Set up systems to monitor in real-time and get alerts for quick responses.
Thinking about NFRs for IRCTC
But what are these terms - Availability, Reliability, Throughput etc.? Do you understand them?
If not, I am covering System Design (in detail) in my Tech For PM cohort where I will teach about System Architecture, scaling and performance metrics, load balancing, caching and much more.
🚀 I would highly recommend to check the entire course content here - https://www.xplainerr.com/workshops/tech-for-product-managers