Question: what are the requirements to make a software?
Answer: Clear. Correct. Consistent. Coherent. Comprehensible. Modifiable. Verifiable. Prioritized.