Agile in plain English
Jargon is generally not the best way to communicate things, especially if you want to avoid confusing everyone joining the industry.
This guide is meant is a quick and simple introduction into agile software development terminology. These are the terms you'll encounter on a regular basis, in every company that ships software these days.
Roles
Let's start with who does what. Titles may differ but you'll encounter more or less the same roles in every product team that builds digital products.
The Product Person aka Product Owner, Product Manager, Business Analyst
They decide on priority and whether something is worth investing in based on the teams' estimation.
The Organizer aka Agile Coach, Scrum Master
Find and remove anything that slows down the team. Very often the secretary of the team.
The Technical Lead aka Team Lead, Tech Lead, Engineering Manager
Usually in charge of all things that require long term planning including hiring and software architecture in relation to the team. Often acts as a filter between product and engineers.
The Engineer aka Dev, Engineer
Build it and make sure it works as requested.
The Tester aka QA Analyst / Engineer, Tester, SDIT - Software Developer In Testing
Make sure it works correctly and that bugs that make it to production are rare.
The Systems Person aka DevOps, Systems Engineer, CI/CI, Cloud Engineer
Handle anything from automation, monitoring, deployments to security. Usually more cloud infrastructure focused than oriented towards process improvement.
The Designer aka UI / UX Designer, Researcher
Figuring out what to build, how it should look and behave. There is a wide spectrum here between user research and UI design, which is often covered by specialists in those areas.
Organizing Tasks
In the agile world, we like to get real fancy with our TODO lists, especially as the team grows.
The story
A task phrased as a sentence e.g. As a reader of this blog, I'd like to learn the most common phrases in "agile" in 5 minutes or less.
The Backlog aka Ice Box, TODO
A backlog is the collection of all feature requests, bugs and other tas
The sprint
For this time frame, the team plans a certain set of tasks. It usually lasts for two weeks.
The sprint goal
An overarching goal for the group of tasks the team has planned. Useful when figuring out priorities among the tasks when time is running out.
The status meeting aka Standup, Daily, Daily, Check-in, Sync
Format - multiple times a week, max 30 mins
Goal - check in on progress towards a team milestone e.g. a sprint goal
The prep meeting aka Sprint / Backlog Refinement or Grooming
Format - minimum once per sprint
Goal: make enough tasks ready to be worked on for the next couple of weeks
The planning meeting aka Sprint Planning
Format - often a grueling 4+ hours meeting split into explain and estimate VS plan what we can fit into the sprint
Goal - Agree on a chunk of work, that we are confident enough to get done within the next sprint
The Retrospective aka Sprint Therapy
Format - usually once per sprint
Goal - look back at how we did and how we can do better either in terms of organizing ourselves or how we work together
The Experiment aka Spike, POC, that odd task
Format - A special task, often limited to 1-2 days
Goal - Figure out what will make it hard or get an idea of how long it will take. Don't actually build the thing. You document the results and throw the work away.
Methodologies
There are as many methodologies as there are consulting companies in this space, but these are the ones you are most likely encounter on a nearly daily basis.
DevOps - The idea that I merge my PR and in a little bit it will be in prod automatically
Kanban - in software when people say this they mean they work without sprints
Scrum - a company that sells certifications. a lot of what we associate with agile is actually scrum jargon
XP - Extreme Programming - very collaboration oriented rituals for development teams
the agile manifesto - the OG - the original doc that started it all