Agile vs. Scrum
All of the arguments about whether Agile or Scrum are methodologies or frameworks or processes are not productive. If you go to the source (which I do below), then you find that Agile and Scrum are actually quite well defined, and the argument is less about Agile and Scrum and more about the definitions of methodology, framework, and process. This is complicated by the fact that these definitions and their usage vary from industry to industry. So, without getting into the argument about these definitions, let’s take a look at the defining texts of Agile and Scrum: the Agile Manifesto, the Scrum Guide™ (from the Scrum Alliance), and other writings of the founders of Scrum.
What is Agile? 4 Values and 12 Principles. The Agile Manifesto remains the defining document of what it means to be Agile ever since it was created by leaders in software development methodologies back in 2001. Here are the 4 values and 12 principles from the Agile Manifesto:
The 4 Values of Agile
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
The 12 Principles of Agile
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity–the art of maximizing the amount of work not done–is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
The Definition of Scrum
What is Scrum? A type of Agile development. Scrum, Lean Software Development, Extreme Programming, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, and Kanban are all types of Agile development to the extent that they follow the values and principles of Agile. Leaders in the software development community disagree over whether to call Scrum a framework or a process or a methodology. Whatever you call it, it is more specific and prescriptive than the Agile values and principles upon which it is based, yet it is still meant to be adapted and extended as needed for individual projects.
Scrum (n): A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.
Scrum is:
• Lightweight
• Simple to understand
• Difficult to master
Scrum is a process framework…not a process, technique, or definitive method. Rather, it is a framework within which you can employ various processes and techniques…Each component within the framework serves a specific purpose and is essential to Scrum’s success and usage.
(Ken Schwaber and Jeff Sutherland, The Scrum Guide™, November 2017)
The components of Scrum include:
- Pillars: Transparency, Inspection, Adaptation
- Values: Commitment, Courage, Focus, Openness, Respect
- Roles: Product Owner, Development Team, Scrum Master
- Events: The Sprint, Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective
- Artifacts: Product Backlog, Sprint Backlog, Increment
Although Scrum is defined as “not a definitive method”, it does prescribe its components as “essential”. That sure looks like what I would call a development methodology.