Skip to Main Content
Empirically studying the incremental software development process could provide some insights on the cognitive process and the knowledge involved. In this study, we conducted a case study on incremental software development with ten pairs of intermediate programmers. We applied the dialog-based protocol to collect the data, and the self-directed learning as an encoding scheme to analyze the empirical data. The case study demonstrated that during incremental software development, programmers applied the four constructivist activities (absorption, reorganization, denial and expulsion) to design and implement the program. The programmers spent more absorption activities at comprehension and application levels of Bloom's taxonomy, indicating that they need more time in learning the knowledge. There are fewer examples of reorganization, denial and expulsion in general and all of them do not appear at synthesis and evaluation levels, which differ from program debugging in which all the six Bloom's levels appear.