Phát triển phần mềm linh hoạt

53 344 0
Phát triển phần mềm linh hoạt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phát triển phần mềm linh hoạt Nguyễn Thị Minh Tuyền Nội dung slide dựa vào slide Ian Sommerville Nội dung v Các phương pháp linh hoạt v Phát triển hoạch định sẵn linh hoạt v Extreme programming v Quản trị dự án linh hoạt v Mở rộng quy mô phương pháp linh hoạt Nguyễn Thị Minh Tuyền Nhập môn CNPM Nội dung v Các phương pháp linh hoạt v Phát triển hoạch định sẵn linh hoạt v Extreme programming v Quản trị dự án linh hoạt v Mở rộng quy mô phương pháp linh hoạt Nguyễn Thị Minh Tuyền Nhập môn CNPM Phát triển phần mềm linh hoạt v Phát triển phân phối phần mềm nhanh thường yêu cầu quan trọng hệ thống phần mềm §  Tác vụ thương mại thực nhanh – yêu cầu thay đổi không thực tế định nghĩa trước tập yêu cầu phần mềm ổn định §  Phần mềm phải cải tiến nhanh chóng để đáp ứng thay đổi nhanh nhu cầu tác vụ thương mại v Phát triển phần mềm nhanh §  Đặc tả, thiết kế cài đặt đan xen §  Hệ thống phát triển chuỗi phiên stakeholder tham gia vào việc đánh giá phiên §  Giao diện người dùng thường phát triển sử dụng IDE công cụ đồ họa Nguyễn Thị Minh Tuyền Nhập môn CNPM Các phương pháp linh hoạt v Vào năm 80 90, việc không thỏa mãn với phụ phí phương pháp thiết kế phần mềm dẫn đến việc tạo phương pháp linh hoạt: §  Tập trung vào mã nguồn thiết kế §  Dựa vào phương pháp phát triển phần mềm theo kiểu vòng lặp §  Với mục đích phân phối sản phẩm phần mềm nhanh cải tiến nhanh để đáp ứng yêu cầu thay đổi v Mục tiêu: giảm phụ phí quy trình phần mềm §  Bằng việc hạn chế việc viết tài liệu cho phép trả lời nhanh thay đổi yêu cầu mà không cần làm lại nhiều Nguyễn Thị Minh Tuyền Nhập môn CNPM Tuyên ngôn phương pháp linh hoạt v Chúng tìm cách tốt để phát triển phần mềm cách tự tay phát triển giúp đỡ người khác làm việc Thông qua việc này, đến chỗ đánh giá cao: §  §  §  §  Các cá nhân tương tác quy trình công cụ Phần mềm hoạt động tài liệu đầy đủ Sự cộng tác khách hàng thương lượng hợp đồng Trả lời nhanh thay đổi làm theo kế hoạch v Đó là, dù điểm bên phải có giá trị, đánh giá cao điểm bên trái Nguyễn Thị Minh Tuyền Nhập môn CNPM Nguyên lý phương pháp linh hoạt Nguyên lý Mô tả Sự tham gia khách Khách hàng nên tham gia trực tiếp vào quy trình phát triển hàng Vai trò: - cung cấp phân độ ưu tiên cho yêu cầu hệ thống - đánh giá vòng lặp hệ thống Phân phối Phần mềm phát triển phần (increment) khách hàng yêu cầu phần Chú trọng vào người quy trình Kỹ nhóm phát triển nên nhận diện khai thác Các thành viên nhóm nên tự làm việc theo cách họ mà không cần đến quy trình định trước Chấp nhận thay đổi Hiểu yêu cầu hệ thống thay đổi, thiết kế hệ thống cho chấp nhận thay đổi Duy trì đơn giản Tập trung vào tính đơn giản phần mềm phát triển quy trình phát triển Bất có thể, nên chủ động nỗ lực loại bỏ điểm phức tạp khỏi hệ thống Nguyễn Thị Minh Tuyền Nhập môn CNPM Tính ứng dụng phương pháp linh hoạt v Phát triển sản phẩm nhỏ vừa để bán v Phát triển sản phẩm đặt hàng §  việc khách hàng chấp nhận tham gia vào quy trình phát triển xác nhận rõ ràng §  nhiều quy tắc quy định bên ảnh hưởng lên phần mềm v Vì trọng tâm tập trung vào nhóm phát triển nhỏ, gắn kết chặt chẽ với nhau, có nhiều vấn đề xảy mở rộng phương pháp linh hoạt cho hệ thống lớn Nguyễn Thị Minh Tuyền Nhập môn CNPM Các vấn đề gặp phải với phương pháp linh hoạt v Có thể khó khăn việc giữ mối quan tâm khách hàng họ tham gia vào quy trình v Các thành viên nhóm không phù hợp với cường độ làm việc đặc thù phương pháp linh hoạt v Nếu hệ thống có nhiều stakeholder việc xếp độ ưu tiên cho thay đổi khó khăn v Duy trì tính đơn giản đòi hỏi công sức v Hợp đồng vấn đề tương tự phương pháp vòng lặp khác Nguyễn Thị Minh Tuyền Nhập môn CNPM Phương pháp linh hoạt bảo trì phần mềm v Hầu hết tổ chức dành nhiều thời gian để bảo trì hệ thống tồn họ phát triển hoàn toàn §  Vì phương pháp linh hoạt thành công, họ phải hỗ trợ việc bảo trì phát triển gốc v Hai vấn đề chính: §  Các hệ thống phát triển sử dụng phương pháp linh hoạt có bảo trì không, nhấn mạnh quy trình phát triển ta giảm thiểu tài liệu mang tính hình thức? §  Các phương pháp linh hoạt có dùng hiệu cho việc cải tiến hệ thống để trả lời việc khách hàng thay đổi yêu cầu không? v Các vấn đề nảy sinh nhóm phát triển ban đầu không trì Nguyễn Thị Minh Tuyền 10 Nhập môn CNPM Nội dung v Các phương pháp linh hoạt v Phát triển hoạch định sẵn linh hoạt v Extreme programming v Quản trị dự án linh hoạt v Mở rộng quy mô phương pháp linh hoạt Nguyễn Thị Minh Tuyền 39 Nhập môn CNPM Scrum v Là phương pháp tổng quát v Tập trung vào quản lý việc phát triển vòng lặp nguyên lý phương pháp linh hoạt Nguyễn Thị Minh Tuyền 40 Nhập môn CNPM Quy trình Scrum Assess Outline planning and architectural design Select Project closure Review Develop Sprint cycle Nguyễn Thị Minh Tuyền 41 Nhập môn CNPM Chu trình Sprint v Độ dài Sprint cố định, thường từ 2-4 tuần §  Tương ứng với phát triển release hệ thống v Điểm bắt đầu cho kế hoạch product backlog, danh sách công việc phải làm dự án v Pha chọn gồm nhóm phát triển dự án làm việc với khách hàng để chọn đặc tính chức cài đặt sprint Nguyễn Thị Minh Tuyền 42 Nhập môn CNPM Chu trình Sprint v Một chức lựa chọn, nhóm tự tổ chức để phát triển phần mềm §  Trong suốt giai đoạn này, người khách hàng bị tách khỏi nhóm tất liên lạc thông qua ‘Scrum master’ v Vai trò Scrum master để bảo vệ nhóm phát triển khỏi phân tán bên v  Vào cuối sprint, công việc thực duyệt lại giới thiệu cho stakeholder Chu trình sprint lại bắt đầu Nguyễn Thị Minh Tuyền 43 Nhập môn CNPM Nhóm làm việc Scrum v ‘Scrum master’ người tổ chức họp hàng ngày, theo dõi tiến độ công việc, giao tiếp với khách hàng quản lý bên nhóm v Toàn đội tham dự họp ngắn hàng ngày thành viên chia sẻ thông tin, mô tả tiến độ họ, vấn đề phát sinh lên kế hoạch cho ngày §  Nghĩa người biết diễn ra, vấn đề phát sinh lên kế hoạch ngắn hạn để đáp ứng thay đổi Nguyễn Thị Minh Tuyền 44 Nhập môn CNPM Lợi ích Scrum v Sản phẩm chia thành cách phần nhỏ dễ hiểu dễ quản lý v Các yêu cầu không ổn định không làm chậm trễ tiến độ v Toàn đội thấy thứ giao tiếp nhóm cải thiện v Khách hàng nhận phần hạn gởi phản hồi sản phẩm v Niềm tin khách hàng đội phát triển tăng lên văn hóa tích cực tạo người mong muốn dự án thành công Nguyễn Thị Minh Tuyền 45 Nhập môn CNPM Nội dung v Các phương pháp linh hoạt v Phát triển hoạch định sẵn linh hoạt v Extreme programming v Quản trị dự án linh hoạt v Mở rộng quy mô phương pháp linh hoạt Nguyễn Thị Minh Tuyền 46 Nhập môn CNPM Mở rộng quy mô v Các phương pháp linh hoạt chứng minh phương pháp thành công cho dự án vừa nhỏ phát triển nhóm nhỏ làm việc nơi v Sự thành công phương pháp việc cải thiện giao tiếp thành viên người làm việc v Việc mở rộng quy mô phương pháp linh hoạt gồm §  thay đổi phương pháp để phù hợp với dự án lớn hơn, §  tổ chức lớn sử dụng phương pháp để phát triển ứng dụng Nguyễn Thị Minh Tuyền 47 Nhập môn CNPM Việc phát triển hệ thống lớn v  Các hệ thống lớn thường tập hợp hệ thống rời rạc, tương tác với v  Có nhóm phát triển riêng cho hệ thống Các nhóm thường phân tán nhiều địa điểm khác v  Các hệ thống lớn thường ‘brownfield systems’ §  Gồm có số hệ thống tồn tương tác với hệ thống §  Nhiều yêu cầu hệ thống liên quan đến tương tác không thật cần tính linh động phát triển tăng dần v  Vài hệ thống tích hợp để tạo hệ thống lớn, việc phát triển liên quan nhiều đến cấu hình hệ thống phát triển mã nguồn Nguyễn Thị Minh Tuyền 48 Nhập môn CNPM Việc phát triển hệ thống lớn v Các hệ thống lớn quy trình phát triển chúng thường ràng buộc yếu tố quy định bên làm hạn chế cách chúng phát triển v Các hệ thống lớn có thời gian phát triển sử dụng dài §  Khó trì nhóm phát triển thời gian dài tất nhiên thành viên thay đổi công việc dự án v Các hệ thống lớn thường có tập đa dạng stakeholder Sẽ không thực tế đưa tất stakeholder vào quy trình phát triển Nguyễn Thị Minh Tuyền 49 Nhập môn CNPM Scaling out scaling up v ‘Scaling up’ liên quan đến việc sử dụng phương pháp linh hoạt để phát triển hệ thống phần mềm lớn mà phát triển nhóm nhỏ v ‘Scaling out’ liên quan đến cách phương pháp linh hoạt giới thiệu đến tổ chức có nhiều năm kinh nghiệm sản xuất phần mềm v Khi mở rộng quy mô phương pháp linh hoạt cần giữ lại tảng linh hoạt §  Kế hoạch linh động, release thường xuyên, tích hợp liên tục, phát triển theo hướng kiểm thử giao tiếp nhóm tốt Nguyễn Thị Minh Tuyền 50 Nhập môn CNPM Scaling up cho hệ thống lớn v  Đối với việc phát triển hệ thống lớn, tập trung vào mã nguồn hệ thống Ta cần thêm nhiều thiết kế tài liệu hệ thống v  Cơ chế giao tiếp nhóm phải thiết kế sử dụng §  Có thể sử dụng liên lạc qua điện thoại video conference thường xuyên nhóm họp “điện tử” ngắn, thường xuyên nhóm cập nhật tiến độ v  Tích hợp thường xuyên, toàn hệ thống build lại người phát triển kiểm tra thay đổi, thực tế khó thực §  Tuy nhiên, việc build hệ thống thường xuyên tạo release thường xuyên cần thiết Nguyễn Thị Minh Tuyền 51 Nhập môn CNPM Scaling out cho công ty lớn v  Người quản trị dự án kinh nghiệm với phương pháp linh hoạt miễn cưỡng chấp nhận phương pháp v  Các tổ chức lớn thường có thủ tục chuẩn chất lượng cần phải tuân theo Vì chất này, tổ chức thường khó tương thích với phương pháp linh hoạt v  Các phương pháp linh hoạt xem hiệu thành viên có kỹ tương đối cao Tuy nhiên, tổ chức lớn, kỹ khả thường không đồng v  Có thể văn hóa công ty cản trở việc sử dụng phương pháp linh hoạt, đặc biệt tổ chức có thời gian dài sử dụng quy trình công nghệ truyền thống Nguyễn Thị Minh Tuyền 52 Nhập môn CNPM

Ngày đăng: 29/07/2016, 14:47

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan