Taeg.ee;.g {age Web Site Follies Darnell Gadberry the current site seems to accomplish virtually all of the Phase I project objectives without requiring elaborate tools, sophisticated databases or fancy management applications. I have asked myself many times how such a simple project could go so wrong. I don't have any easy answers, but I do have some insights into what lead me astray: ¢ I did not fully understand the scope of the project or its Phase I requirements. This caused me to greatly overestimate the amount of processing needed to solve the problem. ¢ There is no such thing as a trivial programming project. Even if you think you have "done this one before" you still need to approach every problem with an open mind. Every application has far more hidden complexity than is obvious on initial examination. ¢ RAD methodologies are just tools and techniques designed to make you a more efficient developer. Programmer attitude and skill are far more important than exotic tools. ¢ Never underestimate your own ability to make any project at least 5 times more difficult than it actually needs to be. ¢ Formal design methodologies have a place in every software development project--use them. W hd:n C&S Editor Tom Jewett approached me with the ea of becoming the webmaster for the SIGCAS ITWorkplace 2000 project (C&S, Dec.'98, p.29), I literally jumped at the chance. I thought, "here is the opportunity to create a state-of-the-art website that would be used by students all over the world, work with the latest Rapid Applications Development (RAD) tools to create a sophisticated web application, and write a series of papers at the conclusion of the project." And finally, I would receive another 3 units of credit toward my MSCS degree. I asked myself, "how hard could this possibly be?" In my 17 year career, I have managed numerous programming teams and personally written over 1 million lines of code in C, C++, Pascal and various assembly languages for clients such as Apple Computer, DEC, Lotus, NeXT and GNP Development Corp. I was certain that this would be an easy assignment that would give me the opportunity to apply my design and implementation skills with impressive results. I began the project in Fall '98 and things quickly began to spiral out of control. In retrospect, I realize that I made several serious errors at the inception of this project. First, I had managed to convince myself that we needed at least two secured web servers, a dedicated SQL database server and a separate administration machine to manage the whole mess. Never mind the fact that we would probably have less than 250 total users and an average load of 5-10 client requests per day--I wanted to be absolutely certain that we could handle any possible client load. Second, I was determined to use every flashy Internet "middleware" tool I could get my hands on, along with an enterprise-level SQL database engine to create the "ultimate data management site." It was like using a bazooka to kill a mosquito. The application simply did not call for the level of firepower that I wanted to deploy. After months of design, analysis, further design and additional analysis I finally began development of the site in January of this year. Work progressed slowly because of my other obligations and it quickly became obvious to me that I would not be able to create the masterpiece that I had wanted to build. With great disappointment, I decided to scale back the scope of the application. I developed a much simpler data management model, decided to reuse code modules that I had written for other web projects and dropped the "middleware" & SQL model entirely. Much to my surprise, Darnell Gadbeny (gadberry@engr.csulb.edu)/sPresidentofa Southern Cali~rnia softwaredesignand engineeringftrm and a ContributingEditor to Byte.com. In his "copioussparetime"he ispursuing a MastersofSciennce degreein ComputerScienceat Califirnia State Universi~ LongBeach. Editor's note: Darnell and I both learned a lot from this experience. In fact, he's come up with a very usable, flexible, maintainable architecture that we're confident will support any current and future project requirements. My design of the questionnaire database--possibly "elegant" in concept but tricky to implement--certainly didn't make Darnell's life any easier. Anyway, ali's well that ends well. I hope you'll visit the site at http://www.engr.csulb.edu/-sigcas/itwp2k. Better yet, join us on the research team! Computers and Society, June 1999
/lp/association-for-computing-machinery/the-cutting-edge-ocy0EZbPzq