Fig. 9.1.6 The iterative approach.
One of the characteristics of the heuristic process is that at the beginning, it is impossible
to know how many iterations of redevelopment will be done. It just simply is impossible
to know how long the heuristic analytic process will take. Another characteristic of the
heuristic process is that the requirements may change very little or the requirements may
completely change during the life of the heuristic process. Again, it is impossible to know
what the requirements will look like at the end of the heuristic process.
Because of the iterative nature of the heuristic process, the development process is much
less formal and a lot more relaxed than the development process found in the classical
SDLC environment. The essence of the heuristic process is on speed of development and
the quick production and analysis of results.
Freezing Data
Another characteristic of the heuristic process is for the need for data to be “frozen”
from time to time. In the heuristic process, the algorithms that process data are constantly
changing. If the data that are being operated on are also being changed at the same time,
the analyst can never tell whether the new results are a result of the change in algorithms
or a change in the data. Therefore, as long as the algorithms going against the data are
changing, it is sometimes useful to “freeze” the data that are being operated on.
The notion that data need to be frozen is antithetical to other forms of processing. In
other forms of processing, there is a need to operate on the most current data possible. In
other forms of processing, data are being updated and changed as soon as possible. Such
is not the case at all in heuristic processing.
Fig. 9.1.7 shows the need to freeze data as long as the algorithms processing the data are
changing.
Chapter 9.1: Repetitive Analytics: Some Basics