Managing the design, development, implementation, and operation of a corporate intranet can be a long, difficult, and time consuming task. In this article, we present the primary steps to ensure a successful intranet development effort. We have used this approach successfully on our client’s intranet development projects.
The definition and recording of the problem to be solved is one of the most often overlooked step of any development effort. A problem needs to be solved, so the tendency is to jump right in and solve it. For small, negligible cost efforts this is fine. For Intranet design, ignoring this step can lead to disaster. Write down and widely publish the answers to the following questions, and all other questions that are appropriate for your specific effort. Remember to keep the questions targeted to DEFINING the problem NOT solving it.
Do I Need an Intranet?
This is an obvious question, but should be taken seriously. For some businesses the answer is an easy yes, but for others, there may be better solutions. It is wise to seek professional advice when answering this question. Having an outside professional examine the question may cost some money up-front, but they are far less costly early on the development.
What specific Problems will it solve?
Write down the four, five, ten, whatever, number of problems that having an Intranet will solve. The problems should be clearly stated, be very specific, and have testable criteria for success. Make sure you publicize these problems and get user and management feedback.
What are my available resources (time, money, and personnel)?
Knowing what your actual resources are at the beginning is critical for defining the development path. If your budget is low, consider down-scaling the effort. If time is short, consider using off-the-shelf products extensively. If your personnel resources are thin, consider outsourcing. Being realistic about your actual resources will help you prevent overruns and project disappointments. Promising a gold watch when you only have resources for a plastic toy will always doom a project. Also, don’t be afraid to tell upper management that the resources are too small for solving the problem. Believe me, they would rather know up front than get a surprise during deployment.
What criteria will I use to measure success?
This is an often overlooked step in the problem definition. For every problem stated, you must define a means for determining the success of the solution. If you can’t think of a success criteria, then the problem is not defined specifically enough. Stay away from problem statements such as “The network must be faster.” Restate the problem in quantifiable terms, like: “The network must provide a response time of no longer than 1.5 seconds for the XYZ accounting program for up to 50 simultaneous users.”
Should I outsource all, some, or none of the development and operation?
If you have in-house personnel that are under-utilized or have time to be assigned to the development process, then keeping most of the development in-house makes sense. If not, then you can either hire additional staff or outsource some or most of the development. I recommend that you do not outsource all of the development. You must have some in-house expertise available or at least strong upper management support. Otherwise you may end up with a very nice system that does not solve your problems. Strategic outsourcing makes sense in most medium to large development projects. The outsourcing contractor can supply the needed expertise and personnel at the various development phases. And when a particular phase is finished, you are not left with a staff member looking for something to do. You will probably find the up-front costs of an outsourcing firm to be higher than hiring in-house personnel. But the long-term savings will be far greater with a professional outsourcing firm than by retaining in-house personnel. Remember to make sure you feel comfortable with the outsourcer’s style and abilities. You will be working with them very closely. Don’t just choose the largest or best-known source. How you and your outsourcer “mesh” is far more important than their list of clients.
Am I upgrading an existing system, converting from a legacy system, or developing from scratch?
Developing a system from scratch, as strange as it sounds, is by far the easiest. If you are in this situation, count your blessings. If not, upgrading an existing system or converting from one or more legacy systems will be your lot. Fortunately, you will have a long list of “things that don’t work right” to begin with. Make sure that you fully understand what systems will still be in place after the migration and how they will be integrated into your intranet. If your budget is low, then consider using middleware and “web-like” products to layer on top of the existing system. With a more moderate budget, you can replace inefficient systems with newer and more powerful ones. Remember that computer hardware is cheap. It’s the software and operations that are expensive. Powerful hardware can make even today’s bloated software work faster. With a higher budget, consider replacing inefficient or outdated portions of the intranet with newer streamlined hardware and software. If you are not sure what the “latest and greatest” intranet products are, hire a professional intranet consultant. Their fee will be well worth it.
Performing a requirements analysis is critical to the success of any project. Without a clear goal in mind, success is dubious. There are a number of different philosophies about requirements analysis: top down, bottom up, inside out, etc. The method I have found to work the best is as follows:
- Clearly state the problem(s) you wish to solve.
- Identify the users of the completed system.
- Formulate a specific budget — time, money, personnel.
- Ask identified users to specifically state what they expect the system to do.
- Ask management to specifically state their success criteria.
- Separate their requirements from their “desirements.” Only design to requirements. The enhancement phase is where you address the “desirements.”
- Group and “bubble-up” requirements.
- Generate a prioritized requirements table listing the requirement, where it came from, the success criteria, and priority. Keep this table high-level. A table with a dozen requirements will be much easier to manage than one with hundreds.
- Produce a detailed development schedule including hardware, software, personnel, documentation, and reviews. Include outsourcing requirements and long lead-time items.
- Get a sign-off of the requirements, resource allocation, and schedule from top management before you contact us.