In my past days when I was a developer or in other words I can say when I started my career as a Multimedia Programmer in that time I always noticed one thing very common in every project. The thing is getting all requirements from client and going for the coding and testing under secret environment. Initially I was not aware that why project management group wanted to work on every project secretly. Well finally I never get the answer for this question. But yes, same situation I heard from most of my friends too, who are from same industry. And after all users didn’t understand what exactly we are doing. Once the project get completed, our big guys opens all the secrets and the users were expected to appreciate our brilliance of what we had produced. Well… but here most of the time what i experienced was very common reaction from users and that is “Oh well, you did a good job, but what I really wanted was… “ and so on….
But now the days the pattern of work is completely changed. In most of the companies users involvement starts at the very beginning stage of development as there is something visible to show them. It’s always better to know what are the problems with what we are developing at the early stage rather than after completion of project.
The time to rebuild the logic, rebuild functionalities, retesting, and the rework on the software, as well as to integration with other platforms or third party services involved, can delay the project substantially.And both Budget and Timeline are comes in the risk, If the changes are so major that it has to go through Change Control Board process for approval.
While if there are any minor issues or changes in programming decisions then it makes sense to the software developers or project manager, but I am not sure this may create some kind of confusion while software going in use or if their decisions goes wrong.
So conclusion is it is always better to get involved your users as early as possible. So while developing the software it will get tested module to module simultaneously and we can avoid rework and meet the project deadline as well cut the development cost to maintain/improve the good relations with our client.