A soft parse occurs when a session attempts to execute a SQL statement and a usable version of the statement is already in the shared pool, so the statement can be executed immediately. The hard parse is the opposite and an expensive operation. When the soft parse ratio falls much below 80%, investigate whether you can share SQL by using bind variables or force cursor sharing by using the init.ora parameter cursor_sharing (new in Oracle8i Release 8.1.6). Available values are:
ValueComment
exact Only Statements with identical text are allowed to share a cursor (Default)
similiar Statements that may differ in some literals but are otherwise identical are caused to share a cursor, unless the literals affect either the meaning of the statement or the degree to which the plan is optimized (I recommend this for e.g. a low soft parse ratio or high library cache getmiss ratio).
force Even statements that may differ in some literals but are otherwise identical are forced to share a cursor, unless the literals affect the meaning of the statement (since this also means the optimizer cannot predict precise selectivity you should think twice before using this)
Since this parameter is dynamic, you may use ALTER SYSTEM to change its value without restarting the instance.

But before drawing any conclusions, compare the soft parse ratio against the actual hard and soft parse rates shown in the Loads Profile. If the rates are low, parsing may not be a significiant issue in your system. Furthermore, investigate the number of Parse CPU to Parse Elapsed below. If this value is low, you may rather have a latch problem.