Causal Maps Reveal Developers’ Thought Processes

FAYETTEVILLE, Ark. - Jobs in some parts of the technology sector have disappeared, but there is a persistent shortage of software developers who can use the object-oriented (OO) approach. University of Arkansas researcher Deb Armstrong has found that there are significant cognitive differences that make it difficult for traditional procedural developers to switch to OO development.

"Our research indicates that the cognitive approach of procedural developers differs in both content and structure from that of OO developers," Armstrong explained. "Although OO development has many advantages, it is more complex and hierarchically structured, which may explain why it is very difficult for traditional developers to transition to OO development."

Armstrong, assistant professor of information systems, conducted her research along with V.K. Narayanan of Drexel University. She will presented their findings at the 2003 Annual Meeting of the Academy of Management in Seattle on Monday, Aug. 4.

Object-oriented development has many advantages for businesses, including shorter development time and easier maintenance. But OO development differs from the procedural techniques that most business software developers use and requires a substantial shift in thinking. If the developers are not well trained, the resulting "spaghetti code" can be a nightmare for businesses to use and maintain.

"Because there is a shortage of OO developers, organizations try to retrain their procedural experts in the OO approach," Armstrong said. "Although the internal developers have the business-specific knowledge necessary for successful OO development, transitioning existing developers to OO has not been easy."

To determine the differences in thinking between procedural and OO developers, the researchers used a technique called causal mapping. Although common in other disciplines, causal mapping has not been used previously in information technology (IT) research. It is a collection of techniques that can be used to assess and explain the mental models that form the way individuals think about a specific topic. The end-product is a revealed causal map (RCM). RCMs can be aggregated to show the cognitive structures of a group, which shows similarities in thinking about the topic.

They interviewed 17 expert procedural developers and 24 OO development experts. In the course of each interview, the researchers asked numerous "structural" questions (eg., "What is the first thing you do when you get a requirements document?") and "content" questions ("How do you know someone is an expert in OO development?") On the basis of the answers, the researchers developed a RCM for each individual, which graphically represents how each expert thinks about the programming method.

"As individuals develop expertise in an area, their knowledge structures converge," explained Armstrong. "We looked at the way expert developers approach the development process. By combining the causal maps, we could see that there was a specific way that all of the experts thought about the problem, and a common way that they approached OO development or procedural development."

According to Armstrong, analysis of the RCMs found that OO is more complex and there is less consensus about the concepts that characterize the approach. This means that for individuals to make the transition from procedural to OO development, they not only have to learn new information, but they have to organize that information in a completely different manner

"This implies that under current training conditions it may take many years and experiences in the OO approach to develop expertise," Armstrong added. "But organizations can’t wait five years to develop OO experts. Understanding the differences in the concepts and structures may lead to development of better learning materials and techniques."

Armstrong believes that this can help organizations retain their most experienced software developers. Making the acquisition of new skills easier can shorten the transition time between procedural and OO development expertise and ease the frustration for developers.

"We know that it is often difficult for experienced procedural programmers to make the shift to object-oriented programming, but no one has really looked at the cognitive aspects of the transition," explained Armstrong. "Once we understand how individuals think about software development from each mindset, we are in a better position to learn how to transition developers to the OO approach."

Contacts

Deb Armstrong, assistant professor of information systems, Walton College of Business, (479) 575-6158; darmstrong@walton.uark.edu

Carolyne Garcia, science and research communication officer, (479) 575-5555; cgarcia@uark.edu

News Daily