Website Development in Startups: Do’s and Dont’s

In internet startups, website development is one of the key factors in building a successful business. Having been involved in two internet startups with several years of experience in website development, I have made a few mistakes and had a few heureka moments that taught me the do’s and dont’s of website development. Although I know a little bit of Html, I am not a programmer and there are certain advantages and disadvanteges to managing an internet project without having actual programming experience.

The disadvantage of being a project manager without much programming know-how is that you cannot participate in purely techical discussions, so you entirely depend on the kowledge of your programmers. Furthermore, you don’t know all about the technological safety features and mechanisms that help you control and prevent bugs and errors. The advantage is that you are looking at a website purely from a business perspective. After all, a business website is just a tool to deliver a service . The value of a website without customers is zero, so the more you are paying attention to useability and marketability, the more you will get above the zero zone.

Website development is a team effort

Do’s

  • Think every feature through from mutliple perspectives; from the profit perspective, the customer perspective, the administrators perspective and, very importantly, the cheaters perspective. If there is a gap in you system, even if it is rather small,  it might suddenly turn into a big haunting hole in your bank account beacause some one will takte advantage of it.
  • Tell the programmers that they will be absolutely responsible for future errors and gaps in the system and that they should read through and thoroughly think about every aspect of your system specification before they commit themselves to it. Sure enough they will find a lot of inconsistencies you have missed and will help you to turn your plan into a sustainable and realistic project
  • Let all people who are involved in the business read through and approve the system specifications. You should have a section in the specifications were you will put down their names after they have approved of it. That way everybody will be commited to making the project a success because website development is a team effort. All the prime decision makers should be involved. That way you can keep potential whining to a minimum and make sure everybody’s knowledge is used to the best extent.
  • After everybody has approved of the system specifications, create a spread sheet where you will list every major step of the plan and let your programmers estimate the time it will take to finish these steps. If they have very different estimates, then there might be a different intepretation of what they think the task encompasses, so you might have to clarify those and adjust the specifications accodingly (make sure to get everyone’s approval for these adjustments).
  • Determine the milestones of the project and a realistic deadline and put an additional time of approximately one third of the whole project on top for feature requests and bug fixes.
  • Keep everyone motivated by having a good culture of talking openly about mistakes and problems and by celebrating successes, like finishing a milestone in time.
  • Try to keep tension and stress away from programmers, instead make sure that they are feeling good. Give them comfortable charis, offer them coffee and buy them extra large monitors. Yes, it can be that simple.

Dont’s

  • Don’t determine unrealistic deadlines to put pressure on people, that is so like Web 1.0ish… Good people are self motivated and don’t need pressure. Unrealistic deadlines cause frustrations and will make the good people turn their backs on your project, if not physically then mentally.
  • Don’t establish a culture of blaming and shaming because it will destroy the team play. If whenever there is a mistake, you annoy people by complaining on and on about it, you will stress them out and studies have shown that people perform a lot worse under stress. Instead, calmly get to the bottom of what happened and make sure everyone knows how it happend and how similar mistakes can be avoided in the future.
  • Don’t hire people who have little experience because you can get them more cheaply. You need at least one very experienced programmer. Inexpensive and inexperienced programmers can actually cost you more in the long run because they are slower and make more mistakes.
  • Don’t let people work from home all the time except it is a task that only requires very little team work. Programmers need to sit together so they can sometimes just quickly solve problems that would take hours to solve per e-mail.
  • Don’t annoy prorammers with a lot of small stuff while they are trying to get the big stuff done, instead establish an issue tracking  system for additional feature requests and bug fixes. This system should have a means to prioritize tickets and time estimates.
  • Large features should never be handled via an issue tracking system. Instead, you should take the effort to create a really detailed set of system requirements.