Software Development

Websites

Application & tools

Software Coaching

Tools

Definition

In this section we are taking about Desktop Software. Desktop Software in contrast to Web application are the typical "Programs" you usually install on your PC. But also within the Desktop Software there are very different groups.

  • Scripts & Batch files           (Non-Expert-systems)
  • Console tools                   (Non-Expert-systems)
  • Desktop tools                   (Non-Expert-systems)
  • Windows applications      (Expert-systems)
  • Enterprise applications    (Expert-systems)

In general the differentiation between tools and applications is for practical reasons in many companies defined as:

Tools = Non-Expert systems
Applications = Expert systems

This distinction is quite of importance for any company developing or deploying Custom made software, as Expert systems are many times more expensive to maintain then Non-Expert-systems. In this context Expert systems are defined as "Systems which reflect in algorithmic form the topic knowledge of Experts".

This sounds not dramatic, but in reality this creates in many company sizable amounts of problems:

Example:
Let's say the Accounting department of a company has many "Foreign exchange" transactions and is securing the Foreign exchange exposure through "financial hedging" (Hedging is a risk reduction strategy whereby investors and traders take offsetting positions in an instrument to reduce their risk profile). This topic is a complex topic for which usually the treasurer of the company has an expert to handle it.

In general if processes are stable and are always repeated in the same manner, then they are naturally good candidates for building an tool/application for it. Now in the case of "Hedging" the complete set of decision rules and expertise needs to be "encoded" in the application in order to replace the Expert. Doing this is often a valid and effective step, but leads more often then not to the fact that the replaced expert leaves the company and with him/her also the knowledge leaves. The company at that time does not feel a negative effect as the application handles the transaction.

Now the real problems starts when there is a change in the "hedging rules". The company approaches the programmer/Software department and requests the implementation of the change. The rude awakening comes when the programmer requests the clear definition of the effect on the system, as he naturally is not a finance expert, but a software-engineer, knowing how to translate changes into code. At this point it becomes clear that the Expert is missing who designed the underlying "Decision process system".

The example should show clearly that Expert systems need 2 kind of people. The topic expert system process designer, who needs to be an expert in the related topic field, and a software expert who can translate the system-process-design in automated code. It also should make clear that an complete and separated Process-documentation of the system process design needs to be established besides the "technical documentation" of the Application.

Tools  on the other side do not need "Experts" to design the process as tool are the implementation of generally well understood processes in the knowledge realm of software engineers. E.g. a copy utilities, File-synchronization tools, File-converters, Database-utilities....

Of course the reality is not always that clear and it take some experience to make the right groupings, but it is essential to make them as they have profound implication on the operation.

AgooThai can provide in this field the following services:
  • Software development of Non-Expert systems
  • Scope statement development of Expert and non-expert systems.
  • Assessment of software situation in the company with recommendation of possible changes
( Contact us)