zondag 17 mei 2009
The cost of dead code
Once in a while I see this situation on the street. Thrash alinged around a garbage bin, somebody did an attempt to trow away his thrash but was too lazy to finish the job. 'Close but no cigar', so somebody else has got to finish the job, which in essence costs energy (and money).
In my job as a Software Architect I come across this behavior also a lot of times. Once in a while I've got to dust off an old application and investigate what the possibilities are for modernization or revitalization. Modernization ot revitalization comes down to, what can we do the extend the lifetime of an application for a couple of years more, and also be able to add agility, stability and new or changed business requirements to the application. It also helps identifying the roadmap for the future of the application. To make the roadmap for modernization there is a list of things to investigate, size of the application, the context in the application, complexity of the code, (future) business needs but also the amount of ´dead code´ in the application.
What is dead code? At one point in the history of the application functionality was removed or changed, but the actual code itself is still available in the application. For instance, a procedure which is not called anywhere in the application, a page which is removed from the menu, old functionality which is commented out, database objects that are not used anymore but still contain data etc etc. What you see here is scared or lazy behavior, scared as in 'I'm not sure if I removed or changed the right code', lazy as in 'I don't want to spend too much time'. The result is that the application is becoming like a jungle, you get lost in the dead wood. Making a change is getting more and more costly as a result of the increasing dead code. So let's change our behavior in the maintance phase, if functionality is not needed anymore just throw it away, like you would do with thrash in a garbage bin. When a proper versioning system is set up, you always can find the history back.
Abonneren op:
Reacties posten (Atom)
Labels
11G
ADF
Architceture
Architecture
BAM
birdwatching
BPMN
Business Process Management
Business Rules
Capgemini
Case Management
CEP
Coherence
CORA
cradle to cradle
crane
Data Grid
Data Refinery
Design
EDA
Event
Forms
Green label
IT
Modernization
Open Source
Open Standards
Oracle
Power grid of applications
Process
Revitalize
Risk
roadmap
SBA
SCA
SOA
Software Archeology
Software Engineering
Stability Based Architecture
Strategy
Sun
Sustainable society
unen
Vendor Based Technology
XML
About me
Link
- www.elzmiro.com
Geen opmerkingen:
Een reactie posten