The Reflective Software Engineer: Reflective Practice

July/August 2014

IEEE Software magazine cover

The capacity to reflect on past practice is important for continuous learning in software development. Reflection often takes place in cycles of experience followed by conscious application of learning from that experience, during which a software developer might explore comparisons, ponder alternatives, take diverse perspectives, and draw inferences, especially in new and/or complex situations. Such reflective practice has been shown in different disciplines to be an effective developmental practice for organizations, for teams, and for individuals. The guest editors of this special issue on reflection describe the concept in general and the selected articles in particular. Read full article »

About IEEE Software

IEEE Software offers pioneering ideas, expert analyses, and thoughtful insights for software professionals who need to keep up with rapid technology change. It's the authority on translating software theory into practice.

Articles from IEEE Software

Coderetreats: Reflective Practice and the Game of Life

Coderetreats: Reflective Practice and the Game of Life

A coderetreat is an event where software developers gather to explore their craft in an informal yet intellectually challenging environment, freed from the daily pressures of deadlines and the need to deliver completed artifacts. This article describes results from a coderetreat experiment, providing a context within which multiple aspects of self-reflection and motivation can be developed. Read full article »

Embedding Reflection and Learning into Agile Software Development

Embedding Reflection and Learning into Agile Software Development

Using the Reflective Agile Learning Model (REALM), agile teams can establish regular process maintenance and opportunities for process evolution to continuously improve practice. Read full article »


IEEE Software Seeks Editor in Chief for 2015–2016 Terms

The IEEE Computer Society seeks applicants for the position of editor in chief of IEEE Software, serving two-year terms starting 1 January 2015.

Prospective candidates are asked to provide (as PDF files), by 1 March 2014, a complete curriculum vitae, a brief plan for the publication's future, and a letter of support from their institution or employer.

For more information on the search process and to submit application materials for the following titles, please view the application requirements or contact Brian Brannon at


Free podcast series: On Computing by Grady Booch, Doc List on Software Trends by Steven "Doc" List, Software Requirements Talk by Neil Maiden, and Tools of the Trade by Diomidis Spinellis.

Call for Papers:

All IEEE Computer Society magazines are being published in ePub format.


Visit Software's multimedia page for more podcasts and videos »

Podcast: Software Engineering Radio

Software Engineering icon

Anil Madhavapeddy on the Mirage Cloud Operating System and the OCaml Language
Robert talks to Dr. Anil Madhavapeddy of the Cambridge University (UK) Systems research group about the OCaml language and the Mirage cloud operating system, a microkernel written entirely in OCaml.

Podcast: On Computing

On Computing icon

The Big Questions
Author Grady Booch provides an audio recording of his On Computing column, in which he discusses the big questions whose answers shape the systems with which we engage.

Welcome: Forrest Shull