Software is much like an iceberg, partially in the sense that it can cause massive disasters, but mostly in the sense that there's a lot to it that's hidden from the end user. This has some consequences for software development. End users will tend to measure your progress based on the elements they can see. This can severely distort their view of the progress being made. At one end if your interface components are still rough and incomplete they will assume that the entire system is rough and incomplete, even if the majority of the system is progressing well. Conversely a nearly complete user interface will give the false impression that the system is mostly complete. This may lead to initial optimism followed by frustration that development is taking so long on a system they believe is mostly done.
The simple, obivous and unhelpful advice here is to build your user interface in parallel with the rest fo the system so that the state of one is roughly equivalent to the other. This is unfortunately unrealistic. In practice the amount of work involved in each is unlikely to be similar and the match between them limited. Different developers may have responsiblity for each and these developers may have different priorities. This kind of coupling of development work may lead to inefficiencies, especially as the number of elements increases and hence the dependencies rise. If I have to work on a component in order to keep in sequence with another element of the system purely to manage the client I may have to put off critical dependencies that are required elsewhere. This can lead to consequences such as blocking of other developers and duplicate logic.
Dealing with this is part of project management, and is generally referred to as
managing client expectations. A good project manager will ensure that the client understands the actual scope of the work and has an adequate understanding of the current state of development. Although this is primarily a responsibility of the project manager developers who interact with clients also have a duty to ensure the client's understanding is sufficient. This is a balancing act to avoid overpromising, introducing unnecessary technical detail or missing key information. The key point here is to ensure you act in an honest and ethical manner. Deceiving a client is a betrayal of the necessary trust, and it will just make your job more difficult when it is (inevitably) discovered. It will also negatively impact your professional reputation and may have negative legal consequences. Various professional bodies will have codes of ethics and these kinds of things should guide your behaviour.