Cost of Maintaing Applications
Since applications exist for much longer than the time to develop
them, the cost to maintain them can be greater than the cost to
develop them. A well built application will have a reduced maintenance
cost.
When estimating and building applications, designers and implementors
concentrate on "when things go right". The problem is
that in a well built application more than 50% of the code deals
with "when things go wrong." At Invantix we take this
in to consideration up front which not only allows us to complete
the application on time, but reduces production downd time and
costs. When these issues are not addressed applications will go
down more often. On top of this, when they do go down it is harder
to diagnose the problem.
Here is an example. A website goes down and the users are seeing
Java:NullPointerException. The
administrator checks the logs and sees Java:NullPointerException
in com.xxx.util.EmployeeFinder
98.
The administrator calls the programming team to find out what happens
in the code of that class. The whole process takes more that 15
minutes.
On the other hand with good exception handling, logging, and proper
checks and flows in the code the system would most likely not go
down. In the event it did the message would be more clear: Could
not find employee:Exception communicating to database: Database
unavailable. Now the administrator knows to talk to the
database group rather than the programming group. Also a more
friendly usre
message would be created for the user.
Our Exception handling, logging, messaging, and other components
are designed with these comcepts in mind. Because we can reuse
these components on new projects, the time to build the application
is not significantly increaced when building for "when things
go wrong."
|