Agile! It's everywhere! Or at least the idea of Agile is there. I can't be the only one who gave very vague, wishy-washy explanations up until five minutes and one reading of The Agile Samurai: How Agile Masters Deliver Great Software (Pragmatic Programmers) ago.
Oh, yeah, Agile! It's like, you know, it's what you do with software. You have sprints and during the sprints you build like, user stories and stuff. Haha, post-its, am I right?
Don't be me. Have a primer:
Agile - It's a way to approach projects. It's mainly defined by its emphasis on delivering complete and completely working pieces to the client after only a small amount of time (a week or few) and then repeating with a different piece until the project is done. Other key features of Agile is an emphasis on customer involvement, and teams that communicate often and well.
Iteration/Sprint- Synonyms. This is the (small) chunk of time a team dedicates to building something and the something has to be something a non-technical client will consider "done" (styled, tested, deployable). The amount of time needs to be short enough for the client not to lose interest.
Points - This is the weight a team assigns to each feature - points aren't representative of concrete time but are more nebulous estimates of effort each feature may require.
Velocity - the number of points a team can deliver each sprint/iteration.
User Story - Features broken down to a short non-technical summary - but with a definite "done" baked in.
Card - Physical (or virtual) representations of user stories. One user story per card - though once the user story is being worked on, more cards can be created for each task or smaller story that needs to be worked on so that the team can track the progress.
Inception Deck - A series of ~10 questions. The answers are supplied in a group meeting by the team, clients, and anyone else who will work with the project directly. The goal is to explicitly state the "who", what" and "why" as well as what's not in the scope of the project so expectations are set and everyone is on the same page. It's a living document and should be modified.
Planning Poker - A method for better estimation. A team gathers together and estimates the points for a given story often using playing cards (hence the name). The first estimate from everyone is reached individually and if the estimates agree, they're kept, if they vary, discussion is had and then a second round of estimates happen. This process repeats until a consensus is reached.
Kanban - Not technically Agile, but closely related. Instead of iterations/sprints that are defined by velocity, Kanban says "hey, we can only do X things at once" and X doesn't change. The team only does that set number of things at any given time and when one thing is done, another is picked up.