The Agile encyclopedia is a knowledge resource, giving you insights into Agile and Scrum by defining the terminologies in simple layman terms. Agile is the popular software development approach over the traditional waterfall model that laid the foundation for several frameworks like Scrum, Kanban, XP, etc. All these frameworks have a core vision to deliver the high-quality product to the customer at a faster pace and more frequently without having to wait for several months to see the product (rather delivered frequently and incrementally). Below are the most sought-after frequently asked questions and answers around Agile and Scrum.
Agile is an iterative incremental approach to delivering products that help organisations deliver value to their customers faster and with high quality. Instead of delivering anything using a “big bang” implementation, an Agile team delivers (and releases) the product in small, but consumable/usable, increments. Requirements, plans, and outcomes are inspected continuously, so the delivery teams have the ability to respond to change and adapt either the product or the delivery process.
Scrum is a popular Agile framework that helps teams deliver value as a focused team. Scrum encourages teams to develop the product and process through reflection on experiences and subsequent adaptation (see What is Empiricism).
Whilst Scrum is most commonly associated with software development team delivery, its principles and concepts can be used in a myriad of product types and industries. Often thought of as an Agile framework, Scrum is a set of events, roles, and artifacts that work together to help delivery teams structure and coordinate their work.
For more information about Scrum, click here.
A self-organising team is one that has the autonomy and doesn’t wait for directions or lead/manager to assign the work for them. These teams can make their own decisions, discuss among themselves to resolve the blockers or impediments, reach out to other stakeholders, Product Owner or Scrum Master for any help. They take the accountability of their deliveries and play the role as an owner of the work.
Agile Teams are self-organised and cross-functional. A cross-functional team has members from different functional areas of the organisation and different skill sets. But they all are aligned and work towards one common goal of delivering the product to the end customer.
The cross-functional team members are self-directed, and they collaborate among themselves, increase open communication, thereby reducing the overheads of hierarchical controls and turnaround time in the organisation. The cross-functional teams also play a larger role in the project.
A Theme is a very high-level objective of the product. Themes are further split into features, user stories. It is a group of user stories and the implementation span of several releases.
Initiatives are a collection of several epics which has a common goal. Initiatives are derived from large Themes which focuses on organisation wide goal. An initiative can take several months to complete, sometimes even a year. That is why Epics are split further into user stories to achieve in sprint incrementally.
An Epic can be defined as a large and high-level user story, which is too large to fit into a sprint and needs to be broken down into smaller ones (called user stories). This is usually split into smaller ones and each of which can be completed within a sprint.
Scope creep (also known as “requirement creep”) refers to how a project’s requirements tend to increase over a project life cycle. This could be due to change in the customer’s needs, changing requirements, disagreements between the stakeholders, etc. All these can cause project delays, overshooting the budget, and resource constraints.
While change is inevitable, how effectively the changes are managed by the stakeholders leads the project to success. Agile welcomes the change and reinforces “fail fast” so we can learn from the experience quickly and adapt to changes faster to deliver the product incrementally to the customers.
The Horizontal slicing of a User Story refers to breaking down the technical layers and components of work, which may seem to work well with the technical skills of developers. However, they can’t deliver value to the customer without interaction or integration with other layers. It is much like slicing a cake horizontally, which does not allow users to have the perfect bite.
The Vertical slicing of a user story means breaking down vertically as smaller units which results in working, demonstrable product. In other words, a vertical slicing of user story refers to a bit of every layer (such as User Interface, Middle Tier and Database). It is like slicing the cake vertically, which allows users to have the perfect bite of all the layers in the cake.
Agile Estimation plays a key role in planning and development of a product. Estimation gives the size of the effort to be done, the velocity at which the team can complete the work. With this, we can compute the cost by dividing the size of the work of all the features by the team’s velocity.
There are two estimation techniques most widely used in Agile software development:
– Relative Estimation: The efforts are not estimated in hours (they do not have units), but they are relative numbers or story points. It is useful in estimating complex efforts.
– Planning Poker: Individuals in the Team estimate the story in terms of story points using poker cards. If the estimates vary, then team discusses and repeat the process until the team agrees upon the estimates and all the user stories are estimated.
Agile metrics are standards of measurements to measure different aspects of the product development that help a Scrum Team to assess the software quality, review the Team’s performance and productivity across various phases of the project development and delivery process through facts and figures.
For more information about Agile Metrics, click here.
A storyboard visually shows the progress of a product development in various states. There are usually four columns (and not limited to), ‘To do’, In Progress’, ‘Testing’, and ‘Done’. To differentiate the phases of work, the post-it stickers are used in different colours and pasted in the respective column. This visual board gives a high-level indication on the number of work being planned, work in progress, completed but under testing, done items (which meet all the Acceptance Criteria).
The most common risks in an Agile Scrum Project are:
– Scope creep
– Timeline issues
– Budget Constraints
Agile Testing is the software testing process, and they are based on the agile software development principles. This iterative approach leads the user stories to a shippable product in collaboration between the members of the Scrum Team.
Technical Debt is a term referred to similarly to financial debt. The term was coined by Ward Cunningham who briefs that it is the obligation that an organisation incurs when it chooses a development approach (short sited due to delivery commitments, tradeoff quality vs. time, complexity, short-staffed, lack of skill/quality of work, lack of automated testing, not refactoring existing code and following band-aid solutions, etc.) that increases complexity with the overhead of maintaining the product and becomes costlier (adding extra effort) in the long term.
The Technical debts should be cleared up in regular cycles so that it doesn’t impact the future deliveries (on which it will be built upon) majorly and the product roadmap.
Agile release cycle is typically a period to get a final version of a product distributed to the customer with a set of features committed. Usually, a release is kept shorter and less than a year which comprises several iterations. While the iterations are kept at a fixed length and less than a month, the release cycle for a project may take several weeks or months to complete.
Defect Density is the number of defects found in the product. It is a quality metric which is measured against the per 1,000 lines of codes (also referred as KLOC – 1,000 Lines of Code) or function points or story points (size). One defect per KLOC is normally considered as a good defect density.
Defect Density = Total number of defects / Total lines of code or Size (Story points)
Cost of delay is a key metric in lean-agile. It shows the impact in terms of time/urgency on value when a work is not completed. This helps to decide on prioritising the Project work based on this impact study. Also, you can make a comparison with other projects with factors like expected revenue, project duration, etc to understand the impact of the project. Cost of delay helps the Scrum Team to make better economical based decisions.
The formula is: Cost of Delay = Value x Urgency.
A product roadmap is a plan of action or the vision for the future of how a product will evolve. In Agile development, it provides the product’s expected evolution and key direction for achieving the team’s goal. Multiple agile teams may share a product roadmap.
The product vision board is an excellent tool for product ideation and share new ideas with the Agile teams that benefit the organisation and the customers. Being a visual aid, it helps to capture new ideas, understand the purpose and benefits, brainstorm, and refine the ideas easily.
A stakeholder is a person who is outside the Scrum Team (core team) who is interested in the product/project and plays a role in the product increment directly or indirectly. The stakeholders represent the Scrum events as needed and add value to the product increment during the Sprint cycle.
Coaching is a short-term role played by a Coach to train the person on a particular skill and has specific objectives. Coaching aims at driving through the results like improving performance at work by enhancing the skills. Coaching helps an individual to maximise their potential by acquiring skills.
In Agile software development, the Scrum Master plays the role of a coach as well, among other roles to help the Developers to perform better.
Mentoring is a critical role that is aimed at long-term results. A mentor and a mentee work together taking a holistic approach to drive through resulting in career development. Mentoring works on respect and mutual trust between the mentor and mentee than a more formal approach. A mentor provides guidance, support, and motivation by setting achievable smart goals with targets and holds the mentee accountable to get the desired outcome.
The Scrum Master plays a role of a mentor by mentoring the Developers to achieve their professional goals.
Behaviour Driven Development (BDD) is an Agile software development process that emerged from Test-Driven Development (TDD) and Acceptance Test-Driven Development (ATDD) which focuses on the business behaviour aspects and writing acceptance criteria by giving examples of software behaviour with all possible scenarios as the basis of automated tests.
BDD helps the business teams and technical teams to collaborate and remain focused on delivering the business needs while ensuring it meets all the user requirements.
Backlog grooming is also known as the Backlog refinement process. It is an ongoing process as the product backlog items kept added, removed, or changed periodically based on the customer’s needs.
When the new user stories are created, they are added to the backlog, re-arranged, ordered, and prioritised based on the business value so that it is easily transferred into Sprint backlog for development. The developers estimate the work in the backlog grooming session where the Product Owner explains the feature and clarifies any queries from the team. The large user stories are broken down into smaller stories or tasks. The acceptance criteria are built and understood by the team, which is a key factor in meeting the Definition of Done (DOD) of a work item. This important activity happens regularly alongside the Sprint cycles.
A Minimum Marketable Feature (MMF) is the smallest functionality that must be delivered to the customer that gives value to the business. Breaking down the term “MMF” represents the characteristics of it: minimum, marketable, and feature.
Minimum is the smallest feature and Marketable is providing value in terms of scaling the customer business, revenue opportunities, cost savings, an enhancement to existing functionality or building new functionality that has an edge over competitor’s product, etc. The Feature is a functionality perceived by the end customer. The Product Owner gauges the Product backlog items and prioritise them based on these parameters.
Pigs and Chickens are slang used in Agile Scrum context to explain about the commitment and involvement in the Scrum team. Chickens gives input to the team about the product (“what”) that needs to be built. Pigs are the ones who actually decide “how” to get it done. The developers and Scrum Master (Pigs) who are committed to deliver the work while the Product Owner (Chicken) is merely involved.
Value stream mapping (VSM) is a lean manufacturing technique used in the organisation to identify waste and inefficiencies, reduce process cycle times, and improve the process and maximise the time and material efficiency by employing a flowchart documenting every step of the process.
VSM process helps you to create a detailed visualisation of every task in the workflow steps in your work process to deliver value from start to finish. Since this process has evolved from the manufacturing industry, it is represented as the flow of goods from the supplier to the customer in the organisation.
By Breaking down the work item states in multiple columns (as many as needed) in the task visual board, you will be able to see the more precise mapping. This helps as indicators to see the stages where the work queued up, especially where the handoffs (wait time) occur. By removing the inefficiencies and optimising the process flow, you can aim for more frequent delivery of the value to the customers without compromising the quality.
User Story Mapping or Story Mapping is an Agile technique by Jeff Patton used by the Product Owner in product discovery where the user stories are arranged in visual board (in the form of a map) by functional groups and see the whole application features visually and prioritise the highest value stories efficiently.
It is a fantastic way to to think about the user’s journey through the product… keep users and what they’re doing with the product front and center!
This story map shows the how each individual stories fit into the product. Also, story mapping helps to respond to change easily. When a new user story is added or an existing user story is removed or changed, it becomes easy to identify the impact to the whole product and adjust them easily.
An Agile workflow is a set of process steps in an Agile project that helps to accomplish the project goal.
It starts with “Conception” where the Project vision is set, and a product backlog is created to start the sprint planning. “Inception” is the next step where teams are assigned with the work to execute the sprint. “Iteration” is the third step where the team starts working on the sprint backlog items and delivers a product increment.
The developers “Release” the product to the customer and receive their feedback to make necessary changes. “Retirement” is the final stage where the existing product version is retired and the next sprint starts. These steps are repeated until the final product is developed and delivered to the customers.
All these steps form the Agile workflow, and the team has to understand it fully so that they can benefit and also improvise as needed.
Agile and Scrum certifications are in demand in the market. Companies around the globe prefer their employees to have formal education and become Agile certified. These certifications help the employees in standing out in the job market and also grow in their career path. Some of the certifications are:
Certified Scrum Product Owner (CSPO)
Certified Scrum Master (CSM)
Certified Scrum Developer (CSD)
Professional Scrum Master (PSM)
Profession Scrum Product Owner (PSPO)
Agile Scrum Master(ASM)
Agile Certified Professional (PMI-ACP)
Safe Scaled Agilist
Certified Agile Coach (ICP-ACC)
Pair programming is a technique where two programmers work together as a team. It is used in Agile software development to get the benefit of writing better code by exchange of knowledge across the coding partners and the code quality is improved because of simultaneous review happens when one person writes the code (driver) the other person reviews(observer).
Refactoring or Code Refactoring is the term used to modify the code so that the code readability and/or performance is improved.
Refactoring is done such that the existing functionality will never be changed or affected by the change.
The code is refactored so that the unwanted dependencies between classes are removed, too many responsibilities held by a function or a module are eliminated, duplicate or redundant codes are cleaned up and complex codes are made simpler for future changes on it, etc. This activity helps the team to improve code quality and code maintainability. By doing this exercise, the team can make the changes in future more easily and efficiently, thus reducing the code complexity.
The Product Owner (PO) owns the Product Backlog. The PO is responsible for refining and ordering the backlog based on highest priority so that the developers can pull the stories into the Sprint backlog for development and deliver a product increment. Product Backlogs are ever changing repository and the Product Owner plays a pivotal role in managing them.
The Scaled Agile Framework® (SAFe®) or SAFe Agile is an agile framework and lean-agile practices applied in complex organisations to achieve enterprise agility at scale. SAFe helps businesses to operate continuously and efficiently optimally using integrated principles and practices.
SAFe engages the leadership in the enterprise’s Lean-Agile transformation through offering role-based training for various levels of the workforce in the organisation.
DevOps is the combination of terms Development (Dev) and the IT Operations (Ops) which brings together the development team and operations team to achieve high-quality software delivery continuously at a steady and faster pace.
The four types of burn down charts are:
– Defect burn down chart
– Release burn down chart
– Product burn down chart
– Sprint burn down chart
To know more about them, click here.
“Information radiator” is an Agile terminology used to refer the visual display of information. They are placed in a highly visible location, so that the stakeholders and team members or anyone who is interested to know about the latest of the project can see the information.
Agile Scrum has Information Radiator such as Burndown chart, Burnup chart, Task board, Scrum board, Kanban board, Cumulative Flow Diagram (CFD), etc.
In general, Cadence is heartbeat. In Scrum context, Cadence is the duration of the Sprint or Sprint length. A sprint of 2 weeks or an iteration of 4 weeks cadence represents the rhythmic flow of the Sprint process. The cadence helps the team to plan the amount of work that they can finish within a given Sprint cadence. The cadence is determined based on a number of factors that include: the type of project, urgency, criticality, and risk.
MoSCoW is an Agile backlog prioritisation technique used to categorise and prioritise requirements from the Product Backlog. MoSCoW is often used with time-boxing which enables the developers to focus on the most important requirements for delivery. The acronym MoSCoW stands for ‘Must Have, Should Have, Could Have, and Won’t Have’ requirements.
Gemba means “the real place” which is a Japanese word. Gemba represents the place where the work is done and the value is created from a Lean-Agile perspective. In a manufacturing unit, the Gemba is the factory floor.
Gemba Kaizen is a Japanese concept of continuous improvement that aims at improvising processes and reducing waste. Gemba refers to the place where value is created, while Kaizen refers to improvement.
The Gemba walk refers to develop the leaders who in turn develop their team individuals to improve their work activities continuously. A Leader helps the teams in making Gemba Walks effective and efficient. The employees stand back from their day-to-day work activities and walk the floor of their workplace in order to identify the inefficiencies and wasteful activities in their work process. Thus the team understands the value stream and makes their work process better.
There are many Agile management tools available that help in tracking the Agile project and manage them effectively. Some of the popular tools are:
– MS Excel
– MS Project
– Google Docs
– Version One
– MS Team Foundation Server (TFS)
– HP Quality Center/ALM
Taskboard is an Agile visual dashboard that shows the progress of the project. The tasks are listed in columns under different stages of the task such as User Story (business requirement), To Do (work items that are ready to work), In Progress (Tasks in progress), To Verify (pending review or testing), Done (Completed tasks).
The release candidate (RC) is the build released internally to make sure that there are no critical problems is left behind. It is used for testing purpose only but not the candidate for production deployment. Although it is equivalent to the final build, they are used for testing purpose only.
A Development Team is free to choose the work items and distribute the tasks. It may be assumed as cherry-picking of tasks by team members. This autonomy aid the team as a valuable step towards achieving performance.
On the flip side, if the team member has a complaint that how others are choosing their tasks, then this is an issue. This is an anti-pattern behaviour that Scrum Master has to address by having an open conversation with the concerned team member(s) and if needed additional training on Scrum practices can be given so that they are out of their comfort zone and get accustomed to the team practices. Pair programming is one such activity that helps the team to work cohesively.
The build-breaker is a scenario when there is a bug identified in the software product. It is an unexpected event, so the software build process halts or execution fails and cause program failure. The developer(s) and testers has to fix them to get the software back to normalcy by removing the bug.
Lean software development methodology follows the principle of “Just in time production”. It focuses on improving productivity by delivering the software product quickly and remove wastages and unnecessary costs thus resulting in increasing the customer value. It is a way of optimising the usage of resources, staff in the organisation by focusing on continuous improvement.