Agile là gì?

    Xoay quanh cuộc sống của chúng ta đâu đâu cũng thấy các công nghệ hiện đại các loại phần mềm đa dạng giúp con người chúng ta mọi phần trong cuộc sống. Vậy thì các bạn đã nghe về phần mềm Agile bao giờ chưa? Mình chắc chắn là sẽ có nhiều người cũng đang thắc mắc giống mình rằng phầm mềm Agile là gì? Phần mềm có tác dụng như nào?

    Vậy thì mình nhờ các bạn có kiến thức về mảng này hãy giúp mình giải đáp các thắc mắc trên nhé!

    Câu hỏi của vào 26/10/2019   danh mục: Kiến thức chung.
    1 Trả lời

      Thời đại công nghệ 4.0 đang phát triển để mà có thể đáp ứng nhu cầu con người trong thời đại này. Các công nghệ, phần mềm ứng dụng cũng đang được nâng cao. Vậy thì hôm nay xin mời các bạn hãy cùng chúng tôi khám phá về hệ thống phần mềm Agile, hãy thử xem xem phần mềm này có gì thú vị không nhé.

      Agile là gì?

      Agile là mô hình phát triển phần mềm linh hoạt, dựa trên phương thức lặp (iterative) và tăng trưởng (incremental). Nó sẽ gắn kết khách hàng vào quy trình phát triển của phần mềm,trong khi đó mọi người cố gắng cho ra sản phẩm càng nhanh càng tốt, sau đó đưa cho khách hàng dùng thử và phản hồi lại, đội ngũ phát triển sẽ tiếp tục phát triển các giai đoạn tiếp theo. Tùy vào dự án mà thời gian release ra sản phẩm dài hay ngắn (có thể 2 tuần, cũng có thể 1 tháng…).

      agile là gì

      Mục đích của các phương pháp Agile là giúp các doanh nghiệp đạt được sự linh hoạt (Agility), từ đó nâng cao sức cạnh tranh và phát triển bền vững. Các phương pháp Agile đã thay đổi diện mạo thế giới không chỉ trong Phát triển phần mềm mà còn đang thể hiện giá trị trong các lĩnh vực khác như Marketting (Agile Marketting), giáo dục (EduScrum, Lean Edu, v.v.), thiết kế (Lean UX, Design Thinking), khởi nghiệp (Lean Startup) và Phần cứng.

      Lịch sử

      Trong giai đoạn trước những năm 90 của thế kỷ 20, trên thế giới xảy ra cuộc khủng hoảng về phương pháp phát triển phần mềm. Lí do của việc này đó là phương pháp truyền thống ngày càng bộc lộ nhiều nhược điểm và tỉ lệ các dự án bị thất bại quá cao.

      Có rất nhiều các cá nhân và công ty riêng lẻ đã tự tìm tòi và phát triển những phương pháp khác nhau để thích ứng với tình hình mới, ở đó những yếu tố môi trường kinh doanh và công nghệ thay đổi nhanh chóng, khiến cho phương pháp phát triển truyền thống không còn phù hợp. Những phương pháp riêng lẻ này phần nào giải quyết được một số vấn đề, nhưng lại nảy sinh những vấn đề khác về sự chia sẻ, cộng tác, các kỹ thuật, công cụ, sự mở rộng, hướng phát triển,…

      Do đó, Tháng 2 năm 2001, 17 lập trình viên là đại diện cho những phương pháp phát triển mới này đã gặp nhau tại Utah. Họ đã đi đến thống nhất về quan điểm chung giữa các phương pháp và cho ra đời một tài liệu được gọi là: Tuyên ngôn phát triển phần mềm linh hoạt kèm với 12 nguyên lý phía sau. Đây chính là thời điểm mà thuật ngữ Agile được sử dụng hiện nay ra đời, mặc dù các phương pháp riêng lẻ thì đã có trước đó.

      12 nguyên lý quan trọng trong Agile

      • Đáp ứng toàn diện nhu cầu khách hàng thông qua việc giao hàng sớm và sản phẩm có giá trị.
      • Thay đổi yêu cầu được chào đón, thậm chí là rất muộn trong quá trình phát triển.
      • Giao phần mềm chạy được cho khách hàng một cách thường xuyên.
      • Nhà kinh doanh và các kỹ sư phần mềm cần làm việc cùng nhau trong suốt dự án.
      • Xây dựng dự án xung quanh các cá nhân có động lực. Cung cấp sự hỗ trợ cần thiết, môi trường làm việc và niềm tin để hoàn thành công việc.
      • Trao đổi trực tiếp là cách truyền đạt thông tin hiệu quả nhất.
      • Thước đo chính của tiến độ là phần mềm chạy tốt.
      • Phát triển liên tục và bền vững.
      • Cải tiến sự linh hoạt bằng cách quan tâm đến kỹ thuật và thiết kế.
      • Nghệ thuật tối đa hóa lượng công việc chưa xong – Sự đơn giản là cần thiết.
      • Nhóm tự tổ chức
      • Thích ứng thường xuyên với những thay đổi.

      Quy trình Agile được thực hiện như thế nào?

      Có thể hiểu cách đơn giản, quy trình Agile là quy trình phát triển lặp. Mỗi dự án được phân chia thành các giai đoạn nhỏ, linh hoạt thay đổi khi có yêu cầu thay đổi từ khách hàng.

      Trong từng giai đoạn, cứ mỗi giai đoạn nhỏ được giao cho khách hàng thì khách hàng sẽ đưa ra yêu cầu mới hoặc thay đổi để nhóm phát triển cập nhật sản phẩm mà không cần thực hiện lại từ đầu. Agile phát huy giá trị về sự linh hoạt và cải tiến để thích nghi với thay đổi.

      Về cơ bản, quy trình Agile được phân chia thành các giai đoạn chính như sau:

      • Lập kế hoạch
      • Phân tích
      • Thiết kế và lập trình
      • Kiểm thử sản phẩm
      • Bàn giao sản phẩm

      Không chỉ giới hạn trong quy trình phát triển phần mềm, phương pháp Agile còn là sự thay thế tối ưu cho các mô hình quản lý công việc truyền thống. Các nhà quản lý ngoài ngành công nghệ thông tin bắt đầu sử dụng Agile trong quản lý các dự án như: Marketing, thiết kế, giáo dục, khởi nghiệp,…

      Phương pháp Agile trong quản lý dự án giúp nâng cao hiệu suất công việc, hoàn thành nhịp nhàng và đúng tiến độ các phần việc để tạo ra những sản phẩm và dịch vụ chất lượng hơn, đáp ứng yêu cầu của khách hàng.

      Những ưu điểm trong việc sử dụng mô hình Agile

      • Đạt được sự hài lòng của khách hàng bằng cách bàn giao nhanh chóng, liên tục các sản phẩm phần mềm có ích.
      • Con người và tương tác được nhấn mạnh hơn là quá trình và công cụ. Khách hàng, nhà phát triển và người thử nghiệm liên tục trao đổi với nhau.
      • Phần mềm làm việc được bàn giao thường xuyên (vài tuần chứ không phải vài tháng).
      • Cuộc đối thoại trực tiếp (face-to-face) là hình thức giao tiếp tốt nhất.
      • Gần gũi với nhau hơn, hợp tác hàng ngày giữa các khách hàng và các lập trình viên.
      • Chú ý liên tục đến sự xuất sắc về kỹ thuật và bản thiết kế tốt.
      • Thường xuyên thích nghi với hoàn cảnh thay đổi.
      • Ngay cả những thay đổi muộn cũng được chào đón, cho dù là trong quá trình UAT.

      agile là gì

      Các nhược điểm khó tránh trong việc sử dụng mô hình Agile

      • Trong trường hợp một số sản phẩm phần mềm, đặc biệt là các sản phẩm lớn, rất khó để đánh giá những nỗ lực bắt buộc khi bắt đầu chu trình phát triển phần mềm.
      • Thiếu sự nhấn mạnh vào thiết kế và tài liệu cần thiết.
      • Dự án có thể dễ dàng off-track nếu đại diện khách hàng không rõ kết quả cuối cùng mà họ muốn.
      • Chỉ những lập trình viên cao cấp mới có thể đưa ra các quyết định cần thiết trong quá trình phát triển. Do đó nó không có nơi cho các lập trình newbie, trừ khi kết hợp với các nguồn lực có kinh nghiệm.

       

       

      Tiểu họcĐã trả lời vào 03/11/2019
      Câu trả lời của bạn
      Khi tham gia trả lời bạn phải đồng ý với các điều khoản trên web site của chúng tôi: privacy policy and terms of service.