Agile methodology

Home > Computer Science > Software Engineering > Agile methodology

An iterative and incremental approach to software development, emphasizing flexibility and collaboration between developers and stakeholders.

Agile Principles: The core principles that guide Agile development; it emphasizes collaboration and adaptability, customer satisfaction, and the delivery of working software.
Scrum Framework: The most widely used method in Agile development for managing and controlling development processes. It involves team roles, team performance, ceremonies and artifacts.
Kanban Methodology: Also a common method in Agile practice, focuses on visualizing work processes to improve flow, including limiting work in process, continuous delivery, and constant improvement.
User Stories: Descriptions of the user requirements and system functionalities usually captured on index cards and used to drive development.
Agile Estimation and Planning: Techniques that allow Agile teams to estimate the size of work, prioritize it and plan to release features to customers.
Continuous Integration: Practices that promote frequent integration of new code contributions to the main codebase preventing long integration phases and improving software quality.
Agile project management tools: An array of applications and software that support planning, estimating and collaboration. Examples include Jira, Trello, Asana and Monday.com.
Agile Metrics: Measurement techniques that track team performance, quality, and predictability of software delivery. Examples include velocity, burn-down charts, lead times, and cycle times.
Agile Manifesto: The founding principle of Agile development that teams subscribe and attribute their practices to.
Agile ceremonies: Regular team meetings that assess progress, coordinate activity, and address blockages in development. The ceremonies include sprint planning, the retrospective, standups and demo meetings.
Extreme programming: An Agile methodology that emphasizes pair programming, test-driven development, continuous integration, and refactoring to improve software quality.
Agile testing: The practice of testing early and often to improve software quality and meet customers’ requirements. It includes techniques like acceptance testing, exploratory testing, and regression testing.
Lean Software Development: A methodology derived from Lean manufacturing principles that emphasizes the reduction of waste during development.
Agile Leadership: A leadership style that promotes self-organizing teams, continuous learning, and continuous improvement.
Agile contracts: Contracts that support Agile development by emphasizing collaboration, adaptability, and trust between partners.
Agile frameworks: A set of practices, techniques, and methods that are used to promote Agile development. Examples include SAFe, Nexus, LeSS, and DAD.
Agile transformation: The process of moving an organization toward Agile methodology - this usually involves adopting Agile values, training, and reorganizing teams to support Agile principles.
Agile UX Design: The designs that follow Agile methodology to allow inclusiveness throughout the development process, allowing continuous interaction with the end-users.
DevOps and Agile integration: Building and running software using Agile methodology and DevOps practices to ensure continuous integration and better software delivery.
Emergence of Agile methodologies: The emergence of various Agile methodologies highlights how individuals or teams evolve to create better processes while taking into account the unique challenges, opportunities, and drawbacks of the Agile method of choice.
Scrum: A framework that involves a self-organizing team that collaborates in small iterations called sprints to deliver a product incrementally.
Kanban: A visual framework that focuses on continuous delivery and workflow management to ensure faster and smoother delivery of products.
Lean: A framework that eliminates waste and increases efficiency in the software development process.
Extreme Programming (XP): An Agile methodology that focuses on the customer by delivering quality software continuously.
Crystal: An Agile methodology that focuses on adapting to the environment and customer needs by allowing for a more fluid approach to software development.
Dynamic Systems Development Method (DSDM): An Agile methodology that emphasizes the importance of user involvement and continuous communication throughout the software development process.
Feature Driven Development (FDD): An Agile methodology that concentrates on the features of the software and the business needs of the client.
Adaptive Software Development (ASD): An Agile methodology that emphasizes the fact that software development is an unpredictable process and provides a framework that can adapt to changes in the software development lifecycle.
"In software development, agile practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/end user(s)."
"Agile practices are carried out through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/end user(s)."
"The 2001 Manifesto for Agile Software Development popularized agile practices and values."
"These values and principles were derived from and underpin a broad range of software development frameworks, including Scrum and Kanban."
"There is much anecdotal evidence that adopting agile practices and values improves the effectiveness of software professionals."
"There is much anecdotal evidence that adopting agile practices and values improves the effectiveness of teams."
"There is much anecdotal evidence that adopting agile practices and values improves the effectiveness of organizations."
"The empirical evidence is mixed and hard to find."
"Agile practices include requirements discovery."
"Agile practices improve solutions through the collaborative effort of self-organizing and cross-functional teams."
"Self-organizing teams play a role in agile practices."
"Agile practices involve cross-functional teams."
"The collaborative effort of agile practices involves teams with their customer(s)/end user(s)."
"The values and principles derived from the 2001 Manifesto underpin a broad range of software development frameworks, including Scrum and Kanban."
"Agile practices are popularized in the 2001 Manifesto for Agile Software Development."
"Scrum and Kanban are examples of software development frameworks based on agile values and principles."
"There is much anecdotal evidence that adopting agile practices and values improves the effectiveness of software professionals."
"There is much anecdotal evidence that adopting agile practices and values improves the effectiveness of teams."
"There is much anecdotal evidence that adopting agile practices and values improves the effectiveness of organizations."
"The empirical evidence is mixed and hard to find in the context of agile practices' effectiveness."