Lecture Introduction to software engineering - Week 10: Agile software development
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Lecture Introduction to software engineering - Week 10: Agile software development Week 10: Agile Software Development Nguyễn Thị Minh Tuyền Adapted from slides of Ian Sommerville CuuDuongThanCong.com https://fb.com/tailieudientucntt Topics covered 1. Agile methods 2. Extreme programming 3. Agile project management 4. Scaling agile methods 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt Topics covered 1. Agile methods 2. Extreme programming 3. Agile project management 4. Scaling agile methods 3 CuuDuongThanCong.com https://fb.com/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 CuuDuongThanCong.com https://fb.com/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 (e.g. automated testing tools) used to support development. £ Minimal documentation – focus on working code 5 CuuDuongThanCong.com https://fb.com/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 CuuDuongThanCong.com https://fb.com/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 at each of these stages planned in advance. p Not necessarily waterfall model – plan-driven, incremental development is possible p Iteration occurs within activities. £ Agile development p Specification, design, implementation and testing are inter-leaved and the outputs from the development process are decided through a process of negotiation during the software development process. 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt Agile methods £ Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods. These methods: p Focus on the code rather than the design p Are based on an iterative approach to software development p Are intended to deliver working software quickly and evolve this quickly to meet changing requirements. £ The aim of agile methods is to reduce overheads in the software process (e.g. by limiting documentation) and to be able to respond quickly to changing requirements without excessive rework. 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt Agile manifesto £ We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: p Individuals and interactions over processes and tools p Working software over comprehensive documentation p Customer collaboration over contract negotiation p Responding to change over following a plan £ That is, while there is value in the items on the right, we value the items on the left more. 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt The principles of agile methods Principle Description Customer Customers should be closely involved throughout the involvement development process. Their role is provide and prioritize new system requirements and to evaluate the iterations of the system. Incremental delivery The software is developed in increments with the customer specifying the requirements to be included in each increment. People not process The skills of the development team should be recognized ...
Tìm kiếm theo từ khóa liên quan:
Công nghệ phần mềm Nhập môn Công nghệ phần mềm Software engineering Agile methods Extreme programming Agile project managementGợi ý tài liệu liên quan:
-
62 trang 402 3 0
-
Giáo trình Công nghệ phần mềm nâng cao: Phần 2
202 trang 230 0 0 -
Giáo trình Công nghệ phần mềm nâng cao: Phần 1
151 trang 198 0 0 -
Báo cáo chuyên đề Công nghệ phần mềm: Pattern searching
68 trang 188 0 0 -
Lecture Introduction to software engineering - Week 3: Project management
68 trang 186 0 0 -
Xây dựng mô hình và công cụ hỗ trợ sinh tác tử giao diện
13 trang 180 0 0 -
6 trang 174 0 0
-
Bài giảng Công nghệ phần mềm - Chương 2: Quy trình xây dựng phần mềm
36 trang 156 0 0 -
Tìm hiểu về ngôn ngữ lập trình C: Phần 1 - Quách Tuấn Ngọc
211 trang 149 0 0 -
Cuộc chiến Phân kỳ - Tích hợp nhiều tranh cãi bậc nhất trong giới marketing
3 trang 148 0 0 -
Tiểu luận môn Công nghệ phần mềm: Tìm hiểu công nghệ nhận diện giọng nói
27 trang 133 0 0 -
Giáo trình Công nghệ phần mềm - Đề tài Quản lý nhà sách
79 trang 121 0 0 -
Bài giảng Quản trị dự án: Bài 1 - Phần mềm
7 trang 118 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 118 0 0 -
Giáo trình Cơ sở công nghệ phần mềm: Phần 1
95 trang 114 0 0 -
Bài giảng Công nghệ phần mềm - Chương 1: Tổng quan về CNPM
13 trang 100 0 0 -
Bài giảng Công nghệ phần mềm: Kỹ nghệ phần mềm - PGS. TS. Phạm Ngọc Hùng
29 trang 99 0 0 -
Bài giảng Nhập môn Công nghệ phần mềm: Giới thiệu tổng quan về nội dung học phần - TS. Trần Ngọc Bảo
32 trang 94 0 0 -
30 trang 82 0 0
-
Báo cáo đồ án: Nhập môn công nghệ phần mềm - Tìm hiểu các quy trình phát triển phần mềm
18 trang 69 0 0