Phương pháp phát triển phần mềm hiện đại - Agile Fundamental
Khoá học sẽ giới thiệu một tư duy và phương pháp phát triển phần mềm hiện đại trên thế giới để chúng ta hiểu thêm về các gã khổng lồ phát triển phần mềm ra sao?
Giảng viên
Bạch Ngọc ToànKhóa học bao gồm:
- Video Full HD
- Tài liệu học tập
- Source code mẫu
- Hỗ trợ Q&A
- Cập nhật miễn phí
Nội dung khóa học
6 bài học • 0 giờ học
Mô tả khóa học
Phát triển phần mềm theo cách tiếp cận truyền thống (waterfall) là tiếp cận tuyến tính, thực hiện tuần tự các bước theo kế hoạch. Tuy nhiên trong thực tế rất nhiều rủi ro không thể tiên lượng trước.
Một trong những lý do chính đó là khách hàng thường xuyên thay đổi yêu cầu (requirement) trong quá trình sản xuất. Nguyên nhân thường do khách hàng không biết mình cần gì cho đến khi trực tiếp sử dụng sản phẩm hoặc cũng có thể những yêu cầu ban đầu đã lỗi thời và không đáp ứng được mục tiêu kinh doanh. Khi yêu cầu thay đổi, toàn bộ các bước thiết kế và phát triển, kiểm thử, viết lại tài liệu…phải tiến hành lại. Kết quả là sản phẩm làm ra không đúng yêu cầu của khách hàng, bị trễ thời gian, hoặc quá ngân sách.
Thành công của Apple thường được cho là nhờ vào một tay thiên tài Steve Job. Tài tiếp thị siêu đẳng. Khả năng thiết kế vượt trội, quan tâm đến từng chi tiết...
Tất cả đều chính xác. Tuy nhiên Iphone đã không phải là Iphone nếu thiếu đi một nền tảng kho ứng dụng khổng lồ đằng sau đó. Nền tảng này cho phép khách hàng tự quyết định ứng dụng nào có ích cho nhu cầu của họ và cải đặt theo sở thích cả nhân.
Điều đặc biệt là thay vì tuyển hàng trăm ngàn kỹ sư để xây dựng hệ thống triển khai phần mềm cứng nhắc, nền tảng này được xây dựng bởi nhiều nhóm kỹ sư phần mềm độc lập. Thay vì mở rộng tổ chức để giải quyết bài toán nền tảng, Apple đã thu nhỏ vấn đề thành những mảnh ghép rất khiêm tốn mà các đội nhóm nhỏ, độc lập có thể thực hiện theo quy trình lặp lại, trực tiếp ghi nhận phản hồi khách hàng và nhanh chóng đưa ra những tính năng cải tiến đến với khách hàng.
Tesla là một câu chuyên khác, khi Tesla có thể bổ sung tính năng mới vào những chiếc ô tô đã bán bằng cách tải phần mềm mới cho xe, như chức năng phanh tự động, hệ thống tự động lái hay chương trình đỗ xe do robot điều khiển. Những tính năng này cũng có ở Audi, Mercedes-Benz nhưng điểm khác biệt là Tesla Model S được thiết kế để liên tục nâng cấp trong quá trình sử dụng. Tesla có thể bổ sung từ xa các chức năng quan trọng cho những chiếc ô tô đang được sử dụng.
Xa hơn là câu chuyện của Microsoft khi Microsoft luôn gặp vấn đề với chất lượng của phần mềm cũng như tốc độ phát hành sản phẩm mới. Bằng cách chia các vấn đề phức tạp thành các nhiệm vụ độc lập cho phép từng nhóm nhỏ có thể chuyển giao sản phẩm tới khách hàng trong những chu kỳ ngắn, Microsoft đã rút ngắn thời gian từ vài năm để cho ra mắt một phiên bản xuống còn vài tuần đến vài tháng với chất lượng tốt hơn hẳn. Tất cả những ví dụ ở trên đều cho thấy những điểm chung trong tư duy về phát triển sản phẩm của những ông lớn ở thung lũng Silicon đó là:
- Luôn chia nhỏ những bài toán phức tạp thành những nhiệm vụ độc lập có thể được thực hiện bởi những nhóm nhỏ liên chức năng
- Tốc độ release nhanh - sản phẩm đến tay người dùng nhanh chóng - Liên tục lấy feedback người dùng theo chu kỳ
- Sản phẩm liên tục cải tiến và thích ứng với sự thay đổi
- Fail fast: tính năng nào không hữu ích có thể bỏ ngay tránh lãng phí chi phí phát triển ... Đằng sau những tư duy này đó là một triết lý mà chúng ta sẽ tìm hiểu ở video tiếp theo."
Khoá học này chúng ta sẽ cùng tìm hiểu về những khó khăn gặp phải với các phương pháp phát triển phần mềm truyền thống, sau đó chúng ta sẽ thử xem các gã khổng lồ ở Silicon phát triển phần mềm ra sao? Giới thiệu tuyên ngôn Agile và phương pháp thực hành Scrum.
Khóa học liên quan
Xây dựng System Design Playground với .NET, React, SQL Server & AI
Khóa học giúp lập trình viên thiết kế hệ thống phần mềm có thể scale, vận hành và phát triển lâu dài. Không dạy lý thuyết suông, không vẽ sơ đồ cho đẹp — tập trung vào cách tư duy, phân tích yêu cầu và đưa ra quyết định kiến trúc đúng trong thực tế.
Kỹ thuật Unit test cho .NET Developer
TEDU xin giới thiệu với các bạn khóa học Kỹ thuật dành cho .NET Developer sử dụng framework xUnit trên .NET Core.
AWS căn bản - AWS for Beginners
Khóa học cung cấp kiến thức về nền tảng về Cloud computing và các service cơ bản cung cấp bởi AWS
Phương pháp phát triển phần mềm hiện đại - Agile Fundamental
Khoá học sẽ giới thiệu một tư duy và phương pháp phát triển phần mềm hiện đại trên thế giới để chúng ta hiểu thêm về các gã khổng lồ phát triển phần mềm ra sao?