Phases
Activities in Different Phases
In a typical enterprise execution model, especially in an Agile framework, the sequence of preparing and executing various documents and tasks like Business Requirement Document (BRD), Epics, Features, User Stories, Tasks, High-Level Design (HLD), Low-Level Design (LLD), and Database Diagrams spans across different stages of the project lifecycle, including Sprint 0, Sprint 1, and subsequent sprints. Here's a sequential overview:
Pre-Sprint 0 (Initiation Phase)
- Business Requirement Document (BRD): Prepared in the very early stages of the project. BRD is a high-level document detailing the business problem, objectives, and key requirements.
Sprint 0 (Planning and Setup Phase)
- High-Level Design (HLD): Created during Sprint 0, focusing on the system's architecture, overall design approach, technology stack, and integration strategies.
- Epic Creation: Epics, which are large bodies of work, are identified and created. They are high-level descriptions of the required functionality.
Sprint 1 (Development Begins)
- Feature Breakdown: Each epic is broken down into smaller, more manageable features. This is typically done in the first development sprint and continues as needed in subsequent sprints.
- User Stories: Development of user stories from the features. User stories are small, specific requirements or requests written from the perspective of an end user.
- Tasks: Concurrently with user story creation, tasks are identified. Tasks are specific work items necessary to complete a user story.
Subsequent Sprints (Iterative Development)
- Low-Level Design (LLD): Developed alongside or immediately after HLD, LLD provides detailed descriptions of the system, including algorithmic details, database schema, and detailed module designs.
- Database Diagram: The database design diagram, part of LLD, is prepared when working on the specific modules or functionalities that require database interactions. This is usually done in the early development sprints but can be refined in later sprints as requirements evolve.
Throughout Sprints (Ongoing Activities)
- Refinement of Epics, Features, and User Stories: As the project progresses, these items are continuously reviewed and adjusted based on feedback and changing requirements.
- Development and Implementation of Tasks: Tasks identified are executed throughout the sprints, contributing to the development of the project's features and functionalities.
Notes:
- Flexibility: This sequence is typical but not strict. Agile methodologies emphasize flexibility and responsiveness to change, so the exact order and timing may vary based on the project's needs.
- Overlap and Iteration: Many of these activities may overlap or be revisited in iterative cycles as the project progresses. Agile projects often refine designs and requirements in response to feedback and discoveries made during development.
This model ensures a structured yet flexible approach to software development, allowing for iterative refinement and adaptation to changing requirements or new insights.
OLD APPROACH
-
EPIC/BRD (AzureDevOps)
-
Prototype/Screen Mockups (Docs)
-
Feature (Azure DevOps)
-
Architecture (Docs)
-
Design (HLD)/ DB Design (Docs) → Process flow diagram (very important)
-
User Stories (Azure DevOps)
-
LLD (Within sprints/DOD/Tasks under each user story) (Docs)