A software methodology consists of rules and practices for creating the computer programs. Heavyweight methodologies have a lot of such rules and practices, and many documents are produced as a result of applying these methodologies. Following these methodologies requires discipline and time, i.e. they are bureaucratic.
In the last few years some new methodologies have emerged as a reaction to these disciplined methodologies. These are known agile (or lightweight) methodologies. An agile methodology has not too much rules and practices to follow. It lies between no process and too much process, it provides just enough process. In this seminars, the agile methodologies will be introduced, their advantages and disadvantages in comparison to heavyweight methodologies will be discussed and then current researches in this area will be mentioned.