If you’re familiar with software development, you’ve likely heard of agile methodology. Agile refers to a development process that uses a collaborative and iterative workflow. It allows for continuous elemental improvement to a product, such as a website, feature, or app.
In the agile product development method, a large task (e.g. building an app for a website) is broken up into smaller elements. These smaller elements are then estimated and prioritized by a small team. Once work begins, the team tracks progress of the project on a task board using a tool such as Jira. The small elements are worked and reworked, tested and then retested, eventually resulting in a product that is deliverable and viable.
The agile process has a very specific and colorful lexicon. However, the terminology is relatable and fairly easy to understand, especially once you’ve had a chance to work within the agile framework. Here are some common agile terms and their definitions:
Scrum - A framework by which a small team, consisting of a product owner, scrum master, developers, and testers, works to deliver a product or product increment in time periods of no more than 4 weeks, called “sprints.”
Sprint - A finite time period allotted to work on an approved number of tasks relating to a product increment. Sprints are prioritized in order of execution.
User Stories - Small elements that work is divided up into. Each story contributes to the value of the end product. User stories are frequently referred to as “tickets.”
Scrum/Kanban Board - A task board divided into sections (usually columns). The most basic task board has columns labelled To Do, In Progress, and Done. Other sections frequently used are QA (quality assurance) and UAT (user acceptance testing). Team members update their user stories daily so that progress can be tracked on the board accurately. The stories move across the board from the left to right and cycle through all steps until complete.
Scrum Meeting/Standup - A quick (usually 10-15 minutes) meeting that takes place regularly where team members coordinate their daily work.
Backlog Grooming - A planning session where team members refine and assign estimates to stories in the backlog. Once these stories are estimated (groomed), they can be placed in the workflow for future sprints, ensuring there is a steady supply of work for the team.
Sprint Planning - A meeting to decide which stories from the backlog to bring into the next sprint. Usually these stories will relate to a common theme, feature, or product (e.g. SEO, new feature development, etc). Story priority is determined by both the story points assigned during grooming as well as the business value of the work.
Product Owner - The person responsible for managing the backlog and planning for a product’s development. The product owner communicates with stakeholders to determine business value.
Scrum Master - A non-hierarchical role filled by a team member. The scrum master ensures that proper processes are followed and keeps the team focussed on the end goal.
Here are some helpful tips for working in agile:
- Be ready to voice your opinion. Even if you are relatively new to the process, agile is a methodology that thrives when team members actively participate. Communication is important, whether you are speaking your mind or asking for help.
- Ask questions. This is especially important in the grooming and planning stages before a sprint. Make sure you have all pertinent information so that you can work on a user story when it comes up in future sprints.
- Be accountable and transparent. This goes without saying, but you should be present and on time for all meetings and track your work accurately. It’s essential that team members working in agile are motivated and communicate well with one another.
Now that you know a bit of the lingo and the methodology behind agile, you’re ready to get in the scrum! If you’d like to research further, take a look at these resources: