Agile Development Terms: Decoded
If you’re working with a digital agency, you probably hear a lot of interesting terms thrown around the conference room. With all this talk of user stories, epics, and burndowns, you might think your development team is slaying dragons instead of writing software. The truth is, most agencies have adopted agile methodologies, and they speak the language. Agile development terms might seem vaguely familiar, but it’s important to know what they really mean.
First, it’s critical to know what “agile” means. Regardless of what some people might claim, agile isn’t a specific development process: it’s a mindset. There is no single, “correct” way to do agile development.
Regardless of what specific practices your agency uses, there are common terms that have become standard lingo in agile conversations. Before you start your app- or web-development project, familiarize yourself with these agile development terms. They’ll soon become part of your everyday vernacular.
- User Story
- Acceptance Criteria
- User Acceptance Testing
- Daily Standup
- Story Points
User Story – This isn’t something your support team tells your customers to make them happy. In agile, each user story defines a single action that a specific, targeted persona might take. Stories are worded in a specific manner, typically: “As a <persona> I can <action> so that <business driver>” User stories are written in plain language, are user-focused and they define exactly ONE user interaction. Additionally, the business driver at the end helps stakeholders prioritize stories so that the most beneficial functionality gets developed first. User stories also come with acceptance criteria so that they can be developed to a set of prescribed standards that can be verified through repeatable testing.
Persona – A specific type of user identified as someone who would use your software. Personas define users by their background, needs, wants, pain points, habits, demographics, and more.
Acceptance Criteria – All the things that have to be in place for a user story to be considered “Done”.
Done – You’ll frequently hear that there are three levels of “Done” in development.
- Done: It runs on the developer’s box.
- Done-Done: QA has verified that it runs in a test environment, and that it meets all acceptance criteria.
- Done-Done-Done: It’s been user acceptance tested, and it’s approved by the business owners. In short: It’s ready to ship!
“It”, in this case, can refer to a story, an epic, a sprint, or an entire product.
User Acceptance Testing (UAT) – Tested by actual users and project stakeholders, preferably on a staging server outside the development environment. UAT should take place after every sprint. Continual UAT ensures that both user and stakeholder expectations are met by allowing them the opportunity to respond throughout the development process. With sprint-by-sprint UAT, the development can react and adjust efforts based on feedback to feedback.
Sprint – You don’t have to be an Olympic track star to succeed in agile development. A sprint is simply a fixed development period (usually 1 week to 1 month in duration) in which the team completes a set of user stories. Sprints start with planning, continue with development, and end with a retrospective.
Scrum – Simply put, scrum is a framework for development, and can be defined as a set of sprints. It’s the foundation for planning and executing development sprints. The coordination of scrum is handled by the scrum master, who hosts daily standup meetings, sprint planning & review, and retrospectives.
Kanban – A simple, publicly posted, visual representation of project or task flow used to prioritize and manage overlapping work streams.
Daily Standup – A short, daily meeting where the team comes together so each individual can state accomplishments from the previous day, identify the single deliverable targeted for that day, expose any risks or blocking issues, and celebrate significant successes.
Backlog – Your backlog is a list of stories identified for future work. Anything not included in the current sprint is considered to be part of the backlog. The backlog is the reference document for all sprint planning exercises.
Epic – A group of stories with a common theme.
Burndown – A publicly-displayed chart or percentage, updated daily, that shows the amount of team-level effort left to complete a sprint.
Story Points – A relative unit of complexity measurement used to gauge the effort of each story. Rather than using exact time measurements, which are often inaccurate, story points deal in perceived difficulty, allowing teams to focus on large efforts up front in the earliest sprints, leaving the simple tasks for later.
MVP – We’re not talking about that star developer who works overtime… in agile, the MVP is your “Minimum Viable Product.” It’s the leanest set of user stories that will produce a complete product to fit user needs. MVP development supports cyclic development that relies heavily on user feedback and adaptability.
Retrospective – A meeting held at the end of every sprint and after each release for the purpose of celebrating successes and identifying areas for improvement. The retrospective is what makes agile… agile. By constantly examining and adjusting, the agile team repeats successful actions and makes small course corrections toward continual improvement.
Demystifying the terms in development projects is only the beginning. In such a massive undertaking, you’re bound to run into a few snags here and there. Check out the top 6 most common challenges in software development projects and ways to avoid them.