Why we (developers) cannot create the perfect application. The answer is simple. Because we don’t have ideal environment. We don’t have enough time, enough knowledge or people in team. In other words we don’t have enough resource. And this is not connected only with IT projects. In all types of projects, starting with growing plants and ending with building, people face the problem- not enough resources- but the world continues.
What is important? We have to forget words “not enough”. When you have some resource to build something, don’t complaint. Start thinking, what you can achieve, what goal you can meet and start doing it. I know that, we as developers, work for somebody. Our client pay for the resource and demand results and what is important ? We have to clearly inform his what he can expect. If we lie about the possibility of realization the project, we will lose a customer and what is more important, we loose a respect.
Very often customer is not satisfied when he learns what he can expect. It is possible that you loose customer but this is better than loose customer and respect. Of course if customer doesn’t have enough resource for project, you should propose to implement the project step by step. For example you can build some important part of project which can earning for itself and then you can develop it further. Now it is common way to build project, not only because we don’t have enough resourcse but because very often no one have clear idea what he wants to build.
What is important ? Honesty to customer and yourself about owned resources. And try use them in proper way.