A problem software companies seem to battle with is software or code rot. It happens when software suffers from a lack of updates over a period of time with respect to the environments it's used in. It can cause the software to become unstable, loose performance or become irrelevant. Advancements in technology (frameworks, languages, environments) can speed deterioration in the software's relevance, usability and innovation. (Software does not physically deteriorate.)
Software rot can be addressed through the use of refactoring which entails rewriting existing code to make it relevant by updating it's code framework, making it compatible for new Operating Systems, etc. without changing its purpose.
Software can face deterioration over time but still be used in which case it is generally referred to as legacy software, not software rot. Quite a few programs
Software Rot
Posted by Chris Kenst at 11:33 AM 0 comments
Labels: Terminology
The Difference between a CIO and CTO
My roommate and I were debating the difference between a CIO and CTO. The Wikipedia entry for CTO, under Contrast with Chief Information Officer says "The focus of a CTO may be contrasted with that of a CIO in that, whereas a CIO is predisposed to solve problems by acquiring and adapting ready-made technologies, a CTO is predisposed to solve problems by developing new technologies. In practice, each will typically blend both approaches.
In an enterprise whose primary technology concerns are addressable by ready-made technologies, a CIO might be the primary representative of technology issues at the executive level. In an enterprise whose primary technology concerns are addressed by developing (and perhaps productising) new technologies, or the general strategic exploitation of intellectual property held by the company, a CTO might be the primary representative of these concerns at the executive level."
Do you agree with that? I do agree that depending on the company, one role may be a little more relevant than the other and in practice each will blend their approaches. When I've worked for larger companies the CIO role is more typical and working for smaller software development shops the CTO role is more typical. Perhaps a CTO role is a bit more organic since they help develop technology while the CIO is the more prepackaged technology. I guess that means a CIO is more likely to use and implement software that is proven while a CTO is more likely to experiment or develop in house.
Either way it's an interesting distinction that would really set apart those in the IT management industry who some day hope to be in a position like this.
CIO = Chief Information Officer
CTO = Chief Technology Officer
Tuesday, April 28, 2009
Posted by Chris Kenst at 6:32 PM 0 comments
Labels: Terminology
