Writing Effective Requirements: Tips and Best Practices