When I start a new job or consulting gig, the most common problem I encounter is lack of IT systems documentation. I often spend the first few weeks on the job doing reverse engineering, discovering as much as possible about the company’s systems. An opposite problem is too much documentation. Well, more precisely, too much bureaucratic documentation, much of it out of date. There’s a lot of documentation in place, but much of it is in the weeds, minutia about procedures, for example, with no clear architectural summaries. Documentation is hard to maintain, so much of what I find it horribly out of date –Read More →

Recently, I was working with a client’s systems administration team, and they were agonizing over timing a new application upgrade. They knew the upgrade was going to take hours (we’re talking Windows here, not Unix, sigh!), and did not want to interrupt business operations. They planned on a midnight upgrade, which would necessitate overtime, and require project managers, QA stage, and others to work overnight as well. “Wait, you’re on the cloud, right? Take advantage of cloud infrastructure and do your upgrade with zero downtime,” I remarked. Well, apparently this was novel to them, so I outlined a couple approaches my teams have taken inRead More →