The Agile Frameworks for Testers
Not all Agile projects operate on Scrum – even if it’s the most commonly-used Agile frameworks around. For example, you get pulled into a project within an Agile Release Train for an ongoing Scaled Agile Framework program. Or you got hired in a project that teeters between Kanban and “ScrumBan”, where the team will eventually figure things out as the timeline progresses.
The beauty about Agile is the many different frameworks and flavors that cater to different project needs and tastes. As the Scrum guide says, Agile is a set of “methods and practices based on the values and principles expressed in the Agile Manifesto.” It is not a appraoch that teams should ascribe to, but an umbrella to several frameworks. And as testers, it pays to know these in order to adjust your strategies accordingly for the various terrains.
Scrum
Scrum is an Agile framework with management and engineering practices made for developing complex products. Like a lot of other Agile frameworks, products are built iteratively every 1-6 weeks, depending on the team’s desired Sprint length. There are events in place called “Sprint Ceremonies”: which include Sprint Planning, Sprint Review, Sprint Retrospective, Product Backlog Management, and Daily Scrum. These ceremonies are regularly used to facilitate product backlog management and collaboration.
One thing that sets Scrum apart from other frameworks is how it only recognises three roles: Product Owner, Scrum Master, and Development Team. Developers, testers, analysts, and other roles operate as one Development Team and collaborate with the Product Owner in building the product.
Extreme Programming
Extreme Programming (XP) is an Agile framework that requires customers and developers to have a high level of collaboration with one another. It makes use of engineering practices that focus on delivering products with a high quality. There are 12 practices in XP that are categorised into four groups:
- Fine scale feedback
- Test-Driven Development (TDD)
- Planning Game
- Whole Team
- Pair Programming
- Continuous process rather than batch
- Continuous Integration
- Design Improvement
- Small Releases
- Shared understanding
- Simple Design
- System Metaphor
- Collective Code Ownership
- Coding Standards
- Programmer welfare
- Sustainable Pace
XP also makes use of user stories and also deploys small releases for product development. Short development cycles allow XP teams to adapt to changes based on feedback or risk mitigation.
Feature-Driven Development
Feature-Driven Development (FDD) is an Agile framework where a model – along with its listed features – is being built for every two-week iteration. It was originally designed by Jeff Luca for software development for a banking client. The building process is very strict: each feature will have a design and development plan, and there will be unit tests and inspections in place to see if it’s ready for building. These practices allow for FDD to consistently produce top-quality documentations and viable software. FDD also helps developers focus and prioritise the features that clients want.
Kanban
Kanban, which means “visual card” in Japanese, was developed by Toyota engineer Taiichi Ono. Kanban started out as a scheduling tool in lean manufacturing, Kanban focuses on facilitating production and controlling inventories. It also ensures that the team assess and adjust their processes regularly, as part of continuous improvement – also known as kaizen. Rather than simply “pushing” work onto different process pipelines, Kanban emphasizes on “pulling” work from one “bucket” or “state” to another, based on demand or signal for movement.
In Kanban, Work in Process (WIP) limits are put in place to make sure that the team finish tasks before “pulling” in the next work. This is why it’s common for teams to put various swim-lanes in their Kanban board – to remove identified bottlenecks and make the workflow more seamless.
<– Continue Reading –>
Our Book Recommendations
We found these books great for finding out more information on Agile Scrum:
Master of Agile – Agile Scrum Tester With 59 Seconds Agile (Video Training Course)
Introductory Offer: Free Course
Master of Agile – Agile Scrum Tester With 59 Seconds Agile (Video Training Course)
What is this course?
This ‘Master of Agile – Agile Scrum Tester With 59 Seconds Agile (Video Training Course)’ provides an in-depth understanding of the Agile Scrum Tester roles and responsibilities
You will explore the Agile Scrum project life-cycle, including how an Agile User Story is created, to how we know when it is ‘done’
This course is aimed at those with or without prior knowledge and experience of the Agile values and principles
During this course you will learn the tools needed to succeed as an Agile Scrum Tester
What will you learn?
You will gain an in-depth understanding of the Agile Scrum Tester roles and responsibilities, and you will be able to
- Fully understand the role of the Agile Scrum Tester
- Understand the roles involved in an Agile project
- Create an effective Product Backlog
- Effectively participate in Scrum Meetings such as the Daily Stand-up, Sprint Review and Retrospective
- Identify the roles involves in the Scrum Team
- Fully understand the role of the Agile Scrum Developer
- Understand the roles involved in an Agile project
- Create an effective Product Backlog
- Effectively participate in Scrum Meetings such as the Daily Stand-up, Sprint Review and Retrospective
- Identify the roles involves in the Scrum Team
What topics are covered within this course
You will cover the following topics during this course:
- An Introduction to Agile Project Management (Tester)
- The 12 Agile Principles (Tester)
- Introduction to Scrum (Tester)
- Scrum Projects (Tester)
- Scrum Project Roles (Tester)
- Quality in Agile (Tester)
- Acceptance Criteria and the Prioritised Product Backlog (Tester)
- Quality Management in Scrum (Tester)
- Epics and Personas (Tester)
- Planning in Scrum (Tester)
- Scrum Boards (Tester)
- User Stories (Tester)
- The Daily Scrum (Tester)
- The Product Backlog (Tester)
- Review and Retrospective (Tester)
- Validating a Sprint (Tester)