This chapter describes some of the major problems in software development. It explains the concepts of the Model Driven Architecture (MDA), and discusses how MDA can help to solve these problems.