So what are these best practices that we are talking about. Below are some of the key ones we follow.
-Writing semantic HTML
-Follow web standards for all front end coding
-Automated testing of both front-end and back-end code
Use of a MVC framework
Understanding of marketing strategies surrounding the projects
We’ve heard this complaint many times that web developers don’t think about the marketing strategy of a project. This is generally because developers don’t care. Well they should. How can they advise clients and think about helping clients produce the right solution, if they aren’t thinking about the “bigger picture” (sorry, we know it’s a horrid phrase, we’ll go wash our mouths out now). You may want to check out IS&T-Web Development for more. If a developer blindly does the work, they are not offering the client a service, they are just being a meat puppet.
The most important question a developer can ask is “Why?”. Take time to understand the client’s requirements fully, and advise them, after all the client doesn’t understand the ins and outs of web development, you do. Make the development cycle a two way conversation.
Invests time in research and development
As everyone knows the web industry is a very fast moving industry. Things come and go in the blink of an eye. A good web development company gives it’s developers allocated time each week to look at new trends and technologies. Admittedly some of these trends and technologies are dead ends, but you won’t know unless you look into them.
If you want to know if a web development company knows there stuff, simply ask them what their developers have been looking into recently. You don’t have to understand everything you are told, note them down though and look them up on the internet to understand if the company are looking at new trends or not.
R&D is probably the most important time each week for a developer. If developers don’t evolve, the solutions they build will become stagnate and dated very quickly. As a client do you want an out of date solution before you even start?
Has a rigorous testing process, including automated tests
Too often we have seen the client is the tester for a project. If this is happening, then, to put it bluntly, the development company don’t understand your project well enough, they are just “banging out” code.
A good web development company should be writing automated tests (integration tests, unit-tests etc) for all their code, both front-end and back-end. On a simple level, tests help developers to concentrate on the code they are writing at that given time, they also help developers to write more concise code. More concise code means the code base is easier to understand and cheaper to maintain.
The major benefit of a test suite to a client is that when changes are made to the code in the project there can be a lot more confidence in the fact that the change, or new code, hasn’t broken anything else.
We are not saying automated testing is the silver bullet of web development, and tests are only effective if they are written well, but they certainly should be part of any web developers toolset.
Automated tests aren’t the only important aspect of testing. The web development company should also have a level of human testing as well, and this is certainly something clients should be involved in. User stories are key to this process. As part of the development process, clients should work with the web development company to put together User stories, so that all parties involved understand how users will interact with the site or application and the results of those interactions.
Flexible to change
We’ve all heard developers complaining how their clients’ change the requirements of a project midway thought a project. Developers need to stop complaining about this, it happens to us all and it’s never going to change. A good web development company should have processes in place to cope with change. If you are a client, ask how change requests will be handled.
Web developers should work to short release cycles, preferably 1 – 2 weeks. The worst thing that can happen to a project is that the developers get the brief, start the work and then 2 months later they announce it’s finished, only for the client to say “This isn’t what I asked for!”. By working to short release cycles, clients can be involved at all stages. At the end of each release the client should review the project so far and submit any change requests.