But that's easy.
Really? Have you been deducted points in your programming assignments because you did not write a program exactly to the specifications in the assignments? In the real world, misinterpreting or ignoring the specifications can have a lot of side effects, including losing your job!
As a programmer, you normally do not need to write the specifications of a program. That is the job of a systems analyst. However, you still need to read and understand a program specification. If you find ambiguity or holes in a program specification, you need to ask a systems analyst to clarify or fill in the holes. After all, if you write a program that completely conforms to the specifications, you should not be the one fired if that does not do what the customer wants.
Program specifications can come in different forms.