Thursday, January 24, 2002

Planning That Communicators Should Do Before Starting Web Development

by Matisse Enzer, matisse@matisse.net

Since 1992 (yes, 1992!) I have led the design and development of a great many Internet-based technology projects. Usually this meant the back-end to some complicated web site, e.g. web-based Employee benefits Enrollment systems. It may surprise you, but the main advice I have to Communicators in planning for a Web Development project concerns people and project design, with technology issues being of secondary importance. There are many good and capable technologies in the world. Bringing them together, and creating new ones to produce something new and truly valuable is a creative process that relies for its success almost entirely on the human factors. Technology is something you create, not something you buy.

Approach the project as if you are designing a new product to bring to market, or a new business. Think in terms of investment and returns. For internal projects count all avoided costs as income. Among other things this will help identify the stakeholders. If your project is going to save the legal dept. $125,000 over 12 months, ask for some of that money for your budget, and make sure to get their input in the planning process.

Design and build something that people will actually use. Involve the people who will actually use the system. Involve an engineer in the early stages of defining the problem, and the system requirements. Assign someone with a good understanding of the end-users' actual needs to manage the actual development (the programming, etc.) process.

Prioritize your feature set and make a rough estimate for yourself of how much each feature is worth to you. You don't have to disclose this to outside contractors, but you should have a rough idea of it for yourself. You may surprise yourself when you run through your list of features and try and assign business value to each one.

Make sure that the engineers doing development will be in contact with and have the cooperation of the engineers who maintain the systems where the new project is being deployed. It does you no good to have something built that can't or won't be supported by your IT staff.

Most projects that Communicators will be involved in have a significant User Interface component for non-technical users, for example a web-interface for employees to select benefits, or for people to register for a conference or trade show. Design the user interface first. Put some significant effort into figuring out what you want the users to see, read, click, hear, etc. make a series of simple drawings showing what the user should see at each stage. Ask yourself about each aspect of the interface, "Is this really needed?" Have an engineer looking over your shoulder, but drive this process from the users point of view. Then, hand the user interface description to the managing engineer along with the answers to all of the following questions:

What do you want to accomplish?

(What do you want, and when do you want it?)

What is the people environment?

What's the general level of finish required:

And finally.... a few technical questions:

What's the technology environment?
What existing system are we tying into?
Examples: The HR Payroll system, the CRM system, etc.
What operating system(s) are being used?
Examples: FreeBSD, Linux,OS X, Solaris, Windows NT, etc.
What Web server software are you using?
Examples: Apache, IIS, iPlanet, Netscape, etc.
What database software is already in use?
Examples: DB2, MS SQL Server, MySQL, Oracle, PostGreSQL, Sybase, etc.
What programming languages are in use on your web site?
Examples: C, C++, Java, Javascript (back-end? front-end?), Perl, Visual Basic, etc.

Copyright 2002 by Matisse Enzer, matisse@matisse.net

First published in a slightly different form in NetGain Update, a monthly email newsletter for Communications professionals.