Agile - Methodology or Framework or philosophy
I have been trying to get an handle on Whether Agile is a Methodology or Framework or Philosophy
I have seen lots of posts where they say Agile is Project Management Methodology and Agile project management methodologies include scrum, extreme programming (XP), and lean, among others
By Defination - Methodology is “a system of methods used in a particular area of study or activity”
When i read the Agile Manifesto its all about the 4 values and 12 principles. It does not mention anything about it being a methodology . To me it looks like - Agile is a philosophy, A set of principles to guide you in the choices you make.
So why do people call it as an - Project Management Methodology
Secondly - Scrum is a Process Framework ( Scrum Guide) - Framework by defination - is a picture or a model that guides you to understand which artifacts you should produce when. It doesn't tell you what to do though. - its a skeleton
So then why is Scrum is considered as one of the Project Management Methodologies
Any thoughts to solve my doubts
in my experience proper naming standards and consistent definitions are very rare and perhaps only fully achieved in math. The best thing you can find in "real life" are small consistent islands. So if you're going really into the definitions you have to take care of "staying within your island".
The Scrum Guide is such an island.
About methodologies it says, Scrum "functions well as a container for other techniques, methodologies, and practices". And it doesn't go any further.
About agility it says, "The Scrum Master serves the Product Owner in several ways, including [...] understanding and practicing agility". And it doesn't go any further.
About framework it says, of course, multiple things as the Scrum Guide defines Scrum itself as a framework.
In my opinion, you can very well say, "Agile is a philosophy". But I'd say a framework can also be a methodology. Scrum tells you what to do. It just doesn't tell you how to do it. And that's the purpose of the underlying methods (which Scrum does neither name nor prescribe).
Though probably that deviates from the consistent island, i guess... :-)
> So why do people call it as an - Project Management Methodology
Because they are naive, or because their primary target audience is naive. (naive about Methodology vs. Framework or Agile/Scrum)
Agile provides methodologies through various framework to achieve values but not philosophy.
If you're a developer, you could say that Scrum is an interface to the Agile philosophy, mind-set, state of being, or however you prefer to describe it.
The Scrum events are the interface-methods. The artifacts, roles and values are the attributes. Each Scrum team's process is its own implementing class.
While the interface defines what needs to be done and what needs to be present, the implementation -how- is up to the team.
The culmination of the Sprint, the Retrospective, is like a review of the methods and planning for refactoring the methods in order to further optimize the attributes.
Okay, a little weird, but ...
It's defined as a framework but there is a definite philosophy behind it, as it emphasizes its five core values and goes beyond the simple structure of roles/events/artifacts and into a way of thinking and belief about how to accomplish goals.
Here is a video of what is Agile : https://www.youtube.com/watch?v=Z9QbYZh1YXY#t=1.227914
Agile is a Mindset & Scrum is a framework of tools to help achieve an Agile mindset.
To quote the awesome Clinton Keith, Scrum Jedi Master:
"Scrum has been called a “starting script” for agility, which means that the elements of Scrum are meant to be changed over time to reflect the continuing improvements made by different teams."
I see it as a direction. Like a point on a compass. Every time a business makes a decision to uncover better ways of developing software it uses the Agile values and principles to help steer it towards agility.
I recommend you take a look at the article: "Intro to agile". This guide is really simple and useful!
In a nutshell, agile is a risk-reducing strategy which uses short feedback loops as it's primary tool. That is the heart of agile. Then there are a lot of practices that typically help that along, like collaboration, self-organization, focusing on value etc. But if you have to boil agile down to one thing, I would say it's about avoiding the risk that is accumulated every second you don't close the feedback loop. The Scrum framework reduces the risk down to the length of a single sprint.
Agile is a mindset, Scrum is a framework
Agile is a philosophy. It contains no steps on how to do anything so it can't be a methodology. Part of the reason that many of the original signatories have claimed it failed is because people tried to turn it into more than it was intended.
Scrum is a framework. Why? Because it is not complete. It does not tell you how to do everything. It describes ways to accomplish some specific purposes (the Events) or items for specific uses (backlogs, increment). But it doesn't tell you how to do any of them. It gives general purposes, ideas but nothing specific. There have been many attempts to have it become a methodology but they have all been fought by Ken Schwaber and Jeff Sutherland. You can find multiple places where one or both of them have commented on this topic.
Part of why you see the mistaken references are because people either don't fully understand or they are trying to commercialize something.
Study the Agile Manifesto. Study the Scrum Guide. Study Empiricism which is the foundation for both. After you do that, it will start to become much more clear how all of them fit together to help you start to build processes, methodologies that "honor" them and are successful.
Agile is neither a methodology or a framework, meaning methodology or a process is much more complete and will specify how work should be done whereas a framework, on the other hand, is purposely incomplete ( like SCRUM, XP, Crystal). So agile is a set of principles and values.
SCRUM is agile whereas the vice-versa is not true. So SCRUM, XP, Crystal, TDD all fall under the umbrella of Agile adopting the principles and values. Hope this clarifies.
Agile provides methodologies through various framework to achieve values but not philosophy.
According to all suggestion and there is difference between all of them but what you can say about SDLC Methodologies.
Hi Edward. I looked at that link you provided and they have confused Agile with Scrum. If you replace the terminology, it may make a little bit more sense.
Something I learned that has always stuck with me, came from a presentation by Ahmed Sidkey (who is currently the Head of Business Agility at Riot Games). In his presentation, he did a great job of putting Agile into perspective.
I'm paraphrasing to the best of my ability but he explained it as, Agile is a mindset, described by 4 Values. Those values are defined into 12 Principles and using those principles, unlimited number of practices are manifested, some used as methodologies.
Hope that helps.
Agile is a mindset and Scrum is a framework
Agile is a philosophy and Scrum is a framework.
Agile is just a set of RULES and PRINCIPLES!!!!!!!!!!! period!
(Agile is not a a methodology, not a specific way of developing software, and not a framework or process!)
Agile as a noun is arguably unhelpful.
But (to me) being agile means being constantly able to move quickly in a controlled way, and that applies whether talking about an athlete or a business.
It's been more than 10 years since I learned the following definition of agile and agility in a book by Lindsay and Evans titled: Managing for Quality and Performance Excellence. (It's not managing quality but Managing FOR Quality)
Agile or agility is the term used to characterize flexibility and short cycle times.
I am yet to find anything more concise yet comprehensive describing agile or agility. This definition in my opinion is independent of industry, technology, and time, let alone it steers away from the debate whether it is a framework, mindset, or something else for that matter.
The Agile Manifesto is the roadmap to achieve flexibility and short cycle times.
Agile is a mindset, which means Agile is an end while Scrum is a means to achieving an agile mindset i.e Scrum is a means to achieving an end; end in this regard is Agility.
The fundamental difference between Agile and Scrum is that Agile is a development methodology and Scrum is one of the implementations of it.
Scrum is one of the agile methodologies designed to guide teams in the iterative and incremental delivery of a product. Often referred to as “an agile project management framework,” its focus is on the use of an empirical process that allows teams to respond rapidly, efficiently, and effectively to change. Traditional project management methods fix requirements in an effort to control time and cost; Scrum, on the other hand, fixes time and cost in an effort to control requirements. This is done using time boxes, collaborative ceremonies, a prioritized product backlog, and frequent feedback cycles. The involvement of the business throughout the project is critical as Scrum relies heavily on the collaboration between the team and the customer or customer representative to create the right product in a lean fashion. This paper provides an overview of Scrum and its use in project management.
Agile is not a process or methodology. Scrum is not a process or methodology
Agile is a mindset, philosophy or way of thinking that is comprised of a set of principles and values (as outlined in the Agile manifesto). It serves as an over-arching umbrella for practices and frameworks that embrace those values and principles, such as Scrum and Kanban.
Scrum is not referred to as agile project management, since Scrum is Product focused not project focused. That's why we have a Product Owner on the cross-functional Scrum Team not a project manager.
Scrum does not try to control software requirements. In Scrum Quality is not negotiable, scope is! Software resides in the complex domain and that means we have unknown unknowns and there is no obvious relationship between cause and effect. We can only figure it out in retrospect after an experiment (empiricism). This is why the Sprint Backlog can be re-negotiated with the Product Owner during the Sprint if new work is uncovered.
If you are following the rules and definition of Scrum as outlined in the Scrum guide, you should be producing a done usable increment at the end of every sprint.
I'm continually baffled at the endless job titles I see on job postings created by taking an existing job title (like project manager) and sticking "agile" in front of it. :(
Well put Eric.
Agile is simply a documented set of values and principles.
The term Agile and the Manifesto for Agile software development came from a group of 17 signatories writing down a set of values and principles derived from experiences in uncovering better ways of developing software. Those better ways of developing software were from practices and frameworks like Scrum and XP that were already in place before the Agile term was coined and the values and principles were documented.
I know I commented on this in 2018 but I have adjusted my view a little based on my new found knowledge (empiricism in action).
The word "Agile" is a marketing term used by many companies/individuals that have attempted to commercialize the Manifesto for agile software development. It's not a framework, philosophy, methodology, or anything else. It is plain and simple a term that references the ability to make money on set of values and principles.
The word "agile" is a verb that, according to Merriam-Webster means
1: marked by ready ability to move with quick easy grace -- an agile dancer
2: having a quick resourceful and adaptable character -- an agile mind
The Manifesto for agile software development provides 4 values and 12 principles that illustrate how an organization/person can be more agile.
Scrum is a framework. From the Scrum Guide
Scrum is a lightweight framework that helps people, teams and organizations generate value through adaptive solutions for complex problems.
It is not a methodology as defined by Merriam-Webster
a body of methods, rules, and postulates employed by a discipline : a particular procedure or set of procedures
because it does not provide methods, rules or procedures. There are many ways that an organization/person can be agile and it is up to them to decide what is best.
I agree with @Eric Bobo that Scrum is more product focused than development. The focal point is doing work that incrementally provides value to the stakeholders. It says nothing about how that work is done.
Also agree with putting the word "Agile" in a job title to make it special. I keep waiting to see that technique make into facilities management, purchasing, or education.
This is what i think regarding this topic.
Scrum is a philosophy:
And the scrum master is a philosopher:
If i summarize it in a different manner.
Agile relies on "Agile Manifesto" which is an "existentialist cry" : https://en.wikipedia.org/wiki/Existentialism
while Scrum relis on the "Scrum Guide" which is a structuralist approach: https://en.wikipedia.org/wiki/Structuralism
Agile isn't a methodology (or even a method).
This video explains really well why this is the case:
Scrum calls itself a framework but in practice is like a method as it provides a series of steps. If you compare the approach in scrum to a recipe , it's not entirely prescriptive and you can add things, but it's basically still a series of steps.
Scrum has become skinnier over the years and any "steps", such as they are, reduce to making commitments and meeting them. There are Scrum Events which provide formal opportunities to do certain things, but they are not necessarily the only opportunities.
The more we look for steps the more they seem to evaporate. At most you can expect incremental value delivery as a team learns to build the right thing at the right time.