views:

53

answers:

3

Most software-development buzzwords of the past few years, have been at times labeled either a methodology or a practice.

I never really thought of this before, but it always seemed to me that a methodology is the structuring (i.e. 'how'), of practices (i.e. 'what').

But if we take for example Agile and TDD, the former is commonly referred to as a methodology, fine, but TDD too, and since it is a part of Agile, in my reasoning this 'demotes' it to being a mere practice.

I could easily come up with more examples like this, especially involving 3-letters-acronyms that feature at least a letter D somewhere, but I hope that's enough to make my point.


I just happen to have stumbled upon a very interesting blog post by Ivar Jacobson on the subject

The software development community has been talking about practices in an informal way for a very long time – more than 50 years. In the way the community talks, a “practice” is just something that people do, a habit they have that may be good, or perhaps not good. Talking about practices in this way makes for good conversation, but it is hard to figure out how to combine good practices into something meaningful.

I like to talk about practices in a more precise way, so I will refer to these as Practices (with a capital ‘P’). With a more precise definition we can do some interesting things: we can combine them (or compose them) in interesting ways, and we can separate them to allow us to replace a practice with a better one. Precise Practices are practical, because they are much easier to learn and adopt than learning and adopting a method or process. They ”are as simple as possible but not simpler” to quote Einstein.

Practices remove the need to have one single monolithic, all-encompassing method or process. In the Practice world a method is just a set of separate but complementary Practices. This reduces the complexity of improving processes – it can be improved a Practice at a time.

To sum up my understanding thus far, a practice is an actual activity that can be pinpointed as something that you actually DO.

On the other hand a method, or methodology, or process, is more abstract, as in philosophy, being a way to combine practices over time, in order to succesfully deliver a software product.

Anyone agrees with this?

+2  A: 

A short answer could be: methodology is be a series of steps you perform to develop a project from start to end, while practices are little pieces of wisdom you apply over the life of your project to make it have more chances of success. It would be similar to the difference between strategy and tactics.

Konamiman
+1  A: 

For my part:

Methodology is the how we want to work. Practice is how (when the the methodology is applied) we do work.

Kindness,

Dan

Daniel Elliott
Insightful indeed.
CesarGon
A: 

I agree!

Methodology -> Nice, Intelligent, Obvious, Complete, Logical, Shinny and Amazing codes of conduit built with Slides and Pretty Pictures

Practice -> Dirty, Oh My God, No Time To Do, Incomplete, Over the Heels, Patched Up way of doing things that Actually, Almost, Kinda Works, Its Time To Read the Shinny Methodology Book Again and Feel Good About It

Rui

related questions