Science, technology and business are increasingly dependent on software. This trend is driven by increasing system size, complexity, diversity and flexibility and the obligation for tailored integration of end-users, processes and evolving technologies. The complexity scale of current systems exceeds our current understanding of systems engineering and the number of system parameters to be controlled as part of the overall design process exceeds the performance of the associated tools and techniques we are using. This leads to excessive costs for software maintenance and system degradation over its lifetime. The tools and techniques must evolve to take into account this increasing systems, software and architecture scale and complexity. Software intensive systems must be flexible to accommodate a range of requirements and operating conditions, and capable of evolving to allow these parameters to change over time. Software Engineering approaches to reusability and maintenance must cope with the dynamics and longevity of future software applications and infrastructures, e.g., for the Future Internet, e-commerce, e-health, and egovernment. The EternalS project is developing a roadmap for the next two decades to inspire a research agenda for software and systems engineering to help address these issues. This paper presents some of the key issues outlined above, the roadmapping process and some of the key findings to date.