This paper presents agroecosystem analysis as a methodology for dealing with the complex interactions of agriculture and environment, and suggests that they should be understood as holistic systems. In contrast to farming systems research and integrated rural development approaches, the agroecosystem analysis approach developed here can deal with all levels in the hierarchy of agroecosystems, and focuses on trade-offs between different measures of performance. The linkages between agriculture and ecology, and key properties of agroecosystems are discussed. The key concepts and assumptions of agroecosystem analysis are introduced. This method of analysis is best conducted in multidisciplinary workshops. Pattern analysis (across space and time, of flows and decisions) is explained. Further sections deal with agroecosystem design, and technology assessment and development for a variety of situations, including pest management, multiple cropping, agroforestry, crop-livestock polyculture, soil ecology, social forestry, and non-agricultural production. The final section deals with implementation.