Wednesday, 28 March 2007

Principles and Practice

Yesterday I heard the Lift Man in the office premices talking to one of the collegues on how to operate a lift.... whoa one lesson a day, and I know some operations already ofcourse with some access keys ;)

So the point here is how we confuse or differentiate in the 2 so very easy and often used terms called "Practice" and "Principles". Too often we don't understand what they mean and quite oftenly we derive them as we want... Now why the Hell is this topic in the PM Blog?? of so here is the reason why... 3 things I always feel are very important part of the Agile Teams... 1. Practice 2. Principles and 3. Values.Lot of you might or might not agree, but honestly I have heard wrong meanings so many times... I thought I would really clarify what it means: ...

Practice :- Something that we follow as routines, tasks that are repeated again and again and again ...

Principles :- Something I would say a set of ethical actions or laws defined ... obviously the would mean it as a Leader .... but the context we are using it doesnt really fit that to be described as a leader ;)

OK... so coming back how does the marriage between them works? So a practice is really something that is being carried on the basis of a defined principle... dont understand? To make sure you get the work done complete and in time you define a set of rules that needs to be carried away (that's principle !!!! Now you know?) and to achieve this goal of completing things on time you make sure you practice the principles that are laid down...

Now why I thought of writing this? Today I was trying to ask Savio about using the DB Units or Cactus with our application (they are extended from the JUnits and something we are trying to move towards to achieve the test Driven Development) and he made a statement that really triggered the feeling that there is something missing... I am copying the chat as it is
"Savio says : If we are thinking seriously of get the unit-tests working, then we need to first move the unit-tests to use a DB and to get rid of the mocks..."

It might not make right sense to you if you read it as it is .. the meaning has a deeper breadth.... To me it means that if you want to Practice the Unit Tests correctly .. you need to define the principles correctly .... Wow... what a success this is... The Fact that such a tricky thing is understood in such a clear word... what he said later is below:

"Savio says Only after that should we think of moving up stream and getting extensions like dbUnit and Cactus into the picture..."

Now it probably makes it clearer.

So the Rule of POLY BOLY says that Practice the principles and make sure that the principles are evaluated... only then Practices can produce something that can effect positive values...

Sameer Shaikh