Currated Video Playlists

The following links lead to playlists curated by the Dojo team on a wide range of topics. In order to view these from your ESDC issued devices, you will need to disconnect from VPN!

Agile Basics - videos that we feel does a great job explaining the basics of Agile.

Kanban 101 Playlist - bideos that we feel does a great job explaining the basics of Kanban.

Scrum 101 - videos that we feel does a great job explaining the basics of Scrum.

Glossary of Agile Terms

Acceptance Criteria

The Acceptance Criteria specify a set of conditions that the solution must meet in order to satisfy the customer. The product owner or client representative writes statements from the customer’s point of view that explain how a user story or feature should work. In order for the story or feature to be accepted it needs to pass the acceptance criteria; otherwise, it fails.

How it’s Used: Acceptance criteria should be written in clear, easy-to-understand language. For example, “If I am logged in, when I click the “Buy” button, the total item count for my cart should increase by one.”

Project Management Benefits:
  • Confirms when a user story is complete.
  • Helps the team understand the story/feature.
  • Removes ambiguity from requirements.
Acceptance Test

An Acceptance Test is derived from the Acceptance Criteria and verifies whether a feature is functional. The test has only two results: pass or fail. Many times, acceptance tests are automated so they can be performed on all versions of the software. Acceptance criteria usually include one or more acceptance tests.

Also Known As: functional test, customer test, story test

How it’s Used: Acceptance testing ensures that the software meets business and customer requirements. Acceptance tests are written by the product owner and should be brief statements that explain intended behavior and result. For example, “The user clicks on this button and the text turns red.” This test would result in either a pass or fail.

Project Management Benefits:

  • Increases satisfaction of the customer by ensuring their requirements are met.
  • Identifies functionality and usability issues early on.
  • Promotes collaboration between developers and the end-user.

Agile Manifesto

The Agile Manifesto includes four values and 12 principles of an iterative software development process. In February 2001, 17 software developers met in Utah to discuss lightweight development methods. They published the Manifesto for Agile Software Development, which covered how they found “better ways of developing software by doing it and helping others do it.”

How it’s Used: Project managers refer to the Agile Manifesto when they are managing any process that aligns with its core concepts, such as Agile methodology.

    Project Management Benefits:
  • Frequent testing and continuous delivery of valuable software.
  • Welcomes changing requirements.
  • Promotes cross-functional collaboration.

Application Lifecycle Management (ALM)

Application Lifecycle Management (ALM) is a continuous process of managing a software application from its initial planning to its retirement.

How it’s Used: ALM is used throughout the entire project and involves the use of a variety of tools to assist with requirements management, architecture, coding, testing, tracking, and release.

Project Management Benefits:

  • Reduces risk by continuously monitoring project status.
  • Decreases cycle time and development costs.
  • Minimizes downtime.
  • Backlog

    A backlog is a changing list of product requirements based on the customer’s needs. The backlog is not a to-do list; rather, it is a list of all the desired features for the product. The Agile team uses the backlog to prioritize features and understand which features to implement first.

    How It’s Used: The development team pulls work from the backlog to complete during each iteration. The backlog may change throughout the development process as the team learns more about the customer’s requirements.

    Also Known As: product backlog

    Project Management Benefits:

  • Communicates feature priorities.
  • Allows for longer term planning.
  • Ensures the customer needs are being heard.
  • Backlog Grooming

    Backlog grooming occurs at the end of a sprint, when the team meets to make sure the backlog is ready for the next sprint. The team may remove user stories that aren’t relevant, create new stories, reassess priority, or split user stories into smaller tasks. Backlog grooming is both an ongoing process and the name for the meeting where this action occurs (a backlog grooming meeting).

    Also Known As: Backlog refinement

    How it’s Used: Once the team finishes a sprint, a backlog grooming meeting is scheduled. Backlog grooming is meant to ensure the backlog only contains items that are relevant and that meet objectives.

    Project Management Benefits:

  • Ensures that all features are meeting project objectives.
  • Helps the development team understand priorities and stay on track.
  • Facilitates communication regarding which features are and aren’t important, and why.
  • Capacity

    Capacity represents the amount of work that can be completed within a certain time frame and is based on the number of hours that an individual or team will be available to complete the work.

    How it’s Used: The product owner and Agile team determine the capacity or amount of workload, they can take on for an upcoming sprint. The capacity is decided during the sprint planning meeting.

    Project Management Benefits:

  • Improves resource management.
  • Estimates the completion of a project.
  • Continuous Integration (CI)

    Continuous integration is a software engineering practice that involves continual integration of new development code into the existing codebase.

    Also Known As: Continuous delivery, continuous deployment

    How it’s Used: Once a feature is completed, developers test it for defects and then integrate it into the existing codebase. This ensures that the code repository always contains the latest working software build. In practice, this process is largely automated through the use of version control tools, team policies and conventions, and specific CI tools.

    Project Management Benefits:

    • Enables rapid feedback, so that defects can be identified and corrected quickly.
    • Minimizes time and effort needed to perform each integration.
    • Provides an automated build and release process.
    • Allows software to be deliverable at any moment

    Continuous Improvement

    Continuous improvement is a process of improving quality and efficiency by making small, incremental changes over time. In Kanban, continuous improvement refers specifically to the process of optimizing workflow and reducing cycle time, resulting in increased productivity.

    Also Known As: Kaizen

    How It’s Used: Continuous improvement is used to introduce improvement into the work process on an incremental basis and involves the following steps:

    1. Identify
    2. Plan
    3. Execute
    4. Review.

    More specifically for Kanban, there are no set due dates so the team focuses on work-in-progress. As team members collaborate to troubleshoot problems and brainstorm new ideas, the process becomes more efficient and streamlined, cycle times decrease, and workflow is optimized. Teams do not need to be cross-functional in Kanban.

    Project Management Benefits:

    • Improves productivity and delivery.
    • Increases accuracy in forecasting future work and delivery.
    • Streamlines work and reduces waste.
    • Introduces improvement on an incremental basis.
    • Increases a sense of pride and accomplishment in team members.

    Daily Standup

    The Daily Standup meeting is a key component of Agile methodologies and serves as a daily forum for Agile teams to share progress, report impediments, and make commitments for the current iteration or sprint. This brief, 15-minute meeting is usually held every morning at the same time and in the same location. The meeting should be brief enough for participants to stand for its entirety—standing promotes brevity and ensures that the meeting doesn’t extend past the timeframe allotted.

    Also Known As: Daily Scrum, standup meeting, daily meeting, daily huddle

    How it’s Used: Daily standups are typically held around the team’s physical Scrum or Kanban task board (for on-site teams). Teams answer three questions about their work status along these lines:

  • What did I accomplish yesterday?
  • What will I commit to, or complete, today?
  • What impediments or obstacles are preventing me from meeting my commitments?
  • All discussion during the daily standup should be focused on answering these three questions. Any additional discussions stemming from these questions should be handled outside of the daily standup.

    Project Management Benefits:

  • Keeps workflow on track.
  • Keeps the meeting short (due to standing).
  • Helps identify issues sooner than later.
  • Increases team accountability, communication, and collaboration.
  • Stimulates team self-organization and personal planning.
  • Helps team members address issues and make small course corrections, if needed.
  • Provides face-to-face interaction (if on site).
  • Definition of Done

    Definition of Done refers to a set of predetermined criteria that a product needs to meet in order to be considered as being done. The team reaches a consensus as to what defines a task as being done and then posts a checklist of steps that must be completed before the product can be considered as potentially shippable. The team displays this list in the form of a Big Visual Chart prominently in the team area.

    Also Known As: single done, done, done-done-done, done list, done checklist, product sashimi, task complete definition, punch list

    How it’s Used: The team agrees upon a list of criteria which must be met before a product increment is considered to be ‘done’—that is, all design, coding, testing, and documentation have been completed, and the code has been fully integrated into the system. If a task does not meet the Definition of Done criteria, it does not count toward team velocity.

    Project Management Benefits:

    • Improves likelihood of delivering working software.
    • Limits the cost of rework once a feature has been accepted as ‘done’.
    • Reduces the risk of misunderstanding and conflict between the development team, and customer or product owner.

    Epic Stories

    Epic or epic stories are defined as large user stories that, in their current state, would be difficult to estimate or to complete in a single iteration. Epic stories are typically lower priority and are waiting be broken down into smaller components.

    How it’s Used: Epics are often used as placeholders for new ideas that have not been fully developed While epic stories are common when developing the initial product backlog, they should eventually be broken down into more manageable user stories where the requirements of the story are more narrowly defined.

    Project Management Benefits:

    • Useful as placeholders for large requirements.
    • Helpful for big-picture view of user stories.

    Fail-Fast

    Fail-fast is the process of starting work on a task or project, obtaining immediate feedback, and then determining whether to continue working on that task or take a different approach—that is, adapt. If a project is not working, it is best to determine that early on in the process rather than waiting until too much money and time has invested.

    How it’s Used: A team starts a new project or task, obtains feedback early on, and then conducts an an analysis to determine whether the project will be functional or successful. If a task or project is moving in the wrong direction, team members are encouraged to stop work as soon as possible.

    Project Management Benefits:

    • Identifies issues quickly.
    • Creates a culture of transparency
    • Reduces wasted time, effort, and cost.
    • Improves efficiency in software product development.

    Feature Creep

    Feature creep is the tendency to add additional requirements or features to a project after development is already underway. Feature creep can occur on either a project or sprint level.

    Also Known As: Requirements creep, scope creep

    How it’s Used: Changes and additional requirements are to be expected in a project. Any changes requested after the start of a project or sprint need to be added to the backlog and prioritized based on value. This ensures that feature creep will not adversely impact the project timeline or cost.

    Project Management Concerns:

    • Risks project schedule, quality, and cost.
    • Reduces productivity.
    • Prevents teams from meeting iteration goals.
    • Decreases value of product or deliverable.

    Blocker / Impediment

    A blocker / impediment is any obstacle that prevents an individual or team from completing a task or project. Unscheduled meetings, technical issues, lack of knowledge or expertise, a distracting workplace, and office conflict are all examples of impediments.

    How it’s Used: The team may want to create a list of impediments called an Impediment Backlog and prominently display this list in the area where the team meets for Daily Scrums. Impediments should be listed by how seriously they are hindering team productivity. If the impediments are company-wide, it is the Scrum Master’s responsibility to remove them. If they are occurring at a team level, it is the team’s responsibility to resolve or remove them.

    Project Management Concerns:

    • Results in reduced team productivity.
    • Negatively impacts project timeline and cost.
    • Needs to be addressed as soon as possible.

    Iteration

    An iteration is a fixed or timeboxed period of time, generally spanning two to four weeks, during which an Agile team develops a deliverable, potentially shippable product. A typical Agile project consists of a series of iterations, along with a planning meeting prior to development and a retrospective meeting at the end of the iteration. Iterations are referred to as sprints in Scrum.

    Also Known As: Sprint, timebox

    How it’s Used: At the beginning of an iteration or sprint, the product owner and team decide which requirements to complete during the iteration. The duration of an iteration may vary from project to project.

    Project Management Benefits:

    • Enables teams to work effectively with customers.
    • Encourages feedback throughout the iteration.
    • Helps prevent feature creep.
    • Reduces risk of timelines slippage.

    Planning Poker

    Planning Poker is a team building exercise or game used to arrive at a group consensus for estimating workload.

    How It’s Used: Players use cards printed with numbers from the Fibonacci sequence to assign story points to user stories in order to estimate workload. The team must reach a group consensus regarding how long user stories or requirements will take to complete. Alternatively, teams can use other forms of relative estimation, such as tee-shirt sizing.

    Project Management Benefits:

    • Provides benefit of collective team knowledge and experience.
    • Encourages brainstorming and generation of ideas.
    • Promotes problem solving.
    • Stimulates team collaboration.
    • Increases accuracy of estimates.

    Product Owner

    As a member of the Agile team, the Product Owner represents the customer, and conveys the customer’s requirements and vision to the team. The product owner writes the acceptance criteria, and prioritizes and maintains the product backlog. Product owners should be able to communicate well in both directions: both taking team concerns to the customer and stakeholders, and ensuring that the team stays on track to meet the customer’s vision for the product.

    How it’s Used: In a Scrum environment, the product owner assembles and prioritizes the user stories to be completed during a sprint. During the sprint, the product owner remains silent; he or she cannot make changes or offer feedback. Once the sprint is complete, the product owner meets with team members and stakeholders to offer feedback and discuss avenues for improvement. The product owner accepts or rejects the product at the end of the sprint, based on the acceptance criteria decided on during the spring planning meeting.

    In a Kanban environment, the Product Owner assembles and prioritizes a backlog of work items to be accomplished. The product owner has the flexibility to change and reprioritize work in the backlog at any time without affecting work already in progress.

    Project Management Benefits:

    • Increased team understanding of customer’s vision and final product.
    • Increased communication and trust among customer, team, and stakeholders.
    • Increased support for the team from outside parties.

    Release

    An Agile release refers to the final delivery of a software package after the completion of multiple iterations or sprints. A release can be either the initial build of an application or the addition of one or more features to an existing application. A release should take less than a year to complete, and in some cases, may only take three months.

    How it’s Used: Agile teams use the amount of time planned for a software release divided by iteration velocity to determine the number of iterations needed to develop the software needed for the release.

    Project Management Benefits:

    • Provides a tangible goal.
    • Clarifies the customer’s requirements and vision.
    • Allows for preliminary release of alpha or beta versions after the completion of several iterations.

    Scrumban

    Scrumban is a hybrid of Scrum and Kanban used to accomplish tasks and produce deliverables.

    How It’s Used: Scrumban is used when a Scrum team wants to apply some Kanban methodology into their process by focusing in on work-in-progress and continuous improvement. Or, a Kanban team may want to apply some Scrum structure into their process, such as daily standups or roles.

    Project Management Benefits:

    • Combines best practices of both methods to enhance the team’s process.
    • Provides teams with flexibility to adapt their process in the way that is best for them.
    • Balances team capacity vs. demand.
    • Enhances visualization for a Scrum team.
    • Steers teams toward a long-term evolution of continuous improvement.

    Task

    A task is a single unit of work broken down from a user story. A task is usually completed by just one person.

    How it’s Used: Task is used in Scrum to identify a small increment of work to be completed by a team member during a sprint. The team visually identifies a task to be completed by posting a card or post-it note on their task board.

    Project Management Benefits:

    • Breaks user stories down into manageable units.
    • Empowers team members to complete a task or tasks without feeling overwhelmed.
    • Easy to identify on Agile taskboards.

    Technical Debt

    Technical debt refers to the obligation a development team incurs when they use a short-term, expedient approach to developing a software package without considering the long-term consequences. Technical debt increases project cost and complexity due to inefficiencies, inaccuracies, and other issues introduced into the software package. Poor management, incompetency, timeline pressure, or inadvertent mistakes can all contribute to technical debt.

    How it’s Used: Technical debt is used as a motivation for the team to focus on quality and added value during development. This can translate into diligently and consistently refactoring and reviewing code, running automated unit tests, and integrating code on a consistent basis. Pair programming is often helpful in guarding against technical debt. Creating an environment where team members are encouraged to increase relevant knowledge and experience also helps prevent technical debt.

    Project Management Concerns:

    • Reduces product quality.
    • Results in high defect rates.
    • Reduces productivity.
    • Reduces workflow velocity.
    • Reduces the quality of code maintenance.
    • Results in expensive modifications and implementations.

    Timebox

    A timebox refers to an assigned period of time during which an individual or team works toward an established goal. The team stops work when the time period concludes, rather than when work is completed. The team then assesses how much work was accomplished toward the specified goal.

    How it’s Used: Timeboxes are implemented in Agile software development to increase quality and value when producing a deliverable. In particular, timeboxes are applied in Scrum sprints, as well as spikes, where tasks are assigned fixed lengths. Any work not completed within the timebox is either reassigned to another iteration or reprioritized.

    Project Management Benefits:

    • Increases focus on tasks or issues that add the most value.
    • Ensures that customers needs are met.
    • Reduces feature creep.
    • Provides short feedback loop.
    • Ensures that the most important features are included in the software package.

    User Story

    A user story is a brief, non-technical description of a requirement written from the customer’s or end-user’s point of view.

    How it’s Used: The product owner breaks Product Backlog Items (PBIs) down into user stories. To assess the workload effort needed to complete the story, user stories are assigned story points. Once the product owner prioritizes the user stories, team breaks the highest priority story down into tasks to be completed during the next iteration or sprint. The Agile team uses these stories to create code that will meet the customer’s requirements. When the iteration or sprint is completed, the team should have produced a functional and potentially shippable product or deliverable, corresponding to the requirement specified in the user story.

    Project Management Benefits:

    • Increases productivity.
    • Provides teams with a clear understanding of software requirements and acceptance criteria.
    • Provides teams with ongoing or frequent feedback.
    • Provides flexibility for the product owner or customer to make small changes before the story is implemented.
    • Promotes continuous improvement.
    • Increases product value and quality.
    • Reduces risk of defects.

    Unit Testing

    A unit test is a short program fragment written for testing and verifying a piece of code once it is completed. A piece of code either passes or fails the unit test. The unit test (or a group of tests, known as a test suite) is the first level of testing a software development product.

    How it’s Used: Developers write a unit test for a small piece of code they are developing to document to verify that the code works correctly. Unit tests should also be written for bug fixes. When code is modified, moved, or deleted, the unit test must be edited to reflect that change and then re-run.

    Project Management Benefits:

    • Identifies software bugs early in the development process.
    • Provides documentation for each piece of code.
    • Provides short feedback loop.
    • Helps integration testing run more smoothly.