On a recent post in that I warned against multi-vendor web projects. I ended with a claim:
A website is never done. It should be constantly analyzed and developed further. Perfection is a forever moving target. Don’t try to nail everything at once.
This is a serious issue. Even more serious is that it is generally very hard to find a vendor that can actually deliver something like that.
Consultancies are organized around delivering projects. They have little or no organization to actually continuously develop websites with high quality. Sure, there is maintenance people, but that is often an afterthought and only activated if the client is asking for changes. When selling more to an existing client, sales people unsurprisingly put their effort into selling big projects, not small incremental upgrades.
Web development must not be done in two to four year cycles when everything gets ripped down periodically. That is just insane use of money and in most cases PageRank.
There should be a symbiosis where technical people feed the client with new ideas concerning content (organization of, new types of, better cross-linking etc.) and techies get challenged daily by the continuously changing environment.
One reason for this kind of behavior is that good developers demand to build cool new things and that is what the company then sells.
Even more alarming is that continuous development is generally considered being something lowly. Sure, many of the tasks are not that challenging or sexy.
I spent years on my previous job practically developing a single site. Not once I felt it was something unworthy of me. Not once I felt bored.
It taught me unbelievable amount things that now make me respected at my current job. Why? I had to solve real-life problems, not just problems that aroused during the requirements or the design phase. To solve those kind of problems cleanly, I really had to know the domain.
Developers should sell small improvements directly
Keeping it small requires that no sales people and preferably no project managers are involved.
Developer makes a well argued proposal with an estimated amount of hours of work and the client accepts or abandons it. Client gets billed on actual hours worked, not by the estimation.
This of course requires a contract of some kind. But after that is done, selling costs are rapidly approaching zero.
This kind of arrangement must be based on a mutual trust or otherwise it will not work. I believe this could work with all but the smallest sites and clients, not just with the biggest.
Clients should reserve a budget beforehand for these kind of small incremental improvements. Maybe build a little less features in the initial phase and add more as there is real-life understanding of how the site is actually used?
Developers will be happier when they have their own child to look after and more influence over their work.
This results into better websites for sure. Maybe it costs a little more, but the site should bring in more money too. If not, you are probably not basing your decision making on measurable metrics.