Thinking Styles and Software Engineering
|
|
Ted Neward and James Strachan write about their observations of techies and modelers. This reminded me about a paperback that I had read in High School titled "The Art of Thinking". Essentially it described 5 styles of thinkers:
The Synthesist: Sees likeness in apparent opposites, interested in change
The Idealist: Welcomes broad range of views, seeks ideal solutions
The Pragmatist: Seeks shortest route to payoff: ?Whatever works,?
The Analyst: Seeks ?one best way,? interested in scientific solutions
The Realist: Relies on facts and expert opinions, interested in concrete results
People would gravitate to any one or combinations of these styles of thinking. It's very similar to the Personality Types introduced by Myers and Briggs. In fact, I participated once in a short experiment that compared different software engineering teams made up of different combinations of personality types. We took a Myers-Briggs test to identify our personality types, we were then organized in three teams to develop an object model. It turns out that having the right combination of personality types in your team can greatly influence success or failure. Matter of fact, this may be even more important than the talent or experience of members of your team. I'm just surprised that personality testing isn't used more often when forming software development teams.
Could the modeler be more of a Idealist-Analyst, and the coder a Pragmatist-Realist? What combinations of thinking styles are best for a team? If you want to explore this further, I found an article on the web that discusses thinking styles and software engineering. Also, here's an Excel based test to figure out what kind of thinker you are.

