Analysis is a critical phase in the software development life cycle (SDLC) where the system’s requirements are studied, modeled, and documented.
Thank you for reading this post, don't forget to subscribe!- The goal is to understand what the system must do, how it should behave, and what data it needs to manage — without focusing on how it will be implemented.
- This phase helps bridge the gap between user needs and technical design.
Performing Requirements Determination:
Requirements determination is the process of collecting, analyzing, and validating information about the system’s requirements from stakeholders.
- It involves understanding what users expect the system to do and documenting those needs in a clear and structured way.
- This includes both functional requirements (specific behaviors or functions) and non-functional requirements (performance, security, usability).
- Functional requirements specify the functions, features, and behaviors that a system must perform.
- Non-functional requirements describe how the system should perform its functions, focusing on quality attributes.
Traditional, Contemporary, and Radical Methods for Requirements Determination:
1.) Traditional Methods:
Traditional methods involve manually gathering requirements through interviews, questionnaires, observations, and reviewing existing documents to understand user needs and system expectations.
These methods include:
- Interviews – One-on-one or group sessions with stakeholders to understand their needs and expectations.
- Questionnaires – Structured or semi-structured forms used to collect information from a larger group of users.
- Document Analysis – Reviewing existing documentation, such as reports or manuals, to understand current processes and requirements.
- Observations – Watching how users interact with current systems to identify inefficiencies and areas of improvement.
Traditional methods emphasize structured, direct communication and are particularly effective in stable environments where the system requirements are well understood or can be discovered through user interaction.
2.) Contemporary Methods:
Contemporary methods focus on collaborative and iterative approaches to requirement gathering, emphasizing constant user involvement throughout the development lifecycle.
These include:
- Joint Application Development (JAD) – A series of facilitated workshops involving users, analysts, and developers to define requirements in a collaborative setting.
- Prototyping – Creating early versions of the system (mock-ups or working models) to refine requirements based on user feedback.
- User Stories – Brief, simple descriptions of features told from the perspective of the end user, commonly used in agile methodologies.
Contemporary methods are highly effective in dynamic and user-focused environments, where requirements are expected to evolve as users better understand their needs through active participation.
3.) Radical Methods:
Radical methods aim to completely redesign or rethink existing business processes and systems, often leading to transformative changes rather than incremental improvements.
Key techniques include:
- Business Process Reengineering (BPR) – The fundamental rethinking and radical redesign of business processes to achieve dramatic improvements in cost, quality, service, or speed.
- Innovation-focused workshops – Sessions designed to brainstorm entirely new ways of achieving business goals, sometimes introducing disruptive technology or workflows.
Radical methods are typically used when the existing system is outdated, inefficient, or no longer supports strategic objectives, and a major overhaul is necessary rather than simple enhancement or automation.