Chào mừng bạn đến với thế giới chuyên nghiệp của phát triển phần mềm. Khi bạn rời khỏi giảng đường và bước vào ngành nghề, bạn sẽ nhanh chóng nhận ra rằng các phương pháp bạn học trong lý thuyết thường khác biệt với thực tế khi đưa sản phẩm ra thị trường. Một trong những khung làm việc phổ biến nhất mà bạn sẽ gặp phải là Agile. Đó không chỉ là một cụm từ thời thượng; đó là một cách tư duy ưu tiên tính linh hoạt, phản hồi từ khách hàng và cải tiến liên tục.
Hướng dẫn này được thiết kế để dẫn dắt bạn qua những khái niệm cốt lõi, thực hành và tư duy cần thiết để thành công trong môi trường Agile. Chúng tôi sẽ tránh nói đến các công cụ phần mềm cụ thể và tập trung vào những nguyên tắc tạo ra giá trị. Đến cuối văn bản này, bạn sẽ có nền tảng vững chắc để tự tin và thành thạo trong hành trình sự nghiệp đầu tiên của mình.

Trước khi bước vào các khung làm việc cụ thể, điều quan trọng là phải hiểu Agile đại diện cho điều gì. Về cốt lõi, Agile là phản ứng lại sự cứng nhắc của quản lý dự án truyền thống. Trước đây, các dự án thường được lên kế hoạch chi tiết ngay từ đầu, với ít khả năng thay đổi. Nếu yêu cầu thay đổi, toàn bộ kế hoạch có thể sụp đổ.
Agile đảo ngược cách tiếp cận này. Nó đón nhận sự thay đổi. Nó chấp nhận rằng các yêu cầu sẽ thay đổi khi bạn hiểu rõ hơn về vấn đề đang giải quyết. Dưới đây là những giá trị cốt lõi định nghĩa cách tiếp cận này:
Những giá trị này được hỗ trợ bởi mười hai nguyên tắc định hướng ra quyết định. Đối với một sinh viên mới ra trường, việc hiểu rõ những nguyên tắc này sẽ giúp bạn đưa ra các quyết định kỹ thuật và dự án tốt hơn mỗi ngày.
Mặc dù Agile là một tư duy, nhưng các đội thường áp dụng các khung làm việc cụ thể để triển khai nó. Hai khung phổ biến nhất là Scrum và Kanban. Hiểu được sự khác biệt sẽ giúp bạn hiểu rõ hơn về động lực của đội nhóm.
Scrum là một khung nhẹ giúp con người, đội nhóm và tổ chức tạo ra giá trị thông qua các giải pháp thích nghi cho những vấn đề phức tạp. Nó được cấu trúc xung quanh các vòng lặp có giới hạn thời gian gọi là Sprint.
Kanban tập trung vào việc trực quan hóa công việc, tối đa hóa hiệu quả và giới hạn công việc đang thực hiện. Nó ít quy định hơn Scrum và không yêu cầu các vòng lặp cố định.
Sử dụng bảng sau để hiểu các điểm khác biệt về cấu trúc một cách nhanh chóng.
| Tính năng | Scrum | Kanban |
|---|---|---|
| Vòng lặp | Các đợt cố định (2-4 tuần) | Luồng liên tục |
| Vai trò | Được xác định (PO, SM, Đội) | Không yêu cầu vai trò cụ thể |
| Thay đổi | Không được phép trong suốt đợt Sprint | Được phép bất kỳ lúc nào |
| Chỉ số | Tốc độ, Đồ thị giảm dần | Thời gian dẫn đầu, Thời gian chu kỳ |
| Phù hợp nhất với | Các dự án có mục tiêu rõ ràng | Các đội hỗ trợ, nhu cầu thay đổi |
Ngay cả trong một đội nhỏ, mọi người đều có trách nhiệm. Hiểu rõ các vai trò này sẽ giúp bạn biết ai cần tiếp cận để nhận thông tin cụ thể.
Chủ sản phẩm đại diện cho tiếng nói của khách hàng và các bên liên quan. Họ chịu trách nhiệm tối đa hóa giá trị của sản phẩm.
Người quản lý Scrum phục vụ đội và tổ chức. Họ không phải là người quản lý theo nghĩa truyền thống mà là người điều phối.
Đây là nhóm các chuyên gia thực hiện công việc thực tế. Họ là nhóm đa chức năng, nghĩa là họ sở hữu tất cả các kỹ năng cần thiết để tạo ra bước tiến sản phẩm.
Các đội Agile sử dụng các cuộc họp cụ thể để đồng bộ, lập kế hoạch và cải tiến. Những việc này không chỉ là nhiệm vụ hành chính; chúng là các trung tâm giao tiếp.
Cuộc họp này diễn ra vào đầu mỗi Sprint. Đội thảo luận về những gì họ có thể cam kết hoàn thành trong khung thời gian.
Một cuộc họp ngắn, kéo dài 15 phút, được tổ chức mỗi ngày. Mục tiêu là đồng bộ hóa các hoạt động và xây dựng kế hoạch cho 24 giờ tiếp theo.
Được tổ chức vào cuối Sprint. Đội ngũ trình bày công việc đã hoàn thành cho các bên liên quan.
Cuộc họp quan trọng nhất cho sự phát triển của đội nhóm. Đội ngũ phản tư về quy trình, chứ không phải sản phẩm.
Các sản phẩm đại diện cho công việc hoặc giá trị. Chúng cung cấp tính minh bạch và cơ hội kiểm tra.
Danh sách ưu tiên tất cả những gì có thể cần thiết cho sản phẩm. Nó chưa bao giờ hoàn chỉnh và thay đổi theo sự phát triển của sản phẩm và môi trường.
Tập hợp các mục trong Danh sách Sản phẩm được chọn cho Sprint, cộng với kế hoạch để đạt được Mục tiêu Sprint.
Tổng số các mục Danh sách Sản phẩm hoàn thành trong một Sprint và giá trị của các tăng trưởng từ tất cả các Sprint trước đó.
Yêu cầu thường được viết dưới dạng Câu chuyện người dùng. Định dạng này giúp duy trì sự tập trung vào nhu cầu của người dùng thay vì các thông số kỹ thuật.
Định dạng chuẩn là:
Là một [loại người dùng], Tôi muốn [mục tiêu nào đó], để rằng [lý do nào đó].
Mỗi câu chuyện cầnTiêu chí chấp nhận. Đây là những điều kiện phải được đáp ứng để câu chuyện được coi là hoàn thành. Chúng hoạt động như một hợp đồng giữa đội ngũ và bên liên quan.
Để đảm bảo các câu chuyện được xây dựng tốt, hãy sử dụng mô hình INVEST:
Agile không chỉ là về quản lý; nó phụ thuộc rất nhiều vào sự xuất sắc trong kỹ thuật để cung cấp phần mềm chất lượng thường xuyên.
Các nhà phát triển thường xuyên gộp các thay đổi mã nguồn vào một kho lưu trữ trung tâm. Các bản dựng và kiểm thử tự động được thực hiện để phát hiện lỗi sớm.
Một thực hành trong đó các kiểm thử được viết trước khi viết mã thực tế.
Hai nhà phát triển làm việc cùng nhau tại một máy trạm. Một người viết mã (người điều khiển), trong khi người kia kiểm tra từng dòng (người định hướng).
Kỹ năng kỹ thuật giúp bạn được tuyển dụng, nhưng kỹ năng mềm giúp bạn tồn tại và phát triển trong một đội Agile.
Agile dựa vào giao tiếp trực tiếp. Hãy rõ ràng, ngắn gọn và trung thực. Nếu bạn không biết điều gì, hãy nói ra.
Kế hoạch sẽ thay đổi. Yêu cầu sẽ thay đổi. Thái độ của bạn đối với sự thay đổi sẽ quyết định thành công của bạn.
p>Chấp nhận trách nhiệm với công việc của bạn. Nếu bạn mắc sai lầm, hãy thừa nhận và sửa chữa nó.
Ngay cả các đội có kinh nghiệm cũng mắc sai lầm. Là thành viên mới, hãy nhận thức được những cái bẫy phổ biến này.
Điều này xảy ra khi một đội tuân theo các nghi thức nhưng bỏ qua các giá trị. Họ có các cuộc họp đứng nhưng không hợp tác. Họ có các buổi tổng kết nhưng không triển khai thay đổi.
Đo lường thành công chỉ dựa trên số lượng tính năng được phát hành. Điều này bỏ qua chất lượng, nợ kỹ thuật và sự hài lòng của người dùng.
Giảm chất lượng mã nguồn để phát hành nhanh hơn dẫn đến phát triển chậm lại theo thời gian.
Bắt đầu hành trình trong môi trường Agile có thể khiến bạn lo lắng. Dưới đây là những bước thực tế để hòa nhập một cách trơn tru.
Xác định một lập trình viên cấp cao có thể hướng dẫn bạn. Hỏi họ về kinh nghiệm của họ và cách họ xử lý những thách thức.
Quan sát cách các cuộc họp được tổ chức. Nhận biết cách xung đột được giải quyết. Học nhịp độ của nhóm.
Đừng ngại nói rằng ‘Tôi không hiểu’. Việc đặt câu hỏi tốt hơn là tự suy đoán.
Chia sẻ quan điểm của bạn về những gì đang hoạt động tốt và những gì không. Nhìn nhận mới mẻ của bạn có thể phát hiện ra những vấn đề mà người có kinh nghiệm lâu năm bỏ qua.
Ngành công nghiệp thay đổi nhanh chóng. Những gì bạn học hôm nay có thể trở nên lỗi thời trong vài năm tới. Hãy duy trì thói quen học tập.
Bước vào ngành CNTT với tư cách là sinh viên mới ra trường là một thời điểm thú vị. Agile cung cấp một cấu trúc hỗ trợ sự phát triển, khả năng thích nghi và hợp tác. Bằng cách hiểu rõ những nền tảng được nêu trong hướng dẫn này, bạn sẽ được trang bị tốt hơn để định hướng sự nghiệp của mình.
Hãy nhớ rằng Agile không phải là một điểm đến mà là một hành trình. Nó đòi hỏi sự phản tư và cải tiến liên tục. Hãy đón nhận thách thức, học hỏi từ sai lầm của bản thân và đóng góp vào thành công của đội nhóm. Sự nghiệp của bạn sẽ không chỉ được định nghĩa bởi mã code bạn viết, mà còn bởi giá trị bạn mang lại và những người bạn làm việc cùng.
Vẫn giữ tinh thần tò mò. Vẫn linh hoạt thích nghi. Và hãy tận hưởng quá trình xây dựng phần mềm mang lại sự khác biệt.