With Resilience defined as well as IT systems
defined let us now combine the two and study the issue of Resilience of IT
systems.
To recapitulate, a resilient system was defined as one
that exhibits the following characteristics
1.
The relationship between Time & Effort spent
(and therefore cost) to make a change and the number of changes is more or less
a linear function of the latter. A mathematical representation of this
can be Y (effort) = aX(number of changes) + b and Z(time) = cX (number
of changes) + d
2.
The Value of "a" and Value of
"c" is small. That is there is only a small increase in effort
or time with every additional change introduced in the system
On the other hand an IT system was defined as a
collection of programs that model the behavior of real world elements under
different conditions. An IT system simulates the real world system by
changing the observable values of IT elements (behaviors) as the inputs (conditions)
are modified.
Real world systems are subjected to continuous
change.
Since IT systems are a representation of the real
world systems they also need to change as the real world systems change.
Changes to the IT systems require changes to the programs. It is after
all the programs that simulate the real world systems.
A resilient IT system then is one where changes can
be made to the programs without much expenditure of effort and where the amount
of effort required to make changes does not increase with number of changes.
To build a resilient IT system, it is important to
understand what are the factors that lead to greater amount of time to be spent
by programmers in making changes.
The greater the complexity of a system the greater
the time it will require to make a change. Complexity is the biggest single cause of loss of
resilience. Complexity requires programmers to expend significant amount
of time and effort to understand the full impact of the changes being
contemplated by them.
Complexity can have two sources (1)
Intrinsic complexity: The complexity inherent in the system being digitized (2)
Extrinsic Complexity: complexity in the way that the system has been digitized
If complexity is the single
biggest cause of loss of resilience then complexity-reduction has to be the
solution to building resilient systems.
No comments:
Post a Comment