After working many years in software and web development companies, I have come to conclusion that a best software/website can be developed if you develop the software in front of your client and take feedback from him regularly.
There are many software and website development companies in the world. These companies get software or website development work from Non-IT companies. These companies show development progress in every 5/7 days. And they continue solving errors after delivering the project also. In this procedure, client does not get option to solve any problem instantly and developers don't get instant feedback from client also.
So if non-IT Company can hire good developers, then it will be very good for both side to communicate each other’s and there will be very less chance of errors. So this is best way of web development. But in this case the problems are,
- It's hard for non-IT Company to hire good developers and maintain quality.
- Small teams of 2/3 developers can’t guarantee of handling bigger projects and making quality software or website.