Steve McConnell, in his excellent book Software Project Survival Guide, mentions a set of rights that should be respected for both the project team, and the customer who owns the product. Please spend some time reading them carefully; this is a prescription for project success.
Customer's Bill of Rights
I have the right:
- To set objectives for the project and have them followed
- To know how long the software project will take and how much it will cost
- To decide which features are in and which are out of the software
- To make reasonable changes to requirements throughout the course of the project and to know the costs of making those changes
- To know the project’s status clearly and confidently
- To be apprised regularly of risks that could affect cost, schedule, or quality, and to be provided with options for addressing potential problems
- To have ready access to project deliverables throughout the project
Project Team's Bill of Rights
I have the right:
- To know the project objectives and to clarify priorities.
- To know in detail what product I’m supposed to build and to clarify the product definition if it is unclear.
- To have ready access to the customer, manager, marketer, or other person responsible for making decisions about the software’s functionality.
- To work each phase of the project in a technically responsible way, especially to not be forced to start coding too early in the project.
- To approve effort and schedule estimates for any work that I will be asked to perform. This includes the right to provide only the kinds of cost and schedule estimates that are theoretically possible at each stage of the project; to take the time needed to create meaningful estimates; and to revise estimates whenever the project’s requirements change.
- To have my project’s status reported accurately to customers and upper management.
- To work in a productive environment free from frequent interruptions and distractions, especially during critical parts of the project.
It is top priority for managers to spread this atmosphere of mutual recognition of rights. Customer, as well as project team, sometimes denies other’s rights. The customer should ensure that he is available to answer the team’s questions. Many a time, I keep waiting many days to book a meeting with the customer or even get an email feedback from him. On the other hand, customers sometimes suffer from project teams not reporting to them the true status of the project. Many things like that take place, resulting at the end of an unsuccessful project end.