• Orit Hazzan
  • Yael Dubinsky
Part of the Undergraduate Topics in Computer Science book series (UTICS)


Software development is a learning processsoftware development process . This statement can be explained both from the customers’ and team members’ perspectivesperspective perspective . At the beginning of the development process customers do not know explicitly and entirely what their requirements for the developed product are, but improve their understanding with respect to these requirements during the development process. The team members keep improving their understandingunderstanding of the customer requirementsrequirements as well as of the developed product. If software development is a learning process, an appropriate learning environment should be provided to all project stakeholders. Indeed, this is another characteristic of agile software development environments—they support leaning processes. This aspect is explored in this chapter by an examination of agile software development environments from the constructivistconstructivist perspectiveperspective .


Team Member Software Development Reflective Process Software Development Process Short Iteration 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. Derby E,Derby E Larsen D,Larsen D Schwaber KSchwaber K (2006) Agile retrospectives: making good teams great. Pragmatic BookshelfGoogle Scholar
  2. Dijkstra EWDijkstra EW (1972) Notes on structured programming. In: Dahl OJ, Hoare CAR, and Dijkstra EW (eds) Structured programming. Academic Press, New YorkGoogle Scholar
  3. Eckstein JEckstein J (2004) Agile software development in the large—diving into the deep. Dorset House Publishing, New YorkGoogle Scholar
  4. Hamlet D,Hamlet D Maybee JMaybee J (2001) The engineering of software. Addison Wesley, Reading, MAGoogle Scholar
  5. Hazzan O (2002) The reflective practitioner perspective in software engineering education. J Syst Software 63(3):161–171CrossRefGoogle Scholar
  6. Hazzan O, Tomayko JTomayko JE (2003) The reflective practitioner perspective in eXtreme programming. Proceedings of the XP agile universe 2003, New Orleans, Louisiana, USA, pp 51–61Google Scholar
  7. Kerth NKerth N (2001) Project retrospective. Dorest House PublishingGoogle Scholar
  8. Leron U,Leron U Hazzan O (1997) Computers and applied constructivism. IFIP WG g.1. Information and communications technologies in school mathematics. Working conference—secondary school mathematics in the world of communication technologies: learning, teaching and the curriculum. Grenoble, France, pp 195–203Google Scholar
  9. Piaget JPiaget J (1977) Problems of equilibration. In: Appel MH, Goldberg LS (1977) Topics in cognitive development, volume 1: equilibration: theory, research and application. Plenum Press, New York, pp 3–13Google Scholar
  10. Schön DASchön DA (1983) The reflective practitioner. BasicBooksGoogle Scholar
  11. Schön DASchön DA (1987) Educating the reflective practitioner: towards a new design for teaching and learning in the profession. Jossey-Bass, San FranciscoGoogle Scholar

Copyright information

© Springer-Verlag London 2008

Authors and Affiliations

  • Orit Hazzan
    • 1
  • Yael Dubinsky
    • 2
  1. 1.Department of Education in Technology and Science TechnionIsrael Institute of TechnologyHaifaIsrael
  2. 2.Department of Computer Science TechnionIsrael Institute of TechnologyHaifaIsrael

Personalised recommendations