Software development processes are inherently complex and require the collaboration and coordination of expert teams. The acquisition of both analysis and design competences as well as social skills should thus be the leitmotiv of courses devoted to software engineering learning. However, these aspects are often ignored and excessive importance is attached to the implementation stage. The learning framework described in this article was designed to teach students these competences and skills by means of an immersive learning experience where, working in a team, each student has to play the role of a software developer and address problems linked to requirements specification, design, and the software development process as a whole. Collaborative strategies of this kind have proven to be very successful in active learning processes, to which we have added continuous assessment mechanisms based on rubrics to provide early feedback to students. Additionally, and taking into account the characteristics of the new European Space for Higher Education, we have designed an online personal learning environment (PLE) that facilitates anytime-anywhere communications and provides a suitable social space for the exchange of information, which is crucial to the success of any teamwork effort. More specifically, we propose a learning activity based on Web 2.0 services and adapted to this particular PLE.(c) 2012 Wiley Periodicals, Inc. Comput Appl Eng Educ 22:658-668, 2014; View this article online at ; DOI