Agile development and Scrum development are terms frequently heard in software development, but many people find their differences and relationship confusing. This article explains their respective definitions, relationship, and main differences.
What is Agile development?
Agile development is a software-development method first proposed in the late 1990s. The Manifesto for Agile Software Development, published in 2001, states the following values.
1. Value individuals and interactions over processes and tools
2. Value working software over comprehensive documentation
3. Value customer collaboration over contract negotiation
4. Value responding to change over following a plan
At the heart of Agile is responding flexibly to changing requirements and environments through continuous feedback and rapid reactions.
What is Scrum development?
Scrum is an Agile development framework. It is a methodology for proceeding with software development based on specific roles, events, and artifacts.
• Roles: Scrum Master, Product Owner, and Development Team
• Events: Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective
• Artifacts: Product Backlog, Sprint Backlog, and Increment
Relationship between Agile and Scrum
Scrum development gives concrete form to roles, processes, management methods, and other elements in order to implement Agile principles. In addition to small-team operations, methods and branches developed for large-team operations continue to emerge. System-development projects involve specialists from many fields and often multiple companies; specifying concrete methods has greatly increased their feasibility.
In summary, Agile provides ideas and principles for making software development more flexible and efficient, while Scrum is a framework for putting those Agile ideas into concrete practice. Adopting Scrum enables development based on Agile principles to proceed effectively.
