… in 2001 at Utah’s Snowbird ski resort, 17 software developers got together to discuss lightweight software development methods and produced the groundbreaking Agile Manifesto…
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
That is, while there is value in the items on the right, we value the items on the left more.
Agile is a methodology for project management that emphasizes flexibility, collaboration, and rapid iteration. It is based on the Agile Manifesto, a set of values and principles for software development.
The key principles of Agile include customer collaboration, responding to change, delivering working software frequently, and valuing individuals and interactions over processes and tools.
Scrum is an Agile framework that provides a structured approach to project management. It involves working in short sprints, with regular meetings and reviews to track progress and make adjustments as needed.
A Sprint is a timeboxed period of work, typically 1-4 weeks, during which a team works on a set of tasks or user stories. At the end of each Sprint, the team delivers a working product increment.
The Product Backlog is a prioritized list of features or requirements for a project. It is maintained by the Product Owner and serves as a roadmap for the development team.
The Sprint Backlog is a list of tasks or user stories that the development team plans to complete during the current Sprint. It is created during the Sprint Planning meeting and is updated daily during the Sprint.
The Sprint Review is a meeting held at the end of each Sprint to review the progress made during the Sprint and demonstrate the working product increment to stakeholders.
The Sprint Retrospective is a meeting held at the end of each Sprint to reflect on the team's performance and identify areas for improvement. It involves reviewing the Sprint Backlog and discussing what went well, what didn't go well, and what could be done differently in the future. What is Continuous Integration?
Agile Alliance is a global nonprofit organization dedicated to promoting the concepts of Agile software development as outlined in the Agile Manifesto
The Disciplined Agile toolkit provides straightforward guidance to help organizations choose their way of working in a context-sensitive manner, providing a solid foundation for business agility.
SAFe for Lean Enterprises is a knowledge base of proven, integrated principles, practices, and competencies for Lean, Agile, and DevOps.
Agile Lifecycle Management (ALM) and Application Lifecycle Management (ALM) are two distinct approaches to managing software development projects, with some similarities and differences.
Agile Lifecycle Management refers to a set of practices and tools that support the Agile development process, from initial planning and requirements gathering to testing, deployment, and ongoing maintenance. The focus is on iterative, collaborative, and customer-centric development, with an emphasis on continuous improvement, flexibility, and adaptability. ALM typically involves the use of tools such as Agile project management software, version control systems, testing frameworks, and collaboration platforms.
Application Lifecycle Management, on the other hand, is a broader concept that encompasses the entire lifecycle of a software application, from conception to retirement. This includes not only the development phase but also requirements management, design, testing, deployment, and ongoing maintenance and support. ALM is often associated with more traditional development methodologies, such as Waterfall, which emphasize a linear, sequential approach to development and project management. ALM typically involves the use of tools such as requirements management software, project management software, version control systems, testing frameworks, and deployment automation tools.
While there are some differences between Agile Lifecycle Management and Application Lifecycle Management, they both aim to improve the efficiency, quality, and effectiveness of software development projects. Both approaches involve the use of tools and processes to manage the various stages of development, from planning and design to deployment and maintenance.
Application Lifecycle Management tends to be more structured and formal, while Agile Lifecycle Management is more flexible and adaptable to changing requirements and customer needs.
Backlog Refinement | Backlog refinement is when the product owner and some, or all, of the team examine backlog items to ensure they're appropriate, prioritized, and ready for delivery. |
Daily Stand-up | The daily stand-up is a brief check-in that allows the development team to share the current state of affairs and identify any roadblocks. |
Definition of done | The definition of done is an agreed-upon set of tasks needed to finish an iteration's product increment. |
Iteration | Development timebox. Most teams conduct 1-to-4-week iterations. |
Planning | Iteration begins with planning. Planning defines what can be accomplished in an iteration and how. |
Product Backlog | A product backlog is a list of the new features, changes to existing features, bug fixes, infrastructure changes, or other activities that a team may deliver to achieve a specific outcome. The product backlog is the single authoritative source for things that a team works on. |
Product increment | After a development period or timebox, a software product increment is produced. |
Retrospective | End-iteration retrospectives are held. The team reflects on the iteration and identifies improvements during the retrospective. |
Review | The review shows customers and stakeholders the team's iteration work and compares it to the initial commitment. |
Agile | A methodology for software development that emphasizes flexibility, collaboration, and rapid iteration. |
---|---|
Scrum | A framework for Agile project management that emphasizes small, cross-functional teams and short, iterative development cycles. |
Sprint | A short, time-boxed period during which a Scrum team works on a specific set of tasks and deliverables. |
Product Owner | The person responsible for defining and prioritizing the features and requirements of a product in Agile development. |
Scrum Master | The person responsible for facilitating the Scrum process and ensuring that the team is following Agile principles. |
Sprint Review | A meeting at the end of each sprint during which the team demonstrates the work that has been completed and receives feedback from stakeholders. |
Sprint Retrospective | A meeting at the end of each sprint during which the team reflects on the previous sprint and identifies areas for improvement. |
Backlog | A prioritized list of tasks, features, and requirements that need to be completed in order to deliver a product. |
User Story | A description of a feature or requirement from the perspective of the end user. |
Agile Manifesto | A set of guiding values and principles for Agile software development, emphasizing individuals and interactions, working software, customer collaboration, and responding to change. |
Kanban | An Agile methodology that focuses on visualizing work, limiting work in progress, and optimizing flow. |
Lean | An Agile methodology that emphasizes minimizing waste and maximizing value for the customer. |
Continuous Integration | The practice of merging code changes frequently and automatically, to ensure that the codebase is always functional. |
Continuous Delivery | The practice of delivering software changes frequently and automatically, to ensure that the software is always deployable. |
Retrospective | A meeting held at the end of a project or sprint to review what went well, what could be improved, and what actions should be taken in the future. |
Burn-Down Chart | A visual representation of the work remaining in a sprint or project, showing how much work has been completed and how much is left to do. |
Velocity | A measure of how much work a team can complete in a sprint, used to help plan future sprints. |
Stand-up Meeting | A daily meeting where team members discuss what they accomplished the previous day, what they plan to do today, and any obstacles they are facing. |
Epic | A large, high-level user story that is broken down into smaller, more manageable user stories. |
Sprint Planning | A meeting where the team decides what work they will complete during the upcoming sprint, based on the priorities in the backlog. |
Pair Programming | A practice in which two programmers work together on a single task or feature, with one person typing and the other person reviewing. |
Test-Driven Development (TDD) | A development approach in which automated tests are written before the code is developed, to ensure that the code meets the desired functionality. |
Acceptance Criteria | A set of conditions that a product or feature must meet in order to be considered complete and acceptable to stakeholders. |
Definition of Done (DoD) | A shared understanding among the team of what it means for a task or feature to be considered completed, including any necessary testing, documentation, and integration. |
Planning Poker | A technique used in Agile project planning to estimate the effort required for a task or feature, by assigning points based on the complexity and uncertainty of the work. |
Story Points | A relative measure of the effort required to complete a user story or task, used to estimate and plan work in Agile projects. |
Agile Coach | A person who supports and guides Agile teams, helping them to adopt Agile practices and principles and overcome any obstacles or challenges. |
Minimum Viable Product (MVP) | The smallest possible version of a product that still delivers value to the customer, used to test and validate assumptions and gather feedback. |
Incremental Delivery | A development approach in which working software is delivered in small, frequent releases, rather than waiting for a large, monolithic release. |
Retrospective Prime Directive | A statement used in Agile retrospectives to encourage open and honest discussion, by emphasizing that everyone is doing the best they can with the resources available. |
Sprint Goal | A clear and concise objective for the Scrum team to work towards during a sprint, to guide their efforts and align them with the product vision. |
Daily Scrum | A brief, daily meeting where the Scrum team synchronizes their work and progress, and discusses any issues or obstacles. |
DevOps | An Agile approach that emphasizes collaboration and communication between development and operations teams, to improve the speed and quality of software delivery. |
Product Backlog Refinement | An ongoing process of reviewing and updating the product backlog, to ensure that it remains relevant and reflects the current priorities and needs of stakeholders. |
Feature Driven Development (FDD) | An Agile methodology that focuses on developing features incrementally and iteratively, using a structured, step-by-step approach. |
Agile Modeling | A practice of using visual models and diagrams to support Agile software development, including process flow charts, data models, and user interface designs. |
Definition of Ready | A shared understanding among the team of what is needed in order for a user story or task to be considered ready to work on, including clear requirements, acceptance criteria, and any necessary dependencies or resources. |
Technical Debt | The accumulation of incomplete or suboptimal code or design decisions that can slow down development and impede future progress, unless addressed. |
Agile Estimating | A collaborative process of estimating the time, effort, and resources required to complete a task or feature, using techniques such as planning poker or relative sizing. |
Agile Transformation | A process of adopting Agile principles and practices across an entire organization, to improve collaboration, communication, and the speed and quality of software delivery. |
Refactoring | The process of improving the quality and maintainability of existing code, by restructuring it without changing its external behavior. |
Backlog Grooming | A collaborative process of reviewing and updating the product backlog, to ensure that it remains relevant, prioritized, and actionable. |
Sprint Review | A meeting held at the end of a sprint to showcase the work completed, gather feedback from stakeholders, and determine the next steps. |
Sprint Retrospective | A meeting held at the end of a sprint to reflect on the process and outcomes, identify areas for improvement, and make adjustments for the next sprint. |
Story Mapping | A technique for visualizing and organizing user stories, features, and requirements, to help prioritize and plan development efforts. |
Value Stream Mapping | A tool for identifying and optimizing the end-to-end process of delivering value to customers, by visualizing the flow of work and identifying areas of waste or inefficiency. |
Lean Startup | An Agile approach to entrepreneurship and innovation, emphasizing rapid experimentation, customer feedback, and iterative development. |
Mob Programming | A collaborative approach to software development, in which a team works together on a single task or feature, with everyone contributing and sharing knowledge. |
Refinement Meeting | A regular meeting where the team discusses and clarifies upcoming user stories or tasks, to ensure that they are ready to be worked on in the next sprint. |
Scrum Master | A facilitator and coach for the Scrum team, responsible for guiding the process and removing any obstacles or impediments. |
User Persona | A fictional representation of a user or customer, used to better understand their needs, goals, and behavior. |
User Story | A simple, concise description of a feature or requirement, written from the perspective of the user or customer. |
Definition of Ready | A shared understanding among the team of what is needed in order for a user story or task to be considered ready to work on, including clear requirements, acceptance criteria, and any necessary dependencies or resources. |
Definition of Done | A shared understanding among the team of what it means for a user story or task to be considered completed, including any necessary testing, documentation, and integration. |
Agile Release Train | A framework for scaling Agile practices across multiple teams and departments, by coordinating their efforts and aligning them with a common goal. |
Scaling Agile | A process of adapting Agile practices and principles to larger, more complex projects or organizations, to maintain agility while achieving greater efficiency and coordination. |
Continuous Improvement | A core principle of Agile, emphasizing the ongoing pursuit of better processes, products, and outcomes, through reflection, experimentation, and adaptation. |
Sprint Backlog | A prioritized list of tasks or user stories that the Scrum team plans to work on during a sprint, based on the priorities in the product backlog. |
User Acceptance Testing (UAT) | A process of testing a product or feature with real users or customers, to ensure that it meets their needs and expectations. |
Agile Manifesto | A set of four values and twelve principles that underpin Agile development, emphasizing collaboration, flexibility, and customer value. |