QA in Action: A Guide to Software Development Methods and How QA Fits into Agile, Scrum, Kanban, TDD, and BDD with real life examples
Have you ever wondered how a software team decides when and how to test a new feature? It often depends on the team’s development methodology. This is just a fancy term for the step-by-step process they follow to build software. Think of it like a recipe. You can make a cake by mixing all the ingredients and baking it (Waterfall). Or, you can make cupcakes, testing and decorating each one as it comes out of the oven (Agile). The method you choose changes the chef’s (QA’s) role!
I’ve worked with both startups and large companies, giving me a unique view of how agile testing works in different organizations. Everyone wants to be agile, but each company adds its own twist while sticking to Agile’s core principles. The core of Agile is the same everywhere: delivering value fast, adapting to change, and working closely with stakeholders. Agile’s true strength is its flexibility. It allows teams to adjust the process to fit their needs, while still focusing on continuous improvement and high-quality results. Let’s take a closer look at the most common methodologies and how QA fits into them.
1. Waterfall: The Straight Line
Waterfall is the classic, step-by-step approach:
Plan Everything => Build Everything => Test Everything => Release
QA’s Role:
QA is heavily involved at the “Test Everything” stage, right at the end. It’s like inspecting a fully built house after construction.
The Problem:
Finding a major bug at the end is expensive and time-consuming.
Key QA Activities:
- Write test plans and test cases after development is complete
- Execute manual and automated tests
- Report bugs and retest after fixes
2. Agile: The Cycle of Improvement
Agile solves Waterfall’s problem by building and releasing small, frequent chunks of software called iterations.
What is Iterative Development?
Imagine we are building a bike, and here are the 3 iterative steps:
- Iteration 1: Build the basic frame (create the core structure of the bike)
- Iteration 2: Add handlebars and a chain (turn it into a basic bike)
- Iteration 3: Add brakes and gears (complete the bike with more advanced features)
QA tests continuously in every iteration instead of waiting until the end. This helps catch bugs early, when they’re cheaper to fix.
What is User Story?
A User Story is a simple way to describe a small part of a software that needs to be built or improved. It helps the team break down a big project into smaller tasks. This way, the team can focus on one feature at a time.
Each sprint or iteration in Agile is based on one or more User Stories. The team works on these stories during the sprint.
For example, instead of focusing on the technical task, like ‘We need a login page,’ a User Story would describe the user’s need and goal. It might say something like: ‘As a user, I want to log in to my account so I can see my personal dashboard.
By focusing on what the user needs, User Stories help the team prioritize features that deliver real value. This ensures the software is always improving in ways that matter to the user.
In Agile Scrum, as mentioned above, User Stories break down large tasks into smaller, more manageable pieces of work. At the start of a sprint, the team looks at the Sprint Backlog, which is a list of all the User Stories they plan to work on. They select the stories based on priority & how much work can be done in the sprint (usually 2 weeks).
During the sprint, the team works on these stories. When the sprint ends, they show the finished work to the stakeholders. This allows the team to deliver small, valuable parts of the software quickly. It also lets them get feedback early and make improvements.
3. QA in Scrum: The Structured Sprint
In Scrum, work is done in short periods of time called sprints. A sprint is usually two weeks long. During this time, the team works together to finish a set of tasks.
Think of a sprint like a small project within a bigger project. The team has a clear goal to finish by the end of the sprint.
Before the sprint starts, the Product Owner and team look at the Product Backlog. The Product Backlog is a list of all the tasks that could be done. The team picks the most important tasks from this list to work on during the sprint.
These tasks end up in Sprint Backlog. It is the list of tasks (user stories, bug fixes etc) the team has chosen to focus on. It helps everyone know what to work on during the sprint.
To keep track of the tasks in the sprint, the team uses different tools. These tools help them stay organized. They also help with managing tasks, reviewing code, and running tests automatically.
Tools:
- Jira and Azure DevOps are used to track tasks, user stories, and bugs during the sprint.
- GitHub and GitLab are used for reviewing code and running tests automatically.
Step-by-Step QA Involvement
Sprint Planning: It is where the team decides what work to focus on for the upcoming sprint.
- Pick stories from the Product Backlog for the sprint
- Review acceptance criteria. These are the conditions a story must meet to be must meet to be considered complete or finished.
- Write test cases and plan automation scripts
- Link test cases in a traceability matrix to make sure all parts are tested.
Daily Standup: In standup, the team quickly shares updates on what was done, what’s planned, and any issues they’re facing.
- QA shares what was done yesterday, what’s planned for today, and any blockers.
- Update Jira to keep the team informed.
During the Sprint: During the sprint, QA tests the features being built and checks for any issues as developers work.
- Test features as developers finish them
- Perform manual, exploratory, and automated etc tests
- Log bugs in Jira
Sprint Review: In the Sprint Review, the team demonstrates the completed work and checks if it meets the original goals.
- Show the working feature (for example, the Login story).
- Confirm it meets acceptance criteria
- Provide feedback on what can be improved.
Sprint Retrospective: Retrospective or Retro in short is where the team reflects on the sprint to find ways to improve for the next one. Basically what went well, what didn’t, and how they can improve for the next sprint.
- Discuss improvements in testing, automation, teamwork, and the overall process
- Identify challenges and pitfalls to avoid in the future
- Talk about what went well and what could be improved
Handling Hotfixes
What is a Hotfix?
An urgent patch for critical production issues like security vulnerabilities or system crashes.
Hotfix Approach:
- Hotfixes go at the top of the backlog; QA tests immediately
- Less critical stories may move to the next sprint
- Ensures the most important fixes are handled without breaking sprint commitments
Scrum vs. Kanban
- Scrum: Like a train leaving every 2 weeks on schedule
- Kanban: Like a taxi service – tasks move as they’re ready, no fixed schedule
4. QA in Kanban: Continuous Flow
Kanban uses a visual board (columns like “To Do,” “In Development,” “Ready for Test,” “Done”) to track tasks.
QA Role:
- Test tasks as soon as they reach “Ready for Test”
- Continuous testing, always ready for the next feature
- Hotfixes move to the top and flow naturally
Key Difference from Scrum:
No fixed sprints; QA reacts instantly to new tasks instead of waiting for sprint planning.
5. Agile Practices: TDD & BDD
These are practices used inside Scrum or Kanban, not full methodologies.
Test-Driven Development (TDD)
Principle: Red => Green => Refactor
- Red: Write a test first. It fails.
- Green: Write just enough code to pass the test.
- Refactor: Clean up code without breaking the test.
QA Role:
- Write initial tests covering real-world cases, e.g.,
- Valid login
- Invalid password
- Locked account
- Ensure automated tests exist for every scenario
Behavior-Driven Development (BDD)
Principle: Use plain-English scenarios so QA, Dev, and Business understand the requirements.
Example (Login Module):
Scenario: Successful login
Given I am a registered user
When I enter my correct email and password
Then I should be redirected to my dashboard
Scenario: Failed login
Given I am a registered user
When I enter the wrong password
Then I should see “Invalid credentials”
Scenario: Account lockout
Given I entered the wrong password 5 times
Then my account should be locked for 30 minutes
QA Role in BDD:
- Help write clear scenarios
- Use them to create manual tests and automated scripts
TDD & BDD with Agile
- Usually fit inside Scrum or Kanban
- QA reviews tests, ensures coverage & validates automated results in CI/CD pipelines
6. CI/CD: The QA Engine in Agile
CI/CD (Continuous Integration / Continuous Deployment) automates builds, tests, and deployments, ensuring quality at every step.
Real-Life Example: Adding a “Remember Me” Checkbox
- Developer Branch: Create a feature branch in Git
- Local Testing: Developer runs unit tests; QA writes smoke tests
- Pull Request: Code and test cases reviewed by developers and QA
- Automated CI: Builds code and runs tests automatically
- Traceability Check: QA ensures tests cover user stories
- CD Deployment: Code goes to staging; QA performs manual checks
- Merge to Production: Only happens if all tests pass
QA Tasks in CI/CD:
- Maintain automated smoke/regression tests
- Verify coverage using traceability matrix
- Monitor staging and production
Critical CI/CD Rule:
- All tests pass => merge allowed
- Any test fails => merge blocked
7. Essential QA Concepts
Traceability Matrix:
Links user stories => test cases => automated scripts to ensure all features are tested.
Tools: Jira, TestRail, or spreadsheets
Code Coverage:
Shows how much of the code is exercised by automated tests.
Helps QA identify gaps in testing.
Tools: JaCoCo, Istanbul, built-in coverage tools
The Bottom Line
QA is not just a final checkpoint – you are a proactive partner throughout development. Your role includes:
- Preventing bugs from the start
- Maintaining automated checks
- Ensuring traceability between stories and tests
- Collaborating with developers and business teams
By understanding these methodologies, tools, and practices, you can adapt, communicate, and champion quality in every project.
