2025-group-11a

Skateholders

The stakeholders of the Snake Game can be analyzed in layers using the onion model to ensure that all key needs are fully considered.

Core Layer: Direct Stakeholders

These are individuals directly involved in the gameโ€™s development and experience:

skateholders

Image 1: Skateholders of our Snake game



Epics and User Stories

๐Ÿ“Œ Epic 1: Core Gameplay Optimization

๐ŸŽจ Epic 2: Visual and Sound Enhancements

๐Ÿ† Epic 3: Map Mode Optimization

โš™ Epic 4: Personalization and Accessibility Settings

๐Ÿ•น Epic 5: Multi-Mode Support

๐Ÿ”— Epic 6: Multi-Device Compatibility and Cloud Save

Reflection

During the process of defining epics and user stories for our Snake Game, our team gained valuable insights into requirement engineering and product planning. Here are the key lessons learned:

  1. How to Define a Clear User Story?
    We learned that a well-defined user story should follow the As a [user], I want to [goal] so that [reason] format. This structure helped us ensure clarity and user-centric design. For instance, defining โ€œAs a player, I want to control the snake using touch or keyboard so that I can play easilyโ€ made it explicit who the user is, what they need, and why it matters. We also realized that breaking large epics into smaller, independent user stories improves task allocation and implementation feasibility.
  2. How to Determine Acceptance Criteria?
    Writing clear acceptance criteria was crucial to ensuring that each feature is properly implemented and tested. We followed the Given-When-Then structure to define testable outcomes. For example, for the three different map modes, we specified:
    • Given the player selects the swamp map, When they start the game, Then the terrain should include water hazards slowing down the snake.
    • Given the player selects the desert map, When they play, Then food should appear less frequently, increasing difficulty.
    • Given the player selects the teleport map, When the snake moves to a teleportation point, Then it should reappear on the opposite side of the screen.
      This approach made it easier for testers and developers to validate functionality against defined requirements.
  3. How to Fit These Requirements into the Context of the Application?
    One major challenge was ensuring that our user stories aligned with the overall game experience. We had to balance technical feasibility, gameplay mechanics, and user needs. For instance, implementing in-game reward prompts required designing an intuitive notification system to guide players when they achieve milestones. Additionally, ensuring historical gameplay records were saved properly allowed players to review their past performances and track their progress over time. Prioritizing features using MoSCoW (Must-have, Should-have, Could-have, Wonโ€™t-have) helped us focus on essential functionality first, ensuring a smooth development process.

    Final Thoughts

    By systematically breaking down epics into user stories, setting clear acceptance criteria, and aligning requirements with the gameโ€™s objectives, we enhanced both gameplay design and development efficiency. This structured approach not only improved team collaboration but also ensured that we built a fun, accessible, and engaging Snake Game experience for all players.