Requirement Elicitation क्या है?

Requirements क्या हैं?

Requirement वह need या expectation है, जो stakeholders (users, clients, business team) को किसी software, system, या product से होती है।

Key points

  • Requirement हमेशा real user या stakeholder needs पर आधारित होती है।
  • Requirement stakeholders की expectations और priorities से define होती हैं।
  • Requirement हमेशा clear, simple और easily understandable होनी चाहिए।
  • Requirement ऐसी होनी चाहिए, जिसे technical और financial resources के हिसाब से implement किया जा सके।
  • Requirement को बाद में verify और validate किया जा सके।
  • Requirement हमेशा proper documentation में होनी चाहिए, future reference और development easy हो।
  • Requirements समय के साथ change भी हो सकती हैं, इसलिए इसे flexible approach से handle करना चाहिए।

Requirement Elicitation

Requirement Elicitation वह प्रक्रिया है, जिसमें business analysts, system analysts या developers stakeholders से system या software requirements collect करते हैं।

  • इसका उद्देश्य यह समझना है, कि user या client को software से क्या चाहिए।

key points

  • Requirement Elicitation में Client, Users, Managers और Subject Matter Experts सभी शामिल होते हैं।
  • बिना Stakeholders के Input सही Requirements नहीं मिलती।
  • यह SDLC का पहला और सबसे critical step है।
  • Accurate और testable requirements लिखना।
  • Project success के लिए strong foundation तैयार करना।

Objectives of Requirement Elicitation

Requirement Elicitation का main उद्देश्य है, कि stakeholders की real needs और expectations को समझकर software development को सही दिशा में guide किया जाए।

  1. Stakeholders की Real Needs समझना
    • सबसे पहला उद्देश्य है, कि users और stakeholders को क्या चाहिए यह सही तरीके से पता लगाया जाए।
  2. Clear, Complete और Consistent Requirements Define करना
    • Requirements confusing या contradictory नहीं होनी चाहिए।
    • यह सुनिश्चित करता है, कि development team सही features बना सके।
  3. Ambiguity और Misunderstanding कम करना
    • सही elicitation से गलत assumptions और errors कम होते हैं।
  4. Decision Making में Support करना
    • सही requirements project cost, time और resources का अनुमान लगाने में मदद करती हैं।
  5. Future Changes को Handle करना आसान बनाना
    • Requirements dynamic होती हैं।
    • Proper elicitation से changes efficiently manage किए जा सकते हैं।
  6. Software Quality और User Satisfaction Improve करना
    • सही elicitation से bugs और rework कम होते हैं, system user-friendly और reliable बनता है।
  7. Project Success Rate बढ़ाना
    • Clear और validated requirements होने पर project on-time और within budget complete होता है।

Types of Requirements

Requirements दो मुख्य प्रकार के होते हैं :

  1. Functional Requirements
  2. Non-Functional Requirements

1. Functional Requirements

Functional Requirements वह statements हैं, जो describe करती हैं कि system या software को क्या काम करना चाहिए

  • ये बताती हैं, कि system का behavior या function क्या होगा

Key Points

  • Functional requirements बताती हैं, कि system users के साथ कैसे interact करेगा।
  • Usually software का main functionality describe करता है।
  • Real user/business needs को fulfill करती हैं।
  • Specific tasks और processes पर concentrate करती हैं।
  • System की main capabilities define करती हैं।

2. Non-Functional Requirements

Non-Functional Requirements (NFRs) वह requirements हैं, जो system की quality, performance, constraints और behavior को specify करती हैं।

  • ये बताते हैं, कि system कैसा होगा, ना कि system क्या करेगा

Key Points 

  • System की performance, speed, reliability और security को define करती हैं।
  • Functional requirements की quality और standards set करती हैं।
  • Usually harder to measure और test होती हैं, लेकिन system success के लिए critical हैं।
  • System की user experience और satisfaction को improve करती हैं।

Requirement Elicitation Process

Step 1 — Preparation 

Preparation सबसे Important Step है। बिना तैयारी के Stakeholders से सही Requirements collect करना मुश्किल हो जाता है।

Preparation Includes :

  • Project का Objective define करना
  • Stakeholders की List बनाना
  • Questions & Templates ready करना
  • Tools Ready रखना

Step 2 — Stakeholder Identification

Stakeholder वो लोग हैं, जो System को Use करेंगे या Benefit लेंगे।

Types of Stakeholders:

  • Primary : Directly use
  • Secondary : Indirectly impacted
  • Key : Decision-makers

Step 3 — Requirement Collection (Techniques)

Requirement Collection का मतलब है, Stakeholders से Requirements को Extract करना।

Techniques :

  • Interviews
  • Questionnaires / Surveys
  • Workshops & Focus Groups
  • Observation
  • Document Analysis
  • Prototyping
  • Use Cases / User Stories

Step 4 — Documentation (Requirements को लिखना)

Requirement को Properly Document करना बहुत Important है।

Documentation Includes :

  • Functional Requirements (System क्या करेगा)
  • Non-Functional Requirements (Performance, Security, Scalability)
  • Constraints (Budget, Technology, Timeline)
  • Use Cases / User Stories
  • Diagrams / Mockups

Step 5 — Analysis & Validation

Requirement collect होने के बाद उन्हें Analyze करना और Validate करना जरूरी है।

Analysis Steps :

  • Check for Completeness & Consistency
  • Prioritize Requirements (MoSCoW Method: Must, Should, Could, Won’t)
  • Identify Conflicts
  • Feasibility Check (Technical & Budget)

Validation Steps :

  • Stakeholders के साथ Review Meetings
  • Prototypes या Wireframes दिखाना
  • Feedback Incorporate करना

Step 6 — Requirement Sign-Off (Approval)

Final Step है, Requirement का Approval लेना।

  • Stakeholders Formal Approval देते हैं
  • Approved Requirement ही Development के लिए Use होता है
  • Future Changes के लिए Change Control Process Follow करें

Challenges of Requirement Elicitation

  1. Unclear or Vague Requirements
    • Stakeholders खुद स्पष्ट नहीं होते कि उन्हें क्या चाहिए
    • Analysts assumptions पर depend कर सकते हैं
  2. Conflicting Requirements from Multiple Stakeholders
    • Multiple stakeholders अलग-अलग Requirements बोलते हैं।
  3. Communication Gap
    • Stakeholders और Analysts के बीच language या technical misunderstanding होती है।
    • Non-technical stakeholders को technical terms समझना मुश्किल होता है
  4. Stakeholders’ Unavailability
    • Stakeholders Busy होते हैं। Interview या Workshop के लिए समय नहीं मिल पाता।
  5. Changing Requirements (Scope Creep)
    • Stakeholders Requirements बार-बार Change करते रहते हैं।
  6. Lack of Domain Knowledge
    • Analyst या Developers को Stakeholder के Business Domain का Knowledge नहीं होता।
  7. Ambiguity in Non-Functional Requirements
    • Non-Functional Requirements (Performance, Security, Scalability) सही से Clear नहीं होती।
  8. Overlooking Hidden Requirements
    • Stakeholders अक्सर वो चीज़ नहीं बताते जो Implicit हैं।
error: Content is protected !!