I had an interesting, and somewhat profound (at least to me) realization about my former employer, last night. I realized that I never — not
To those who may not be familiar enough with the general concept of a software life-cycle, there are various phases which can be (roughly) mapped to the most common life-cycle of biological entities. The phases are (again, roughly, and using my own terms for things) as follows:
- Conception (Genesis)
- Planning (Gestation)
- Launch (Birth) — actually a transition point rather than a phase
- Prototyping (Early Childhood) — exploratory
- Primary Development (Late Childhood) — directed growth
- Pre-Release cleanup or "QA testing" (Puberty) — transition phase
- Release (Majority) — again, a transition point rather than a phase
- Maintenance (Adult) — mature and stable in final form
- Legacy (Elderly) — soon to be replaced / recycled
- End Of Life (Death) — just what it sounds like
The key point to take away here is that in a sane, healthy software product, a large portion of the life cycle should be spent in the "Maintenance" phase, as mature software that may need some upkeep, but by and large does the job it was created to do and does not undergo massive changes (see also yesterday's commentary about software maturity).
Qwest IT has no such state. As soon as a product has stopped active development, it goes straight to "being replaced / about to die", with no span in between wherein the product that was supposedly written is actually *in use* by anyone who is not dedicated to actively replacing it. In fact, frequently the primary development stage is terminated by a forcible transition into that state.