Grounded Theory is a methodology to produce theory based on empirical data. Instead of starting with a well defined hypotheses, GT starts with an area of study and inductively derives a theory from the data gathered around that area. So, the purpose is not to prove a theory, but to generate one.
GT was developed by Barney Glaser and Anselm Strauss and published in [1].
Phases
GT can be roughly decomposed in 5 parts (which are not totally sequential):
1. Get data to analyse. This of course implies having defined an area of study and ways to collect data.
2. Analyse the data. This is itself composed of several parts:
2.1. Open coding. Go through the data, line by line, and assign conceptual codes to the it. This is done without much worries about what might be important or not.
2.2. Selective coding. After the core variables have emerged, you can selective coding only around those variables instead of everything. This phase may require more data to be gathered.
2.3. Theoretical coding. Theoretical coding deals with relating codes with each other, finding their relationships. This is done at a higher level of abstraction than the open codes.
3. Memos. Memos are ideational notes the analyst takes when analyzing and that are the main output of the analysis phase. Memos are taken at any time to record an idea about what codes mean or how they relate, about hypotheses, etc.
4. Sorting. Sorting the memos into a logical order to create a theory. Not all memos need to be integrated. Sorting requires a definition of a core category. Memos that have no relation to the core category should not be integrated, they can be kept for another publication (another perspective on the data).
5. Write down. Write the theory.
Approaches
Glaser and Strauss diverged in how to conduct grounded theory and now we frequently hear about the Glaserian approach and the Straussian approach. I think they differ mostly on the theoretical coding part. In [2], Glaser describes 18 families of codes (and accepts other families) that can be used to relate the concepts. Strauss, in [3], uses "axial coding" which is a coding paradigm that revolves around conditions, context, action/interactional strategies, and consequences.
A good text to read about more practical advice and on the differences between the Glaserian and the Straussian approaches is [4].
References
1. Glaser, B. and Strauss, A. The Discovery of Grounded Theory: Strategies for Qualitative Research. AldineTransaction, 1967.
2. Glaser, B.G. Theoretical Sensitivity: Advances in the Methodology of Grounded Theory. Sociology Press, 1978.
3. Strauss, A.L. and Corbin, J.M. Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. Sage Publications, 1990.
4. Urquhart, C. An Encounter with Grounded Theory : Tackling the Practical and Philosophical Issues. In Qualitative research in IS. IGI Publishing, 2001, 104-140.