
Overview
This document outlines the key activities involved in the software development lifecycle, along with the roles and responsibilities of each team member. By clearly defining these responsibilities, the engineering team can work more efficiently and effectively to deliver high-quality projects. Each phase of the project is described in detail, ensuring that everyone understands their tasks and contributions.
Action Item | Responsible Team | Description |
---|---|---|
Requirement Gathering Phase | Product Team | The Product team gathers all information and prepares a story for the features planned to be implemented. |
Requirements Refinement & Story Validation | Product Team, Quality Champion | The Product team discusses the feature with other team members and the Quality Champion for feedback. A Tech Architect or Engineering Manager may also be included. |
Requirement Grooming Plan | Product Team, PMO, Engineering Team (Dev & QA) along with Lead and Manager | PMO schedules a grooming session. The Product team explains the new requirements in detail, ensuring mock designs and acceptance criteria are clear to everyone. No implicit information should be considered. |
Sprint Planning | PMO, Engineering Team, Product Team | PMO conducts the meeting to estimate efforts, identify dependencies, resolve outstanding questions, and assign tasks based on bandwidth and prioritization. |
Feature Implementation Kick Start | Dev Backend, Frontend, QA Team, Tech Lead, and Manager | The developer group walks through the story at a low level to understand the end-to-end impact. The team starts working on LLD (Low-Level Design) and test case design, creating subtasks. |
Tech Design Review | Individual Resource, Tech Lead, and Manager | The resource presents their LLD or test cases to the Tech Lead and Manager for review and approval. Implementation begins only after approval. |
Implementation | Engineering Team | The engineering team completes the development of assigned tasks, including writing unit test cases, performing local testing, and conducting API performance testing to ensure functionality and scalability. |
Code/Unit Test Case Review | Engineering Team | The team creates a PR (Pull Request), which is reviewed by an assigned peer reviewer, Tech Lead, and Manager. |
Test Case Review | QA Team | The QA team conducts peer reviews internally, followed by review and approval from the Product team. |
Integration Testing & Demo | Engineering Team (Backend & Frontend) | Developers coordinate to test the end-to-end feature, ensuring all components work together seamlessly. They conduct a demo of the feature to the Tech Lead or Manager for feedback and validation. |
QA Testing | QA Team | The QA team performs thorough testing to ensure the feature meets quality standards. |
User Acceptance Testing (UAT) | Product Team | The Product team validates the feature against user requirements and acceptance criteria. |
Demo to Stakeholder | Product Team, Engineering Team | The Product and Engineering teams present the feature to stakeholders for feedback and approval. |
Go or No Go Call | PMO, Product Team, Management | A decision-making meeting to determine if the feature is ready for release. |
Release Day | PMO, Product Team, Engineering Team, DevOps | PMO coordinates the release process. DevOps verifies the build, deployment, and logs. A representative from each team ensures a smooth release. |
Smoke Testing | Engineering (QA Team) | The QA team performs smoke testing to confirm all features are deployed correctly. |
Release Email | PMO Team | PMO sends a detailed email to all stakeholders announcing the release. |
Post Release | Product Team, Engineering Team | The Product team reviews release KPIs with the Analytics team. The Engineering team checks ELK and New Relic logs to ensure no issues were introduced in the release. |