It has been a long time since I have talked about project methodology. In fact, some of my earliest writings were about subjects like this. The problem as I see it is that this skill is very difficult to do because it is hard to see the endpoint. Too many service providers don’t do enough guiding the process with inexperienced clients. This leads to the ‘what do you want’ and ‘what can I get’ conversation.

I have never experienced this myself, but I hear that when people build a house and they start to see how the rooms are laid out, that is where the changes start. They start to see what could not be visualized in the design phase (the phase where changes are virtually free). I do have lots of experience in project execution when people see software and then the changes start happening. This is a different medium but the same psychology.

Breaking out the old DVD player to play Christmas movies that we own got me thinking that we actually own another DVD player and a VCR to boot. They are relegated to taking up space in a cabinet that I could use the space for other things and they definitely fit the definition of techno junk. I might as well plumb them in my office where all old technology goes to die. Where else am I going to watch nine seasons of Dukes of Hazzard?

I took the Keyboard Video Monitor (KVM) switch out that I had the X-box hooked up to thinking that I would plug it directly into a TV when I get one. But now that I finally have my table built and all of my stereo equipment installed, the video games and video equipment can all fit in that space which means I need to make some network cables. That was the point of the previous two paragraphs.

I have a switch in my office. It is just a cheap, ten port, unmanaged switch. So, no big deal to plug some extra cables in. But, had I really had my design figured out from the get go, I would have run network drops to the back wall when I built my office. From there I could have run everything to my main switch and had a cleaner and simpler installation. Simpler is always more robust and better design anyway.

Design is only one component in the project lifecycle. Many people do not understand what it actually means. They confuse design or how things are going to be done with requirements or what needs to be done. I am not going to spend much time in requirements except to use a simple example.

Requirement – my office must have wired internet. Design could be one drop and a switch or a drop for every device that is going to be plugged in and what wall with how many ports per location. For good design to be possible, how the space is to be used plus what is going in the space and how it will be laid out is critical. This is hard work to figure out all of these variables.

Going back to houses again, they suffer from poor design. One of the reasons we have square footage bloat is because houses suffer from poor design. I am not sure when this changed but look at houses from the 1920s with built in book shelves and china cabinets and linen drawers. These things make a huge difference in making small homes more livable. Homes without these amenities use free standing furniture to accomplish these goals and subsequently cut into the livable floorspace. It is my contention that if I could custom build a house, I could easily live with a much smaller space, if well designed.

One last anecdote. I have often said that software should be created by what data the reports need to display. Too often, when you start from requirements by the time you get to the end we are left with how to collect data points needed to generate report data. If we started with the data we needed, the requirements would handle themselves and the design would be bridging the gaps.

End Your Programming Routine: Even though I didn’t get thoroughly into it, learn the difference between requirements and design. Also, learn the different job aspects between who does what. If you knew those things, then you would know who is supposed to be doing what as well as hopefully making changes at the time when they are cheap. I am not going to go run new data lines into my office because it is too time consuming. But, had I known what I wanted when I did it, I sure would have done it.