You’re an executive who has been put in charge of a web development project. What are the most important things to consider as you plan the project in order to avoid wasted time and money? Here are the essentials to keep in mind.
Web Development Complexity
A website is a complex system, made up of many different parts and layers. You should consider how all the following pieces of the system will be addressed, and how they fit together:
- Information Architecture (IA)
- Database setup and optimization
- CMS choice and configuration
- Design and branding
- Content creation
- Development and testing
- Hosting and deployment strategy
- Third party services integration
Multiple roles and responsibilities
It’s crucial to decide who on your team will handle each piece of the puzzle. In the simplest structure you may want to have a separate person each handling content creation, design and branding, and the technical stuff. Depending on the organization, the technical side of the project may require an additional dev ops team, which handles hosting and deployments. However you divide up the work, there must be clear lines of responsibility.
It’s very important to completely understand the budget before the project begins. By making sure you get a full explanation of the cost of each piece of the project from your developers, you will go a long way toward ensuring the project is a success. If you and your team don’t fully understand the budget, and buy into its validity before the project begins, there is a much greater likelihood of conflict as the project moves along.
As with the budget, it’s imperative that you make sure the project schedule is realistic and achievable before the project begins. It’s quite common for non-developers to underestimate the time it takes to complete certain tasks, which can put developers in a difficult position from the start. In general it’s better to consider limiting the scope of the initial release than to rush development and delivery. Otherwise you may end up releasing an unfinished product, as has become all too common in the video game industry.
Not all developers are the same
Remember this when forming your web development team. The best C++ programmer in the world won’t necessarily perform well on a project that is created in Ruby. They can adapt, but reaching the same proficiency requires time.
Hosting is very often the neglected part of a web development project. Why beautifully design a site, carefully build it, test it, and populate it with great content if it ends up being served slowly and unreliably? With poor hosting, you’ll lose your audience before you even have a chance to win them over. You should plan your hosting expenses based on realistic traffic predictions. Hosting a website often requires more than one server to separate the database from the web servers and cache.
Invest now for the future
Have a vision for where you’d like to take your web app in the future and make sure that the development work you do now doesn’t complicate adding future functionality and features. This takes additional planning, but cutting corners now can add significant work in the future.
Define as much as you can
If there is any part of the application that you want to work in a certain way you shouldn’t leave it to your developers to guess. There are so many ways of solving the same problem, your developers are guaranteed to come up with a different approach than you had in mind unless you are clear about what you want. Create a short description, including examples of similar approaches on other sites, for each kind of functionality. You can also work with your team to come up with a user story describing exactly what you have in mind. Engaging with your development team in this way will also surface those instances in which your preferred solution is suboptimal for technical reasons that haven’t occurred to you.
As usual, I’m interested to see what you think. Leave a comment below or tweet us @nopiocom