2 min read

Requirements Gathering Example: Part 1

In our previous article we described what the Requirements Gathering process may look like when designing a database

https://data-foundations.ghost.io/data-modeling-requirements-gathering/

Now let's work through a theoretical example. Imagine a company is building out a new online store. The developers want to make sure they have the right information about the business before creating the technological infrastructure and developing the database. They are going to speak with the stakeholders, investors, the business analysts, and gain information from the consumers.

The requirements gathering process is a crucial step in creating a database for an online store. It involves understanding the needs and expectations of stakeholders to ensure that the resulting system meets their goals. Here is a general guide for the requirements gathering process:

Online Store: Requirements Gathering Process

  1. Identify Stakeholders:
    • Identify and involve key stakeholders such as business owners, managers, marketing teams, and end-users. They will provide valuable insights into the functionality and features needed.
  2. Define Objectives:
    • Clearly articulate the objectives of the online store. Understand the primary goals, whether it's to sell products, build brand awareness, or provide a seamless shopping experience.
  3. Understand Business Processes:
    • Map out the business processes involved in the online store, from product management and inventory control to order processing, payment handling, and customer interactions.
  4. User Requirements:
    • Gather requirements from end-users regarding the user interface, navigation, and overall user experience. Understand what features they expect and any pain points they want to address.
  5. Product Information:
    • Determine the types of products that will be sold. Identify the information needed for each product (e.g., name, description, price, images, categories). Consider whether there are variations (sizes, colors) for certain products.
  6. Customer Information:
    • Gather requirements for customer information. This includes registration details, login functionality, and any additional information needed for personalized experiences or order tracking.
  7. Order Processing:
    • Understand the order fulfillment process, including how orders are placed, processed, and fulfilled. Consider aspects like order status, shipping information, and payment processing.
  8. Security and Compliance:
    • Identify security requirements to ensure the protection of sensitive information. Consider compliance with data protection regulations and industry standards.
  9. Reporting and Analytics:
    • Determine reporting and analytics requirements. This may include sales reports, customer analytics, and inventory tracking.
  10. Scalability and Performance:
    • Discuss expectations for scalability and performance. Understand potential growth in terms of products, customers, and transactions to design a database that can handle future needs.
  11. Integration with External Systems:
    • Identify any external systems or services that the online store needs to integrate with, such as payment gateways, shipping services, or third-party analytics tools.
  12. Budget and Timeline:
    • Understand budget constraints and project timelines. This will influence the scope of the project and the features that can be implemented within a given timeframe.
  13. Feedback and Iteration:
    • Collect feedback from stakeholders throughout the process. Iterate on the requirements based on feedback to ensure alignment with business goals.

By following a comprehensive requirements gathering process, you can create a database schema that effectively supports the needs of the online store and its stakeholders. Regular communication with stakeholders is key to successful requirements gathering and project implementation.

In part 2, we will outline the actual database schema and give a high level overview of its development.