Software engineering is a complex task. But although there is no silver bullet that guarantees accomplishing this task, appropriate methods can support the engineer by addressing the characteristics that make it complex. The objective of this paper is to evaluate whether and how the goal-oriented requirements engineering method KAOS addresses these characteristics of complex tasks and thereby, whether it effectively supports software engineering. For serving this purpose, we conduct a literature analysis, which discloses core concepts underlying to the KAOS method, and we apply KAOS in two software development projects, which provide insights into KAOS in use. Our results show that KAOS, despite of some shortcomings, addresses all characteristics, but that applying it can be work intensive. Consequently, while KAOS supports software engineering, provided support must be weigh up against invested work.