Giới thiệu về Agile
Agile là một phương pháp quản lý dự án, nhằm tạo ra một quy trình linh hoạt và sẵn sàng thay đổi, với mục tiêu tập trung vào sự tương tác và giao tiếp giữa nhóm phát triển và khách hàng. Agile giúp quản lý dự án, tránh việc quá nhiều ràng buộc về kế hoạch và tiến độ.
Agile được sử dụng trong nhiều loại dự án, bao gồm phát triển phần mềm, công nghệ thông tin, marketing và nhiều lĩnh vực khác.
Agile có nhiều phiên bản và quy trình, bao gồm Scrum, Kanban, Lean và Extreme Programming (XP). Tất cả các phiên bản này sử dụng chung các giai đoạn dự án cụ thể, bao gồm planning, design, implementation và delivery, và tập trung vào việc giải quyết vấn đề nhanh chóng khi chúng xảy ra.
4 giá trị trong bản tuyên ngôn của Agile
Giá trị 1: Individuals and interactions over process and tools
Cá nhân và sự tương tác/hỗ trợ hơn là các quy trình và công cụ. Giá trị này nêu lên tầm quan trọng của con người và việc tương tác giữa các cá nhân trong team, giao tiếp trực tiếp và linh hoạt sẽ đem lại hiệu quả hơn là chỉ làm việc thông qua các quy trình và công cụ một cách máy móc và khô khan.
Giá trị 2: Working software over comprehensive documentation
Ứng dụng tốt thì vẫn hơn là tài liệu về sản phẩm. Trong quá trình làm việc, chúng ta quản lý và tạo ra rất nhiều tài liệu khác nhau như tài liệu đặc tả yêu cầu tính năng, backlog, quy trình phát triển sản phẩm,… Tuy nhiên khách hàng lại không hề quan tâm đến những thứ đó. Họ đánh giá một sản phẩm có tốt hay không dựa trên chính trải nghiệm của họ khi dùng ứng dụng. Do đó, nếu bạn bị hạn chế nguồn lực, thời gian thì hãy tập trung trau chuốt để có một ứng dụng tốt hơn thay vì ngốn thời gian để tạo nên các tài liệu về nó.
Giá trị 3: Customer collaboration over contract negotiation
Hợp tác cùng khách hàng hơn là đàm phán qua hợp đồng. Bạn muốn thu lợi thì phải làm hài lòng khách hàng, khiến họ hứng thú và chịu rút hầu bao. Muốn được vậy, bạn phải hiểu khách hàng của mình: họ là người như thế nào, họ mong muốn điều gì về sản phẩm,… hay trong Marketing, ta gọi nó là nghiên cứu và tìm insight khách hàng. Cần hiểu rõ khách hàng để đưa ra các giải pháp giải quyết được nỗi đau mà họ đang gặp, tránh tình trạng phải chỉnh sửa nhiều lần và dẫn tới thất bại.
Giá trị 4: Responding to change over following a plan
Phản hồi với các thay đổi hơn là bám theo kế hoạch. Kế hoạch được lập ra dựa trên các số liệu lịch sử và kỳ vọng. Tuy nhiên, biến số bất ngờ hoàn toàn có thể xảy đến, có thể là tác động tích cực hoặc tác động tiêu cực. Dù là tác động tốt hay xấu thì các bạn đều cần nhanh chóng nhận thức được những thay đổi ngoài kế hoạch đó để tận dụng cơ hội tăng trưởng x2, x10, x100 hoặc để giảm thiểu rủi ro xuống thấp nhất có thể. Đừng chỉ làm theo kế hoạch một cách máy móc bạn nhé.
Trong quá trình mình làm việc, mình luôn ghi nhớ và vận dụng những giá trị trên vào công việc để nó trở thành một thói quen, tạo dựng sự gắn kết trong một team, điều chỉnh cách làm linh hoạt, nắm bắt thời cơ để hoàn thành mục tiêu chung (cần nhớ cách làm có thể linh hoạt nhưng mục tiêu thì không nên nhé).
Khách hàng của mình là B2C, các sản phẩm hoàn thiện xong mới bán cho khách, do vậy mà cũng gặp không ít rủi ro nếu như việc nghiên cứu sản phẩm không tốt hay chất lượng sản phẩm kém. Nếu bạn được đặt hàng trước cho sản phẩm, thì đừng quên trao đổi với khách hàng thật kỹ yêu cầu của họ, giao tiếp với họ thường xuyên trong quá trình phát triển ứng dụng.
Xem thêm: Lean Startup – Công thức thành công cho các nhà khởi nghiệp
12 nguyên tắc cần biết
Ngoài 4 tuyên ngôn kể trên. Agile còn cung cấp cho bạn 12 nguyên tắc quan trọng trong việc phát triển phần mềm:
- Ưu tiên hàng đầu là làm hài lòng khách hàng thông qua việc cung cấp phần mềm có giá trị nhanh chóng và liên tục.
- Tích cực ghi nhận những yêu cầu thay đổi cho dù có trễ, các quy trình Agile khai thác sự thay đổi vì lợi thế cạnh tranh của khách hàng.
- Cung cấp phần mềm hoạt động thường xuyên, nên nhanh hơn so với thời gian yêu cầu của khách hàng. Lên kế hoạch cập nhật phần mềm sau một vài tuần hoặc một vài tháng.
- Doanh nhân và nhà phát triển phần mềm cần làm việc với nhau hàng ngày thông qua dự án.
- Xây dựng các dự án xung quanh các cá nhân có động lực. Cung cấp cho họ môi trường và những thứ họ cần, tin tưởng rằng họ sẽ làm tốt công việc.
- Phương pháp hiệu quả nhất trong việc truyền đạt thông tin là trao đổi trực tiếp.
- Phần mềm hoạt động là thước đo chính của sự tiến bộ. Một phần mềm “work” là thước đo hoàn hảo, chính xác nhất hiệu quả của bạn thay vì đống tài liệu.
- Các quy trình trong Agile thúc đẩy sự phát triển bền vững. Nhà đầu tư, nhà phát triển và khách hàng có thể duy trì tiến độ phát triển sản phẩm ổn định vô thời hạn.
- Thường xuyên chú trọng ý đến việc hoàn thiện kỹ thuật và thiết kế để tăng cường khả năng linh hoạt.
- Hãy đơn giản hóa công việc, đó là một nghệ thuật và là điều cần thiết.
- Trao quyền: hãy trao quyền tự quyết cho team, họ có được những quyền hạn để tổ chức team tốt và tạo ra các sản phẩm tuyệt vời.
- Trong mỗi khoảng thời gian đều đặn, đội nhóm phát triển phản ánh về việc làm sao để trở nên hiệu quả hơn và điều chỉnh để đạt được điều đó.
Mặc dù các nguyên tắc trên ban đầu xuất phát từ ngành phát triển phần mềm, giờ đây chúng rất phổ biến và được ứng dụng trong nhiều lĩnh vực khác nhau. Mình sẽ tiếp tục viết thêm về Agile trong các bài viết sau nhé, vì thực sự nó rất hay và cũng nhiều thứ để nói nữa!!!
Trả lời