Agile – Any way of working that adheres to the tenets of the Agile Manifesto. Agile web development is based on iterative development, allowing for just-in-time-planning at the beginning of each sprint, and the highest value items being worked on first. The teams are self organizing and cross functional. The iterative approach minimizes risk by having something to show to stakeholders after each sprint and allowing the team to adapt to stakeholder requests and changing requirements.
Agile Coach – Individual who teaches or mentors the teams who implement Agile. The goal of an Agile coach is to help teams to produce the best results by practicing Agile.
Agile Manifesto – Statement of core Agile beliefs.
“Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.”
Agile Anti-Pattern – Way of working that is NOT Agile, but seems to be a common mistake that people make. Examples include: “We didn’t have time for QA in the sprint, so we’re doing it after the sprint.” “My ScrumMaster/Product Owner/Manager assigned me this task.”
Artifacts – Tangible items developed as part of an Agile/Scrum practice: e.g., Burndown Chart, Product Backlog, Sprint Backlog.
Burndown Chart – This chart is updated each day, typically by the ScrumMaster. Its purpose is to be a public and highly visible representation of remaining time/work in the sprint.
Daily Check-in / Daily Stand-up / Daily Scrum – A very short time-boxed meeting (usually 15 minutes) in which the scrum team answers the following questions: “What did I accomplish yesterday?”, “What will I do today?”, “Do I have any blockers impeding my progress?” Ideally, this meeting takes place daily, is at the same time and location, and all team members attend.
Definition of Done – A clear list of tasks or requirements that must be completed before an item can be called done. It is created by the team and should not change during a sprint.
Iteration – A cycle of time in which some portion of a project’s sum deliverables are completed, often measured in accordance with the Sprint timeline. Iterative release is a technique used to maximize efficiency and keep work focused on the project’s objectives.
Kanban – An Agile framework in which the Product Owner can slate tickets throughout the cycle, negotiating with the project team on the size of tickets, since the number of tickets in a Kanban cycle is fixed. The team must collectively limit the amount of work in progress, eliminating bottlenecks, and track the timing of tickets’ progress.
Lean – The core idea is to maximize customer value while minimizing waste (including unnecessary practices, documentation, etc.) to deliver quickly. The idea comes from Lean Manufacturing and has manifested into Lean software development and Lean business practices (The Lean Startup book).
Minimum Viable Product (MVP) – An MVP is a learning tool (NOT beta product) to determine if a business idea is actually worth pursuing. It is an experiment — a feature or a collection of “just enough” features to be deployed and assessed, but no more. An MVP’s value is in the feedback that can be gathered to understand what the audience actually needs. It’s important to note that the MVP often does not take the form of built software, but rather can be a conceptual model intended to facilitate discussion. (Further reading: The disposable MVP, Ignite Talk by Lean Start Up Machine)
Primary Constraint – The parameter that the Product Owner has determined is most important and least mutable: Budget, Scope, or Timeline. Once it is defined, the project will be managed to this primary constraint, which could impact the other two parameters.
Product Backlog – The known list of the user stories, outcomes, requirements, tasks, and bug fixes that remain to be completed for the project. The Product Owner prioritizes the backlog so that the team always works on the most valuable features first. It is ever-changing and growing as business needs change and as new technology becomes available.
Product Owner (PO) – The Product Owner represents the voice of the stakeholder and holds the vision of the outcomes on their behalf. This person ensures that the Scrum Team works on the features and functions that bring the most value to the organization. The Product Owner owns the Product Backlog and is the subject-matter expert, with comprehensive knowledge about the business value that each part of the product will create for the organization.
Prototype – A model for the testing of a concept and clarification of objectives, released for review early in the development process. There are several variants of prototyping, which are not necessarily mutually exclusive with most Drupal projects, as some components could be featurized and re-used (evolutionary) and others might be throwaway.
Rapid/Throwaway Prototype: A working model of various parts of the system at a very early stage, after a relatively short investigation. The method used in building it is usually quite informal, the most important factor being the speed with which the model is provided. The model then becomes the starting point from which users can re-examine their expectations and clarify their requirements. When this has been achieved, the prototype model is ‘thrown away’, and the system is formally developed based on the identified requirements.
Evolutionary Prototype: The main goal when building an Evolutionary Prototype is to build a very robust prototype in a structured manner and constantly refine it. The reason for this is that the Evolutionary prototype, when built, forms the heart of the new system, and the improvements and further requirements will be built.
Parallel Prototyping: A product is built as separate prototypes. At the end the separate prototypes are merged in an overall design.
Scrum – An iterative project framework within Agile. The framework defines roles (ScrumMaster, Product Owner and Scrum Team), artifacts (Product Backlog, Sprint Backlog, Burndown chart), and timeboxed rituals (daily stand up, sprint planning meeting, sprint review meeting, Sprint).
ScrumMaster – Certified ScrumMasters (CSMs) help project teams properly use Scrum, increasing the likelihood of the project’s overall success. CSMs understand Scrum values, practices, and applications and provide a level of knowledge and expertise above and beyond that of typical project managers. CSMs act as “servant leaders,” helping the rest of the Scrum team work together and learn the Scrum framework. CSMs also protect the team from both internal and external distractions.
Sprint – The basic unit of development in Scrum; a timeboxed effort preceded by a Sprint Planning Meeting and followed by a Sprint Retrospective. Usually 2, 3, or 4 weeks in length, determined at the outset.
Sprint Backlog – This is a subset of the Product Backlog and is defined as the work that is to be accomplished within the current sprint. The Product Owner will identify the top priorities from the Product Backlog and the team agrees which items from there they can bring to the Sprint Backlog. The items brought over are then broken down by the development team into smaller tasks if necessary and the Sprint Backlog is prioritized. No items can be added or removed from it once the sprint starts. Not everything in the Sprint Backlog may get completed in the sprint, although it is the intent.
Sprint Board – A Trello board that contains the cards of a particular Sprint’s backlog, and allows the Scrum Team to track progress from inception of work, through QA and bugfix, to “done”. The board may make reference to, but should not include, the entire Product Backlog.
Sprint Planning Meeting – A meeting between the Product Owner and Scrum Team, during which the PO elects tickets/cards from the Product Backlog for inclusion in the Sprint (precondition being a backlog comprised of annotated and estimated tickets/cards). The team asks clarifying questions during this meeting in order to be able to estimate the work and write implementation plans.
Sprint Review / Demo: A timeboxed meeting in which the completed work delivered in a sprint is demonstrated.
Sprint Retrospective: A timeboxed meeting in which the work performed and delivered in a past sprint is evaluated, and possible improvements to the team’s practices are identified (hypothesized).
User Acceptance Testing – The process by which a representative of the client team follows an explicit set of steps to test the requirements of the ticket in order to mark it “Done”.
User Epic – A group of related user stories
User Story – One or two sentences in everyday language that captures the who, what and why of an Independent, Negotiable, Valuable, Estimable, Small, Testable (INVEST) requirement: e.g., “As a <role>, I want to <goal>, so that <benefit>”.
Velocity – Describes how much work a scrum team can accomplish in a sprint. The longer a team works together, the more efficient they become. The scrum team can look at past sprints to gauge how much work is likely to be accomplished in a sprint.
Work in Progress (WIP) – A partially finished task or ticket. Limiting WIP items increases the velocity at which an item passes through a system.
Resources To Know
Agile Alliance – The Agile Alliance is a nonprofit organization with global membership, committed to advancing Agile development principles and practices. Agile Alliance supports those who explore and apply Agile principles and practices in order to make the software industry more productive, humane and sustainable.
International Consortium of Agile (ICAgile) – An organization founded to drive high-quality, credible Agile education that teaches professionals to approach Agile in any context, rather than training to follow a specific methodology (Scrum, XP, etc).
Scrum Alliance – The Scrum Alliance is a non-profit organization offering resources, certifications, training, and support for individuals and organizations in Scrum.