Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/raedan/public_html/textpattern/lib/txplib_db.php on line 14
State of Flow: How to Solve It!::journal

How to Solve It!

Channing Walton - Sunday February 12, 2006

In How to Solve It, George PĆ³lya describes a method of solving mathematical problems which I think can help users, analysts and developers in their work.

George Pólya was a mathematician born in Budapest in 1887. In 1945 he wrote How to Solve It (amazon.co.uk | amazon.com), a classic introduction to mathematical problem solving. In it, he describes a simple process which is applicable to all kinds of problem solving, not just mathematics.

Writing software is a process of continuously solving problems at many levels of abstraction. Users need to understand what they want, analysts need to figure out the details of the user’s needs, and developers need to understand both the user and the analyst, and solve the problems (and contradictions) they present.

Its often very difficult for people who do not spend every minute of their working day solving problems, to tackle the problems presented to them by complex software development. It takes years of active and reflective practice to develop those skills.

I think Pólya’s work could help to start users, analysts and developers off on the right track.

Pólya’s Method

First: Understand the Problem

Second: Devising a Plan

Third: Carrying Out the Plan of Your Solution

Fourth: Looking Back

Pólya’s Method in Software Development

Its obvious that Pólya’s Method can be used in the process of writing software itself, but how can users and analysts use it?

I would like to suggest the following…

First: Understand the Problem

Second: Devising a Plan

Third: Carrying Out the Plan of Your Solution

This is the job of the software developers, carrying out the solution is done by writing tests and making them pass.

Fourth: Looking Back

This is critical, how can anything be learnt without reflection? In software the steps above can be carried out after devlopment has completed their work:

Finally, Pólya had the following to say in How to Solve It, which has relevance to the software practitioner:

The first rule of discovery is to have brains and good luck. The second rule of discovery is to sit tight and wait till you get a bright idea.