Unpacking Agile Jargon: An Introduction To Agile Methodology And Terminology
Learning Agile is a bit like starting a new programming language. There is a new vocabulary. Work is managed by professionals in different job roles who are guided by a set of values called the Agile Manifesto.
In Agile, large projects, complex processes, and monolithic solutions are replaced by smaller and simpler ones. Minimizing work effort and simplifying just about everything else is both a value and a virtue.
You might think there would be a simple definition for the Agile development methodology. Think again. Countless YouTube videos and web blogs attempt to define Agile but get caught up in the weeds. Some stress guiding principles or values, while others call out basic beliefs. Perhaps the best way to unpack Agile methodology and its unique terminology is through a scenario which we will do later in this blog.
First, let's explore some basic Agile concepts.
Simplicity is so fundamental to Agile it has a new definition. Simplicity is the art of maximizing work not done. Never has a software development approach been so well regarded for doing less work and in a shorter time frame with fewer resources.
Agile is philosophically different too. The core belief is the need to understand customer requirements and then commit to rapidly delivering on them. No one expects the first working version of a software development effort to be perfect and bug-free. Nor does anyone expect the new code to perform as specified in user requirements statements. Instead, the first version of software starts the process of continuous improvement (called iterative development in Agile speak.)
As much as Agile development is a process methodology, success depends on people working collaboratively in teams who are 'all in' to Agile. Identifying impediments to completing tasks is encouraged and praised by the team. Changes to requirements are welcomed, even last-minute ones. Constant change anywhere in the development cycle is everyone's expectation.
The Agile process is driven by team members asking the right questions. Agile development is more than using the right tools for project management. The ability for anyone on a team to question any decision or priority is fundamental. Tools in and of themselves are not Agile. The team is Agile when it adopts guiding principles and takes ownership of operating in an Agile way.
Guiding principles are the same for every Agile team, but priorities and approaches may differ. Developers relate to these examples of guiding principles. The highest priority is to perform work that satisfies the customer:
- Changes in requirements are welcome even late in the development process
- Business people and software developers must work together to create effective solutions
- Good software requires building a sustainable and repeatable approach
Software is the art and science of turning ideas into reality. Some think of software development as a dance with four steps that can be repeated over and over again until the new solution meets customer expectations. The four steps are:
- Plan and design: architect a nimble framework
- Code: create a functional application that is a minimum viable product
- Test: learn from mistakes and validate progress
- Review: deploy working code and ask for rapid feedback
Deploying new software is both the end goal and the beginning of new Agile projects. High-functioning Agile teams may use Scrum and cycle through some of the four steps during each work period called a Sprint.
Unpacking Agile jargon
Advantages of Agile include:
- Failing fast takes less time and doesn't waste resources.
- New information can be a game-changer and not an impediment.
- An iterative development process makes room for new ideas.
- Designing the minimum viable product drives team focus.
- Change in direction is a normal component of software development.
- Customer requirements drive work priorities.
- Process steps like standups help keep team members informed and engaged.
- A project can be stopped without hurting the team. It may even be the best possible outcome.
The following definitions will help unpack some of the Agile jargon you'll commonly encounter in an agile work environment.
Backlog grooming: Collaboration that takes place between the dev team and Product Owner to prioritize tasks and also where story point estimates are added to the user story.
Burndown chart: Visual representation of data to show the amount of output completed.
Daily standup: Brief and informal meeting of a Scrum team to update progress towards the sprint goal, next steps, and impediments encountered. Standups are best face-to-face.
Epic: Large user story or a big chunk of work under a common objective.
Impediment: Obstacle to achieving the desired outcome of a task during a Sprint.
Incremental development: Iterative and incremental approach to project activities (e.g., software development) where a new version is useable and improves upon the previous version.
Minimum viable product (MVP): Term for testing a new idea by creating the smallest version of a product where users can provide feedback with the least amount of effort possible.
Points: Another way to measure effort required to complete a task other than time (e.g., T-shirt sizes: small, medium, large, extra-large). Points help create a cross-team common understanding of the effort required to complete an assigned task.
Scrum: A framework used to manage product development, which facilitates more efficient collaborations within and among teams.
Product backlog: A list of the tasks and requirements to be completed during future Sprints. May be unfinished tasks from previous Sprints or new requirements.
User story: An evolving narrative developed in consultation with a customer or product owner that helps inform the work to be done by an Agile team using the Scrum framework.
Is the Scrum Master the decision-maker regarding the work to be done in the next Sprint?
The Dev team are the ultimate decision-makers on which work assignments will be included in the next Sprint. The Product Owner also informs this decision by providing input on priorities. The product backlog is the work that needs to be done, and the sprint backlog is the work that has been agreed to in the sprint and the plan on how to do it. The Scrum Master is responsible for helping to remove impediments and ensure the dev team has what they need to accomplish the sprint goal.
What is the difference between Agile and traditional software development?
Agile methodology is most frequently contrasted with monolithic design. The most important difference is that Agile prevents a single point of failure because the software is delivered in smaller, less complex chunks. More testing and validation are done with Agile much earlier in the development process.
How do organizations benefit from Agile processes?
A core value of Agile methodology is reducing product time to market. By working incrementally, participants gain a better understanding of the components of a software system and their interoperability. Participants also experience greater work satisfaction by completing tasks and obtaining feedback more quickly. Greater job satisfaction comes from working on a sustainable process. Organizations with satisfied developers are more productive.
Is Agile methodology suitable for all software development projects?
Not necessarily. Some software projects require plan-driven project management methodologies like Waterfall.
Free Online Agile Bootcamps
We hope this blog has helped you become familiar with Agile jargon and sparked your interest in participating in an Agile Bootcamp live, online, or previously recorded.
These Bootcamps introduce Agile concepts to business and technical professionals. The objective is to advocate for further exploration of Agile and the many benefits to individuals and organizations committed to rapid, customer-focused software product development.
To learn more about Agile and Scrum, take advantage of the below free Bootcamps from Skillsoft.
For Project Managers
Free On-Demand Bootcamp
Led by Barbara Waters, take your project management up a notch! Quickly and effectively learn what it takes to lead an Agile project team.
Free LIVE August 24 - 27, 11:00AM – 2:00PM EDT
Agile differs from pre-Agile approaches in some key areas. Once you know how and why Agile is different, you can then generalize these differences to figure out which management approaches and problem-solving frameworks work well for software, and which don't. Sign up for this Bootcamp led by top-selling author Zigurd Mednieks.