A collection of thoughts through
personal stories, experiences and shared content.
by Andrew Kuipers
I was reading the article In the Search of Code Quality by Jacek Sokulski today, and it had an interesting overview of the impact of our efforts to improve code quality by technical changes such as different languages or paradigms (eg: functional languages, concurrency via message passing, etc.) as well as development practice changes such as pair programming and code reviews. The results he looks at are surprising: for the most part these efforts have not resulted in improved code quality, although they have generally contributed to developer productivity. According to Sokulski, "The explanation of this phenomenon is based on the concept of target risk from psychology - people behave so that overall risk - called target risk - is on a constant level. When circumstances change people adapt their behavior so that the level of risk is constant." So instead of these technical and practice changes improving the quality of code developers write, it has instead allowed...