| Week 10 Agile Software Development Nguyễn Thị Minh Tuyền Adapted from slides of Ian Sommerville https tailieudientucntt Topics covered 1. Agile methods 2. Extreme programming 3. Agile project management 4. Scaling agile methods 2 https tailieudientucntt Topics covered 1. Agile methods 2. Extreme programming 3. Agile project management 4. Scaling agile methods 3 https tailieudientucntt Rapid software development Rapid development and delivery is now often the most important requirement for software systems p Businesses operate in a fast changing requirement and it is practically impossible to produce a set of stable software requirements p Software has to evolve quickly to reflect changing business needs. Plan-driven development is essential for some types of system but does not meet these business needs. Agile development methods emerged in the late 1990s whose aim was to radically reduce the delivery time for working software systems 4 https tailieudientucntt Agile development Program specification design and implementation are inter-leaved The system is developed as a series of versions or increments with stakeholders involved in version specification and evaluation Frequent delivery of new versions for evaluation Extensive tool support . automated testing tools used to support development. Minimal documentation focus on working code 5 https tailieudientucntt Plan-driven and agile development Plan-based development Requirements Requirements Design and engineering specification implementation Requirements change requests Agile development Requirements Design and engineering implementation 6 https tailieudientucntt Plan-driven and agile development Plan-driven development p A plan-driven approach to software engineering is based around separate development stages with the outputs to be produced .