By Edwin W. Smith
Most IT consultants know painfully well that one of the main reasons projects fail is because they are too complex, driven largely by "scope creep," the continuously widening of a project's original intent or purpose. Conversely then, to reduce the complexity of a project's scope is to reduce the risk of failure. This is certainly true of Web site development.
But what do you do to keep a project on track when clients start complicating the process? You’ll find that simplicity is a virtue, but it takes a great deal of know-how to pull the project together.
The initial excitement
If you haven't experienced it yet, you will—the excitement and creativity surrounding a new Web site project. Everyone has good ideas. Everyone wants to contribute. Everyone wants to leave their mark and show off their creativity and expertise. You’ll be trying to accommodate managers who are asking for functionalities that never came up during the research and planning phase. Everyone wants to use the latest technologies. And that is exactly where Web site projects go awry.
Good ideas add complexity. Unsolicited contributions add complexity. Additional functionalities add complexity. Using the latest and greatest technologies add complexity. Now the scope of your Web project has ballooned and has potentially become unmanageable. Don't forget that the deadlines haven't changed and that your budget probably hasn't changed any either. Now what?
Reality sets in
Before you know it, you and your team are staring at a project that is three to five times more complex than it started out to be. You begin to panic because you now have to develop a bloated site with the same budget and the same test and launch dates. You realize some very creative ideas will have to be shelved and you won't be able to offer all the desired functionalities that management would like to include. The result is that you now have to manage bruised egos on your development team and embark on "expectation management" among your stakeholders. You may even be concerned about your career or reputation if the project fails.
In most cases, the team leader will undertake a detailed reassessment and make decisions accordingly. Unfortunately, whatever the leader does is going to disappoint someone. In this situation, I would compare a project manager's role to that of a quality control inspector, wherein the QC inspector has the unpopular task of rejecting parts that do not meet specifications, adversely affecting someone's production bonus and production quotas and not being very well-liked by anyone.
Likewise, the team leader of a Web development project needs to make the unpopular decisions necessary to ensure the project's overall success. And for those not comfortable with the task, that includes standing up to management and telling them that they cannot have everything everyone wants, as well as what it's going to take to launch within budget and on schedule.
Where cost is not a prime consideration, the traditional means of completing a development project on time by adding more resources to the project is a wonderful luxury. My advice here is to use an assistant project manager to coordinate and control the smaller sub-projects so you can manage the team of contributors that has now doubled in size.
I must mention my pet peeve about simplicity and user interface issues. Never has the acronym KISS (‘Keep it simple, stupid’) been more applicable than in Web site development. It relates back to my earlier comments and concerns about team members all wanting to use their creativity and showcase their technical talents, which is often a recipe for disaster. Many Web sites are visual pleasure zones, use the latest and greatest technologies, and clearly show off technical expertise, but do absolutely nothing for the average user who does not have broadband access. Even with broadband access at work and at home, I find myself automatically clicking through the flash and streaming video promos. Who needs them? I know there are brilliant and creative technologists out there, but all this creativity does nothing positive for my shopping or research experience on the Web. More than one dot com has faltered because of its unfriendly, bandwidth-intensive user interface. If I had to sum up this problem, I would characterize it as Web sites being too developer-centric and not being customer-centric enough.
While every team leader or project manager has a preferred working style that has been successful for them, and everyone has unique project-specific problems, here are some generic strategies to consider:
- Make sure senior management is aware of the risks involved in regard to the success or failure of a project.
- Identify several acceptable levels of "success." Make sure you succeed at the lowest level, but aim for the highest level of success. You'll look better when it's all over.
- Make every effort to ensure that the size and scope of a project falls well within the available resources you have been given.
- Keep the customer’s experience in mind. Most of them have probably only used the World Wide Web portion of the Internet for a few hundred hours or less.
- Web sites are highly evolutionary. Whatever your end product looks like, it’s only temporary. By keeping it simple now, you'll have ample time to revise, expand, and redesign later on—which also spells job security.
- Work hard at managing expectations of team members and stakeholders.
- Under-promise but over-deliver.
- Don't set yourself or your reputation up to fail. If you have to, dare to walk away from a project early when you know it is not going to be successful.
- Limit the scope of a Web development project as much as possible.
- You'll meet with more success launching several limited scope projects in succession rather than one large and complex project, and remember to KISS!
Edwin W. Smith is a network project manager for STS International and vice president of training for Intralinux, Inc. He has conceived and developed several Web sites, including ITtalent.com, and can be reached at ewsmith@ITtalent.com.