When people work on projects, they often forget about the product as they get more involved with issues which deal with what things need to be done on the project. For example, it becomes difficult for people to realize that they are actually working to create a part of a software product in the huddle and muddle of project activities. Often they are given deadlines by the project manager to do some project work but it is not obvious to them as to how this project work is related to building the software product.
In today’s world of business, product quality is extremely important. To achieve high product quality, industry standards have been defined (e.g. Capability maturity model, ISO etc.). These standards define as to how to carry out processes on projects which will result in better product quality. Thus they stress on process quality to achieve product quality. For example, a good process adopted to create a software design will lead to have better software designs. Similarly a better process standard adopted for writing source code will lead to better quality of the software product as written source code will have less software defects.
These imposed process standards impede freedom of project teams to do things their own way. They are no longer allowed to write source code in an unstructured manner. They must write source code in a structured manner as defined by the process standard adopted for the project. For example you are not allowed to create a class for your convenience. You must use an existing class even though you may need to adopt this class as per your needs. Even though this may impeded your freedom but doing this way will lead to a better piece of source code with less chances of software defects.
This is the real issue when team members work on projects. Rigid process requirements may impede freedom of creativity. But it ensures a better product quality.