[project-management] How different is Scrum practice from Agile Practice?

Mostly people say Scrum and Agile interchangeably but what is the difference between Scrum Practice as compared to Agile Practice ?

This question is related to project-management agile scrum methodology

The answer is


Agile is the practice and Scrum is the process to following this practice same as eXtreme Programming (XP) and Kanban are the alternative process to following Agile development practice.


Agile and SCRUM are related but distinct. Agile describes a set of guiding principles for building software through iterative development. Agile principles are best described in the Agile Manifesto. SCRUM is a specific set of rules to follow when practicing agile software development.


Agile is a platform and scrum is a methodology to follow. Scrum recommends certain practices to be followed. Some of the basic scrum practices are following.

  • Fixed length Scrum/Releases.
  • Suggested meeting Structures (Release planning meeting, Sprint planning meeting, Sprint Review and Sprint Retrospective meetings)
  • Scrum also recommends roles. Following are the roles recommended by Scrum.

     - Scrum Master
     - Developer Team
     - Product Owner
    

The Scrum, just like other Agile methodologies follow iterative approach.

Following are some other Agile methodologies.

  • Extreme Programming.
  • Agile unified process
  • Dynamic System Development Method (DSDM)
  • Feature Driven Development (FDD)
  • Lean Software Development
  • Kanban
  • Scrum-ban

There are many scrum tool in the market. Yodiz is one of them that we use.


Comparision of Agile to Scrum is similar to comparision of organism to one organ.

Scrum suggests the way of management while it doesn't prescribe everything what is necessary to do to be able to react fast on changes. Only by adding other agile techniques like continuous integration, extreme programming, test driven development your teams will be able to deliver products not just fast, but also product that customer wants with great quality.


Scrum is a type of Agile method just like an apple is a type of fruit. Scrum is not the only Agile method though. The popular ones are:

  • Scrum
  • eXtreme Programming (XP)
  • Kanban

I'm sure there are more Agile methods but these are what I have experience with.


Scrum comes under bigger umbrella called Agile. Kanban, eXtreme Programming (XP), Lean are said to come under Agile too.

My personal experience is: there is no separate word called "Agile Practice". Best practices exercised in SCRUM, XP may be cumulatively called as Agile Practice.

The following practices are visible in both XP and SCRUM, hence in Agile.

  1. User Story as Client requirement
  2. Pair Programming
  3. Test Driven Development (TDD)
  4. Team based estimation
  5. Refactoring
  6. Simple Design
  7. Evolutionary Design
  8. Retrospective
  9. Daily Stand up meeting
  10. Continuous Integration of code
  11. Client Demo etc.

For more details, you may wish to go through my blog: http://chandrimachoudhury.blogspot.in/


Scrum falls under the umbrella of Agile. Agile isn't Scrum but Scrum is Agile. At least that's the way PMI sees it. They are coming out with their own certification. See Agile Exam Questions


Agile is not a methodology, embracing the agile manifesto means adopting a particular philosophy about software development. Within that philosophical perspective, there are many processes and practices. Scrum is a set of practices that follow agile principles. Many people grab onto the practices and processes without embracing (or even understanding) the underlying philosophy and they often end up with gorillarinas.


As mentioned Agile is a set of principles about how a methodology should be implemented to achieve the benefits of embracing change, close co-operation etc. These principles address some of the project management issues found in studies such as the Chaos Report by the Standish group.

Agile methodologies are created by the development and supporting teams to meet the principles. The methodology is made to fit the business and changed as appropriate.

SCRUM is a fixed set of processes to implement an incremental development methodology. Since the processes are fixed and not catered to the teams it cannot really be considered agile in the original sense of focus on individuals rather than processes.


As is mentioned, Agile is a methodology, and there are various ways to define what agile is. To a large extent, if it involves constant unit testing and the ability to quickly adapt when the business needs change then it is probably agile. The opposite is the waterfall method.

There are various implementations that are codified by consultants, such as Xtremem Programming, Scrum and RUP (Rational Unified Process).

So, if you are using Scrum then you can switch between agile and scrum depending on if you are talking about the methodology or your implementation. You will want to see if the terms are being used correctly, by the context.

For example, if I am talking about the 15 min standup as part of my agile process, that is not necessarily needed to be agile, but scrum almost requires it, so when you interchange the terms, it is important to differentiate between the two concepts.


Scrum is a very specific set of practices. Agile describes a family of practices, everything from Extreme Programming to Scrum and almost anything else that uses short iterations can claim Agile. That may not have originally been the case when the term was coined, but it certainly is by now.


Agile is commonly regarded as an umbrella term. Scrum/Kanban are executions of Agile guiding principles from a project management perspective, whereas eXtreme Programming (XP) focuses on the engineering practices e.g., Unit Testing, Continuous Integration, Pair Programming etc.

Typically: Agile = Scrum + XP