The increasing complexity and unpredictability of many ICT scenarios let us envision that future systems will have to dynamically learn how to act and adapt to face evolving situations with little or no a priori knowledge, both at the level of individual components and at the collective level. In other words, such systems should become able to autonomously (i.e., self-) develop mental models of themselves and of their environment. Self-development includes: learning models of own capabilities; learning how to act purposefully towards the achievement of specific goals; and learning how to act in the presence of others, i.e., at the collective level. In this talk, I will introduce the vision of self-development in ICT systems, by framing its key concepts and by illustrating suitable application domains. Then, I will overview the many research areas that are contributing or can potentially contribute to the realization of the vision, and present some promising results from my research group. Finally, I will identify some key research challenges.