The course introduces students to the challenges faced in the early phases of software development life cycle and various development methodologies. Cases and relevant academic and practice-oriented articles are used to familiarize students with developments in managing requirements for IT projects. Students are introduced to the role of agile methods and the driving forces that shape how agile methods are used by software teams. The course introduces students to challenges in and processes for specifying requirements. Students will gain hands-on experience in developing various UML diagrams.