Agile Jargons Explained In Plain English
A No-BS Guide to Agile and Scrum
🌻 Agile VS Agile Methodology
Agile means “The ability to move quickly”, While Agile Methodology is a bunch of methods to achieve agility in software development. When people say “Agile”, They actually mean the Agile Methodology.
🤔 Why do you need Agility?
- In the 90s, Software development sucked.
- There was a huge time lag between business requirements and the delivery of the product. Business, requirements changed during this lag time, and the final product did not meet the current needs. This led to the canceling of many projects.
- The waterfall model used at that time was not meeting the demand for speed and did not take advantage of just how quickly software could be altered.
- In 2000, a group of 17 guys (thought leaders) got together and came up with the “Agile Manifesto” to fix these problems.
📕 Agile Manifesto
- The Agile Manifesto is a collection of 4 values and 12 supporting principles to improve the agility of software development
- It is kind of like philosophy, It basically says here are the things you should care about when building software — they call it “values”.
- Agile Manifesto does not give any particular method to follow these values, because there is no “silver bullet” method for building software. Each software is unique and may require different methods for following these values.
- That’s why there are many Agile methodologies like Scrum, XP, Lean/Kanban, etc.. that give concrete methods to follow these values to guide the development.
1. Individuals and interactions over processes and tools
- Processes like daily standups, user stories, task boards, burndown charts, retrospectives are all valuable tools. (explained later in the article)
- But, If the process drives development, the team is less responsive to change and less likely to meet customer needs.
2. Working software over comprehensive documentation
- The problem with documentation is that two people can read the same page and come away with two very different interpretations.
- The most effective way to gauge how well the software works is to actually use it.
3. Customer collaboration over contract negotiation
- When people on a team have a “contract negotiation” mindset, they feel like they have to come to a strict agreement on what the team will build before any work can start.
- Projects change, and people never have perfect information when starting a project. So instead of trying to nail down exactly what’s going to be built, collaborate with users, and try to get the best results.
4. Responding to change over following a plan
- The problem with plans is that they’re built at the start of projects when the team knows the least about the product they’re going to build. So Expect that plans will change as the project progresses.
Let’s take a look at the most popular Agile methodology and how it tries to apply these 4 values — Scrum.
To explain scrum I have to use a few Jargons. I am gonna make them bold and will explain these after Scrum section ends.
🏈 Scrum Workflow
- Scrum is the most common approach to Agile.
- There are three main roles in a Scrum project: Product Owner, Scrum Master, and Development Team. Product Owner mains the Product Backlog. Scrum Master guides the team past roadblocks. Development Team implements the software features.
- The project is divided into Sprints or cycles of equal length (often 2, 3 or 4 weeks ) that follow the “Scrum pattern”
- At the start of a sprint, the team does Sprint planning to determine which features from the Product Backlog they’ll build during the sprint and put it in Sprint Backlog.
- The team works throughout the sprint to build all of the features in Sprint Backlog.
- Every day the team holds a short meeting called the Daily Scrum.
- At the end of the sprint, working software is demonstrated to the product owner and stakeholders in the Sprint Review.
- Finally, the team holds a Retrospective to figure out the lessons they’ve learned.
Scrum project is organized into timeboxed iterations called Sprints. Often a period of 2, 3, or 4 weeks is chosen.
- The backlog is a list of features waiting to be built.
- Scrum teams actually maintain two backlogs: one for the current sprint, called Sprint Backlog, and one for the whole product called Product Backlog.
- When the team plans for a sprint, they pull features from Product Backlog to Sprint Backlog.
- Any feature that hasn’t been included in a Sprint Backlog yet is fair game for the users and the product owner to change. Thus, it is a great way to manage changing requirements.
🤠 Product Owner
- The Product Owner maintains the Backlog.
- The Product Owner’s job is to talk to clients, figure out what they need, and come up with features that they’ll use.
- Everyone learns more with each new version of the working software, and the Product Owner uses that new knowledge to add or remove features in the backlog.
🧐 Scrum Master
- Scrum Master helps the team understand and execute Scrum right.
- Scrum Master Spends all of his or her time helping the Product Owner, the Development Team.
🧾 Sprint Planning
- At the beginning of each Sprint, the Scrum Team including the Scrum Master and Product Owner gets together for a Sprint Planning session where they choose what items to include in the Sprint.
- For a 4 week Sprint it’s timeboxed to 8 hours, for 2-week Sprints it’s 4 hours
- In the first half, the team figures out what can be done in the Sprint. First, the team writes down the Sprint Goal, a one- or two-sentence statement that says what they’ll accomplish in the Sprint.
- Then they work together to pull items from the Product Backlog to create the Sprint Backlog
- In the second half, they figure out how the work will get done. They break down (or decompose) each item on the Sprint Backlog into tasks that will take one day or less.
📞 Daily stand up / Daily Scrum
- It is a meeting that happens every day, during which team members talk about what they’re working on and their challenges
- It is a 15-minute timeboxed meeting that’s held at the same time every day
- The meeting is kept short by making everyone stand for the duration. That keeps it short, sweet, and to the point.
- The meeting isn’t just about giving status updates, but about understanding how the project is going and coming together every day to find ways that everyone can work better
- When devs bring up a problem with the plan during the meeting, everyone will listen, and the project will run better because of it.
- Daily standup helps the team plan the next day’s work — and every single person on the team is part of the planning process.
✍ Sprint Review
- When Sprint is done, the team holds a meeting called the Sprint Review, where they meet with the users and give a demo of the working software that they built.
- The team demonstrates what they built during the Sprint, and gets feedback from the stakeholders
- For a 4-week Sprint, this meeting is timeboxed to 4 hours
- They’ll also discuss the Product Backlog so that everyone knows what will probably be on it for the next Sprint.
🐲 User story
A User Story is a way to express one very specific need that a user has, usually written out as a few sentences.
☕ Task Board
A Task Board is an Agile planning tool in which user stories are attached to a board and categorized into columns based on their status. For example “In progress”, “Done”, “Ready for Development”, “Code Review” etc.
📉 Burndown Chart
A Burndown Chart is a line chart, which is updated daily, that tracks the amount of work left on the project, “burning” down to zero when the work is done.
- It is the sum of all backlog items that are completed and delivered at the end of the Sprint.
- Increment represents the result of one complete Sprint.
- Product Increment is the sum of all of the backlog items completed during this Sprint and all of the previous Sprints.
Product Backlog, the Sprint Backlog, and the Increment are 3 artifacts used in the scrum that represents the progress of the project.
The very last thing the team does in the Sprint is meet and hold a Sprint Retrospective, where they talk about what happened during the Sprint so they can reproduce the things that went well and learn from any problems.
Hope you find this useful. cheers!