In my last posting, I talked about a Kubuntu Linux implementation in our ailing and aging computer lab. So we've lived with it for a while and we learned a few lessons. The most important actually has nothing to do, though, with whether or not we like Linux. Overall, it's pretty spiffy and the freeness factor makes one quite forgiving of various bugs and instabilities. Rather, the real lesson is that, even in the trenches of underfunded public education, we can't take any shortcuts on the SDLC. That's right, even here, standard lifecycle management techniques will ultimately save time, effort, and money.
As most of us know, it's hard enough to get professional programmers and project managers to write a good requirements document, let alone a bunch of high schoolers. Design docs? Test plans? Validation scripts? Forget it. However, we did step through a rudimentary version of the systems development lifecycle. We tested a few distros of Linux on a couple of computers before choosing one. We actually did write a requirements document as a class, although we kept getting hung up on "Free" and "Looks like Windows". We even put together some training documents for the other students who might be using a lab with an unfamiliar OS.
Where we started cutting corners was in long-term testing and validation. In the interest of time, once we picked a distro, I burned several CDs and turned the kids loose, installing Kubuntu throughout the lab. Had we conducted a regular, corporate-style, staged impelementation with a few champion users on a representative sample of the various systems in the lab and conducted rigorous testing and validation on the whole sample, we might have anticipated a number of serious problems.
For example, it appears that KDE (the desktop environment in Kubuntu) can be pretty flaky over time with certain older and/or onboard video cards. After about a week, several computers started running 600x480, never to return to the land of high res. Certain audio cards rendered the systems unusable. And some computers were unacceptably slow. Now we're looking at migrating to yet another distro to solve these problems and find something stable across the board.
So the lesson for today, kids, is that the SDLC gets hammered into our IT psyches for a reason - The effort and upfront time commitments pay big dividends down the road. Next time, I'll have another horror story for you: when superintendents handle an information system rollout (dramatic music plays)...