One confusion I see a lot in software development projects is people sometimes mix up the words of “Specificiations” and “Requirements” for the other. So chances are team members blame someone mistakenly for something that person is not in charge of. I will talk about the case where you have development team with a project manager but even if your team is not based on a project but on a product, it’s besically the same thing. Just change the word project to product if necessary. And what I write here is just a generalization and not always true if there’s something special in your project.
What is Requirements?
Requirements are all the requests from stakeholders on the system the team works on. Project managers are responsible for gathering those requirements from stakeholderstand understand them.
What is Specificiations?
Spec is how the system should behave to satisfy the requirements. It’s engineers’ responsibility to design the system behaviors, but it’s projet managers’ responsibility to give additional input to engineers about hidden or implied requirements and understand the implemented specs.
What is the relations between them?
Every so often, there are cases where some specificiations are included in requirements. For example, if a stakeholder just wants the system users to be able to make an account on the system, it’s just a requirement. But if the stakeholder also mentions that the user name must be longer than 3 characters, it is not only a requirement but also a spec. In case specs are the part of requirements, of course team needs to implement the specifications as they are. Also, if you work on the integration with a third party system such as Paypal, their requirement is for you to follow the spec they propose. So the spec is the requirements here, too.
Project manager is definitely the key
As you can see above, project manager is responsible for both requirements and specificiations. What this means in real life is, if someone in the team has questions about the requirements, the project manager needs to be able to answer. And if someone outside the team (for example, a stakeholder) has a question about how the system works, the project manager should know the answer, too. Yes, project manager’s job is tough, they also have to manage resources, costs, schedules, budgets and quality in addition to requirements and specs. I know it’s hard because I was actually a project manager, too, long time ago. (Just in case, managing quality is different from performing quality assurance.)