F. , G. Ashby, A. M. Isen, and A. U. Turken, A neuropsychological theory of positive affect and its influence on cognition, Psychological Review, vol.106, issue.3, p.529, 1999.

K. Beck, Smalltalk Best Practice Patterns, 1997.

K. Beck, Extreme Programming Explained: Embrace Change, 2000.

K. Beck, Test-driven development: by example, 2003.

K. Dorst and N. Cross, Creativity in the design process: co-evolution of problem???solution, Design Studies, vol.22, issue.5, pp.425-437, 2001.
DOI : 10.1016/S0142-694X(01)00009-6

M. Fowler, Refactoring: Improving the Design of Existing Code, 1999.
DOI : 10.1007/3-540-45672-4_31

M. Fowler, Opportunistic refactoring, 2011.

M. Fowler and J. Highsmith, The Agile manifesto. Software Development Magazine, pp.29-30, 2001.

E. Ralph, W. F. Johnson, and . Opdyke, Refactoring and aggregation, Object Technologies for Advanced Software, First JSSST International Symposium, pp.264-278, 1993.

A. Kay, STEPS toward expressive programming systems, 2010 progress report submitted to the national science foundation, 2010.

A. J. Ko, B. A. Myers, M. J. Coblenz, and H. Aung, An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks, IEEE Transactions on Software Engineering, vol.32, issue.12, pp.971-987, 2006.
DOI : 10.1109/TSE.2006.116

Y. Lim, E. Stolterman, and J. Tenenberg, The anatomy of prototypes, ACM Transactions on Computer-Human Interaction, vol.15, issue.2, pp.1-27, 2008.
DOI : 10.1145/1375761.1375762

B. Meyer, Object-oriented Software Construction, 2000.

F. William and . Opdyke, Refactoring Object-Oriented Frameworks, 1992.

M. Perscheid, B. Steinert, R. Hirschfeld, F. Geller, and M. Haupt, Immediacy through Interactivity: Online Analysis of Run-time Behavior, 2010 17th Working Conference on Reverse Engineering, pp.77-86, 2010.
DOI : 10.1109/WCRE.2010.17

P. Ralph and Y. Wand, A proposal for a formal definition of the design concept. Design Requirements Engineering: A Ten-Year Perspective, pp.103-136, 2009.

K. Schwaber and M. Beedle, Agile Software Development with Scrum, Alan R. Apt, 2001.

B. Shneiderman and C. Plaisant, Designing the user interface strategies for effective human-computer interaction, ACM SIGBIO Newsletter, vol.9, issue.1, 2009.
DOI : 10.1145/25065.950626

J. Sillito, G. C. Murphy, and K. D. Volder, Asking and Answering Questions during a Programming Change Task, IEEE Transactions on Software Engineering, vol.34, issue.4, pp.434-451, 2008.
DOI : 10.1109/TSE.2008.26

URL : https://open.library.ubc.ca/media/download/pdf/831/1.0052042/2

A. Herbert and . Simon, The sciences of the artificial, 1996.