Requirement Engineering (RE) involves understanding what customers want through tasks like elicitation, negotiation, and specification. RE helps establish requirements that provide a solid foundation for design and construction. The key RE tasks are inception to understand the problem, elicitation by drawing out requirements, elaboration by creating analysis models, negotiation to agree on a realistic solution, specification to formally describe requirements, validation to check for errors or issues, and management of changing requirements. RE helps software engineers better understand problems to solve through participation with customers, managers, and end users.