Question: Does static methods and class are good for scalability ? I think so static class/method improves scalability of application and instance methods doesn't scales much. So is it good programming practice to write static method where ever it is possible ?

Answer: 
No. I think you may be assuming that each instance has its own copy of the method definition, taking up that amount of space for each instance, which is not the case.

Editing to add:

In case you wonder how an instance method can be actually shared between the instances: It is because each call to an instance method implicity passes a reference to the instance object to the method. This is generally referred to as the "implicit this" In other words - when you define or call an instance method with two parameters like myMethod(a, b), you can think of it as actually being myMethod(this, a, b), and Java takes care of the this parameter for you, without your having to explicitly define or pass it.

(This, by the way, is handled differently in Python, where you have to explicitly put the object reference in as the first parameter of an instance method definition, though not in the call.)

For an explanation of what goes on at the Java bytecode level here's a link:
<http://www.artima.com/underthehood/invocationP.html>
(See stuff around: "The objectref is the implicit this pointer that is passed to any instance method.")
Voted down. The OP clearly doesn't quite understand OO. An instance method doesn't take up any extra space when an instance object is created. Static methods aren't going to save you anything unless you're also avoiding creating any instances, in which case you're going so far afield from what an OO language was built for that it's sort of pointless discussion.