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 stakeholders and clarifying them in order for the team to 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 inputs to engineers about hidden or implied requirements and understand and discuss the possible specs the system will provide.

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 specs they provide. So the specs are the requirements for the team, too, in this case.

Project manager/product manager is definitely the key

As you can see above, project manager is involved in 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.)