Define software requirements and project scope
Ensure the development of high-quality software programs
Errors and resolving technical issues