Chapter 2
12
the server. No jackhammers, no demolition crew, and no need to make three million duplicates. So, why
then should you plan everything up front and set it in stone on day one?
The project manager on a web project doesn’t have to be fluent in all development languages, database
systems, and server setups (it doesn’t hurt to know a little about each, though, just so you can tell whether
someone is pulling your leg). The project manager has to know how to deal with people, keep everyone
happy (or at least productive), and assure everyone involved that the project is moving forward. The main
goals are to remove any roadblocks to project completion. If your developers’ office is under renovation
and they can’t get any code written because someone is always hammering, then find somewhere quieter
for them to work. If your designers’ computers are constantly crashing, causing them to have to revisit the
same work over and over again, get them new machines.
The traditional approach to project management
Project management, in the traditional sense, is often very complex. This single chapter definitely couldn’t
cover all aspects of it, but we are hoping to share with you some tips and things to look out for along the
way. We’re strong believers in developing project-management skills, if for no other reason than to improve
your skills in estimating. Since everyone has his own way of dealing with things and no two projects are
the same, we can’t give you the perfect road map for getting from x to y to z in every case. Our best advice
is to go with your experience; and if you really don’t know the answer, admit it and then find the answer.
Although it’s possible that you may be the only person working on any given project, more often than not
you will be part of a team. There will always be someone to turn to for advice (or at least an opinion) if you
get stuck. If the worst comes to pass, there’s always the Internet—we hear you can always find someone
willing to give you their opinion there, right or wrong!
The traditional approach to project management has its roots in the construction industry. In fact, the U.S.
Navy first conceived of this project-management process in order to get a better handle on the process
of building ships. When materials need to be ordered, parts manufactured off-site, and specialized labor
brought in, there is a big advantage in trying to plan things in advance. Having software specialists sit-
ting around before the computers used for targeting enemies have been installed is a huge waste of time
and money. Having a master plan that lets you see, in advance, whether things are ahead of or behind
schedule gives you that ability to contact subcontractors in advance and either delay or move up their
participation in a project.
When we mention the traditional approach to project management, we’re referring to the formal process
taught by the Project Management Institute (www.pmi.org). This process is sometimes referred to as the
Waterfall model; with this method, a project is planned as much as possible up front. Planning continues
until a consensus on “perfection” is reached, and then work commences. There is a lot of criticism of this
way of doing things, particularly in software and web development projects, because there is no feedback
and evaluation built in until the end of the project. Instead of building something small, checking in with
your client (and possibly end users) to validate your assumptions, and then continuing, you’re instead
deciding how the end result will look on day one. That removes a great deal of flexibility from a project; or,
at the very least, it wastes a great deal of time as things need to get planned and replanned. This method
does have its place in certain industries, however. For example, in large-scale construction projects, you
need to have a plan in place before you start. It would be foolish to start building a high-rise floor-by-floor,
without knowing how many stories it will have until you’re done. You can’t just leave some “feature” of the
building (such as electricity) until the last minute. But you can do precisely that in web development projects.