Building successful websites is quite difficult. The web is very competitive and getting through requires building something of quality. Technology is complex and delivering value is not easy. Additionally, development costs are not negligible, especially if you want to work on your project with experienced professionals.
Today I am sharing 10 tips I learned while running a drupal agency, which can help deliver a project successfully.
1. Think big, act small
When you embark on a web development project, you probably have the greatest plans. Awesome features, massive traffic. The website will be a top-notch best project ever. That’s good. You will definitely not reach high if you aim low.
On the other hand, trying to jump to high and bypassing steps is a perfect way to get hurt. Creating a plan for a huge website with a massive amount of features is very risky.
Firstly, the more complication the bigger the required budget. Moreover, there is a greater chance that it will be exceeded.
A better approach is to plan big, but start small, with the intention to quickly add more. It is much easier to deliver a smaller project and than another than one big one. Also, often, after releasing the initial smaller project, your priorities will shift. Some things you deem important now might even become obsolete. New ideas might emerge. This happens often when you observe and gather feedback from your users.
Obviously, make sure that there is a plan in which you can achieve your grand goals. Do not choose a technology now which will block you in 3 months. Be smart about balancing simplicity and flexibility.
We have written an extensive article about a website MVPs and how to go about them. I also wrote an article about keeping website costs under control. Both of these will give you additional tips on how to start small.
2. Add features incrementally
Add new features one after another. Perhaps two at once but not ten. I am repeating myself here a little but this is probably the most important piece of advice I can give. Delivering small increments and seeing them work is the best way to ensure that what you are building actually works and is needed.
An incremental approach has the benefit of allowing you to test things on users quickly. It also has the benefit of getting your investments back quicker.
A team working on one feature will deliver it faster then if it works on 10 at the same time.
Additionally, a team working on one feature will be more focused and the quality will be higher.
3. Always keep users in mind
You may have the best ideas for functionalities, but will your users like them?
While building a website you have to continuously keep the target audience in mind.
- What is your website supposed to do for them?
- How will they get what they need out of it?
It would be great if you could discuss your ideas with the target group. You can use clickable wireframes to illustrate your ideas and validate them with the users to whom you address your project.
Things to be particularly wary of are:
- Overcomplication - building something your users, who are less knowledgeable about the subject, will not be able to use.
- Unfamiliar language - each company has its own jargon. Make sure you are communicating with your users with the words they would use, rather than the words you are using within your company.
Mostly though remember that the website typically is not supposed to be targeted at you or your CEO so your personal opinions about what “great” means, might not be that relevant.
4. Be ready to change your mind
As you build, you will learn that your initial assumptions were not all correct. This is normal.
Delivering features one after another and validating the effects with end-users gives you the ability to change plans. Do not be afraid to admit you were wrong. Be happy that you found out sooner rather than later. Adapt your plans to as you learn.
Only the ones that do not act do not make mistakes.
Thomas Edison was wrong multiple times before he was right.
5. Include QA and automation
Quality assurance aka testing is a critical part of a web development project. Each web project will contain bugs and has to be tested. If you do not test and weed out bugs, your users will. The only problem is that they might not let you know about them but may just abandon you app and never come back.
Include testing into your process early on. This will save you massive amounts of time before the release. It will also save you from a situation in which developers build something that is not exactly as you expected.
There are various types of testing approaches but mostly they are all targeting particular problems:
- Does the new functionality do what it is supposed to do?
- Does it work correctly?
- Did nothing in the already existing functionality not break with the new code added?
Numbers 1 and 2 usually have to be verified by users (testers) or the end-users who will be eventually using the software. These tests are typically done once.
Types of tests from point 3 have to be performed every single time you add new elements to the project or change things. All the already existing functionality should be tested. This is extremely tedious and expensive if done manually so companies which try manual approach typically abandon it after a while and do not test. These test, however, can be often automated. You can creat them once and then run whenever you want to check if your app continues to work correctly.
Check out our article about automating software development which explains in greater detail the benefits of an automatic quality assurance process.
6. Use component design
If you look at a typical website, you will notice that it is usually built out of blocks stacked one under the other. A banner, then an image with text on the side, then 4 columns with icons and some text etc.
These are called components. If you design a handful of components and build your website so that the designs are re-usable, you will be able to quickly assemble compelling landing pages and content pages build with the components in various order, with varying texts and graphics but same overall designs. This will make each page look unique but matching all other pages.
This is for example how we built Droopler - an installation to build beautiful websites fast. Droopler comes with multiple pre-built components which can be re-used and organised in beautiful pages.
7. Chose the right tools
Tools you will use are important. They should be compatible with the type of project you want to build. If your application is content heavy then Drupal will be a good choice. If however your primary concerns are speed, real time data and flexibility, using Symfony might be a better.
8. Chose the right partner
If you do not intend to build the website yourself, but with an agency, chose it wisely. There are many agencies to choose from on the market and the quality and the price vary greatly. Chose one that has experience in the type of projects you are looking to build.
Remember that no one agency is an expert in everything. If your project spans across multiple technologies or subjects, you might have to work with more than one partner at the same time.
I wrote a article about choosing the right Drupal agency. Check it out. Many points there are applicable to a selection process of any type of agency.
9. Done is much better than perfect
The urge to polish every last element until it shines can be incredible, especially before the first launch. Do not hold off too long though. Make sure also that you are really fixing the bugs rather than getting cold feet and putting the release off.
Once all the critical bugs are removed go to the market immediately. Get your project out there. Start gathering feedback. You can enhance functionality and fix bugs while the project is already live.
Going live will give you an additional boost of energy and confidence. If your web app is supposed to make money, you may also get first sales which will increase your budget for new features and bug fixes.
10. Plan for maintenance
Shipping a project is typically just the beginning. The more successful it gets the more oversight it will require. Be sure to plan for how you will maintain the project from the start. Security updates and regular backups are important and get super important if you handle user data or money (eg in an online store).
You can oversee the project yourself or hire an external agency to do it for you. We, for example, offer drupal support for websites which were not built by us, but now require someone to look out or them.
The above points should give you some food for thought on planning and starting your project. If you take them to heart, they might also save you a lot of money and pain. Remember that you want to further consult your online project or need advice, you can always contact us.