The Agile Manifesto is a set of guiding values and principles for software development that prioritize collaboration, flexibility, and customer satisfaction. It was created in 2001 by a group of software developers who were dissatisfied with traditional, rigid project management methodologies, and sought to create a more adaptive and iterative approach to software development.

The Agile Manifesto consists of four key values and twelve principles that embody the core philosophy of the Agile approach. Here's a detailed explanation of each value and principle:

Values:

1. Individuals and interactions over processes and tools:

This value prioritizes people and communication over rigid processes and tools. Agile teams focus on building strong relationships, collaboration, and effective communication, rather than relying solely on processes and tools to manage their work.

1. Working software over comprehensive documentation:

This value emphasizes the importance of delivering working software to customers as quickly as possible, rather than spending too much time on documentation. Agile teams prioritize delivering value to customers through software that works and meets their needs.

1. Customer collaboration over contract negotiation:

This value prioritizes collaboration and engagement with customers throughout the software development process, rather than relying solely on contract negotiations. Agile teams work closely with customers to understand their needs, preferences, and feedback, and to ensure that the software they deliver meets those needs.

1. Responding to change over following a plan:

This value emphasizes the importance of being flexible and adaptive to change, rather than following a rigid plan. Agile teams recognize that change is inevitable in software development and embrace it as an opportunity to learn, grow, and improve their software.

Principles:

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

This principle emphasizes the importance of delivering value to customers as quickly as possible, and incorporating their feedback throughout the development process.

1. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

This principle emphasizes the importance of being flexible and responsive to changing requirements and customer needs, and seeing change as an opportunity for improvement.

1. Deliver working software frequently, with a preference to the shorter timescale.

This principle emphasizes the importance of delivering working software frequently, in short iterations, to quickly provide value to customers and incorporate their feedback.

1. Business people and developers must work together daily throughout the project.

This principle emphasizes the importance of collaboration between business stakeholders and developers throughout the project, to ensure that the software meets business needs and customer requirements.

1. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

This principle emphasizes the importance of building and supporting motivated, self-organizing teams, and trusting them to deliver high-quality software.

1. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

This principle emphasizes the importance of open communication and face-to-face interactions within the team, to ensure that everyone has a clear understanding of the project goals and requirements.

1. Working software is the primary measure of progress.

This principle emphasizes the importance of delivering working software as a key indicator of progress, rather than focusing solely on metrics such as lines of code or hours worked.

1. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

This principle emphasizes the importance of sustainable development practices that enable teams to maintain a constant pace of work over time, and avoid burnout and exhaustion.

1. Continuous attention to technical excellence and good design enhances agility.

This principle emphasizes the importance of technical excellence and good design practices in enabling teams to deliver high-quality, adaptable software.

1. Simplicity--the art of maximizing the amount of work not done--is essential.

This principle emphasizes the importance of simplicity and avoiding unnecessary complexity in software design and
애자일 선언문은 협업, 유연성, 고객 만족을 우선시하는 소프트웨어 개발의 가치와 원칙을 제시하는 일련의 지침입니다. 2001년 기존의 경직된 프로젝트 관리 방법론에 불만을 품고 소프트웨어 개발에 대한 보다 적응적이고 반복적인 접근 방식을 모색하던 소프트웨어 개발자 그룹에 의해 만들어졌습니다.애자일 선언문은 애자일 접근 방식의 핵심 철학을 구현하는 네 가지 핵심 가치와 열두 가지 원칙으로 구성되어 있습니다. 다음은 각 가치와 원칙에 대한 자세한 설명입니다:가치1. 프로세스와 도구보다 개인과 상호 작용:이 가치는 경직된 프로세스와 도구보다 사람과 커뮤니케이션을 우선시합니다. 애자일 팀은 업무 관리를 위해 프로세스와 도구에만 의존하지 않고 강력한 관계, 협업, 효과적인 커뮤니케이션을 구축하는 데 중점을 둡니다.1. 포괄적인 문서보다 작동하는 소프트웨어:이 가치는 문서화에 너무 많은 시간을 소비하기보다는 고객에게 최대한 빨리 작동하는 소프트웨어를 제공하는 것이 중요하다는 점을 강조합니다. 애자일 팀은 작동하고 고객의 요구를 충족하는 소프트웨어를 통해 고객에게 가치를 제공하는 것을 우선시합니다.1. 계약 협상보다 고객 협업:이 가치는 계약 협상에만 의존하지 않고 소프트웨어 개발 프로세스 전반에 걸쳐 고객과의 협업과 참여를 우선시합니다. 애자일 팀은 고객과 긴밀히 협력하여 고객의 요구, 선호도, 피드백을 파악하고 제공하는 소프트웨어가 이러한 요구 사항을 충족하는지 확인합니다.1. 계획에 따라 변경에 대응합니다:이 가치는 경직된 계획을 따르기보다는 변화에 유연하게 대응하고 적응하는 것의 중요성을 강조합니다. 애자일 팀은 소프트웨어 개발에서 변화가 불가피하다는 것을 인식하고 이를 소프트웨어를 배우고, 성장하고, 개선할 수 있는 기회로 받아들입니다.원칙1. 가치 있는 소프트웨어를 조기에 지속적으로 제공함으로써 고객을 만족시키는 것을 최우선으로 합니다.이 원칙은 고객에게 가능한 한 빨리 가치를 제공하고 개발 프로세스 전반에 걸쳐 고객의 피드백을 반영하는 것의 중요성을 강조합니다.1. 개발 후반부라도 변화하는 요구 사항을 환영합니다. 애자일 프로세스는 고객의 경쟁 우위를 위해 변화를 활용합니다.이 원칙은 변화하는 요구사항과 고객의 요구에 유연하게 대응하고, 변화를 개선의 기회로 보는 것의 중요성을 강조합니다.1. 작동하는 소프트웨어를 단기간에 우선적으로 자주 제공합니다.이 원칙은 고객에게 신속하게 가치를 제공하고 고객의 피드백을 반영하기 위해 작동하는 소프트웨어를 짧은 반복으로 자주 제공하는 것의 중요성을 강조합니다.1. 비즈니스 담당자와 개발자는 프로젝트 기간 내내 매일 함께 작업해야 합니다.이 원칙은 소프트웨어가 비즈니스 요구 사항과 고객 요구 사항을 충족하는지 확인하기 위해 프로젝트 전반에 걸쳐 비즈니스 이해 관계자와 개발자 간의 협업이 중요하다는 점을 강조합니다.1. 동기 부여가 있는 개인을 중심으로 프로젝트를 구축합니다. 개발자에게 필요한 환경과 지원을 제공하고 그들이 작업을 완수할 수 있도록 신뢰합니다.이 원칙은 동기를 부여하고 스스로 조직하는 팀을 구축 및 지원하고 고품질 소프트웨어를 제공할 수 있도록 신뢰하는 것이 중요하다는 점을 강조합니다.1. 개발팀 내부와 외부에 정보를 전달하는 가장 효율적이고 효과적인 방법은 직접 대면하는 대화입니다.이 원칙은 모든 사람이 프로젝트 목표와 요구 사항을 명확하게 이해할 수 있도록 팀 내에서 열린 커뮤니케이션과 대면 상호 작용의 중요성을 강조합니다.1. 작동하는 소프트웨어가 진행 상황의 주요 척도입니다.이 원칙은 코드 줄 수나 작업 시간과 같은 지표에만 초점을 맞추지 않고 진행 상황의 주요 지표로서 작동하는 소프트웨어를 제공하는 것의 중요성을 강조합니다.1. 애자일 프로세스는 지속 가능한 개발을 촉진합니다. 스폰서, 개발자, 사용자는 일정한 속도를 무기한 유지할 수 있어야 합니다.이 원칙은 팀이 시간이 지나도 일정한 작업 속도를 유지하고 번아웃과 소진을 피할 수 있도록 하는 지속 가능한 개발 관행의 중요성을 강조합니다.1. 기술적 우수성과 좋은 디자인에 대한 지속적인 관심은 민첩성을 향상시킵니다.이 원칙은 팀이 고품질의 적응형 소프트웨어를 제공할 수 있도록 기술적 우수성과 좋은 디자인 관행의 중요성을 강조합니다.1. 단순성, 즉 불필요한 작업량을 최대화하는 기술은 필수적입니다.이 원칙은 소프트웨어 설계에서 불필요한 복잡성을 피하고 단순성의 중요성을 강조합니다.