khóa luận, tiểu luận, chuyên đề, đề tài, luận văn
ĐẠI HỌC QUỐC GIA – HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÁO CÁO MÔN HỌC: QUẢN LÝ DỰ ÁN PHẦN MỀM ĐỀ TÀI: TÌM HIỂU CÔNG CỤ AGILEZEN Giảng viên: TS. Trương Anh Hoàng - TS. Phạm Ngọc Hùng Khóa: K18 CNPM - Nhóm 1 Học viên: Phạm Minh Tuấn Phạm Hữu Bằng Nguyễn Thúy Hồng Trần Thị Hiên Phạm Thị My Hà Nội - 2013 MỤC LỤC 2 DANH MỤC HÌNH VẼ 3 CHƯƠNG I – TỔNG QUAN VỀ CÔNG CỤ AGILEZEN 1.1. Khái niệm cơ bản về AgileZen. 1.1.1. AgileZen là gì. AgileZen là một công cụ quản lý dự án đơn giản, tùy biến và dễ sử dụng trên nền tảng web. Nó được lấy cảm hứng bởi các ý kiến được tổ chức từ hệ thống sản phẩm của công ty Toyota. AgileZen là một công cụ trực quan và giúp người mới bắt đầu có thể hiểu và dễ dàng theo dõi, sử dụng nó. AgileZen được tạo ra để giúp người dùng tổ chức luồng công việc, cộng tác với nhóm, và tìm ra các cách thức ðể nâng cao chu trình làm việc. Cuối cùng, với cách tổ chức, giao tiếp và hiệu quả được tăng lên đáng kể sẽ giúp ích cho việc tiết kiệm thời gian và tạo ra giá trị cho tổ chức. Hình 1. Giao diện tổng quan AgileZen 1.1.2. AgileZen được tổ chức hoạt động như thế nào. AgileZen tổ chức hoạt động trực quan hóa trên 1 tấm bảng. Tấm bảng này có các cột thể hiện các pha làm việc từ khi bắt đầu đến khi kết thúc. Các cột này có thể được tùy biến tùy theo cách mà người dùng thấy cách đi tốt hơn. Các thẻ được gọi là các câu truyện và được treo trên chiếc bảng này nhằm thể hiện công việc cần được hoàn thành. Các câu truyện được dịch chuyển theo các pha, từ trái sang phải. Một khi nó được chuyển về ngoài cùng bên phải, nó đã được hoàn thành. 4 Hình 2. Các pha được tổ chức trong AgileZen 1.1.3. Đối tượng sử dụng AgileZen Bất kỳ ai cần tìm kiếm 1 công cụ quản lý dự án hiệu quả thì đều có thể sử dụng AgileZen. Khách hàng đến từ rất nhiều nền khác nhau từ luật, kinh doanh đến phần mềm. Thậm chí những người muốn quản lý việc nhà cũng sử dụng AgileZen để giúp ích cho việc quản lý. Hình 3. Sử dụng AgileZen để thực thi các tác vụ 1.1.4. Lý do AgileZen được tạo ra. AgileZen được tạo ra bởi vì các công cụ khác không có độ ổn định cao. Hoặc là các công cụ quá phức tạp, khó sử dụng, đắt đỏ. Các công cụ khác thì quá đơn giản, ít tính năng hơn cả một danh sách công việc cần thực hiện. Vì vậy, AgileZen được tạo ra để có thể mô hình hóa các pha trong quá trình, trong khi vẫn có thể giúp người sử dụng hình dung được trạng thái của công việc hiện tại. 1.1.5. Bảng các khái niệm cơ bản của AgileZen. Phần này cung cấp các từ vựng phổ biến được dùng để thảo luận về các tính năng của AgileZen, gồm có các từ được mượn từ các hệ thống khác. − Account:tài khoản trong AgileZen được sử dụng cho mục đích thanh toán hóa đơn, có thể có nhiều tài khoản tùy theo nhu cầu. Ví dụ: có thể có 1 tài khoản cho mục đích kinh doanh, và 1 tài khoản dành cho dự án riêng. Tài khoản có thể được nâng cấp, giảm mức bất kỳ khi nào để thay đổi tính năng cần sử dụng. − Archive: kho lưu trữ là nơi trong chu trình lưu trữ các câu truyện đã được hoàn thành. Nó là bảng hiển thị ở bên phải. Mọi chu trình phải có và có thể đổi tên nó nếu muốn. 5 Khi 1 câu truyện được chuyển vào kho lưu trữ, sẽ thể hiện là giảm thiểu số SprintLog cần thực hiện trong thời gian còn lại. − Archived Project: là một dự án đã hoàn thành và không làm việc nữa. Nếu muốn lưu trữ các dữ liệu của dự án hơn là xóa dự án, thì lưu trữ các thông tin này. Mục đích là đưa dự án vào tiếp tục sử dụng nếu cần thiết sau này. Các dự án đã hoàn thành thì không được tính vào số dự án được cho phép với mỗi tài khoản. Một dự án có thể được đưa vào kho lưu trữ tại trang chủ của nó. − Attachment: file đính kèm có thể được thêm vào trong các story của AgileZen. Có thể là ảnh, tài liệu văn bản hoặc bảng tính. Chúng có thể được thêm vào từ bảng theo dõi hoặc từ màn hình của story. Nếu một story có các file đính kèm thì chúng sẽ có ký hiệu thể hiện ở trong story card. − Backlog: các công việc cần thực hiện bao gồm các story cần phải làm. Mỗi dự án có 1 tập danh sách các công việc và chúng được thể hiện ở bên trái của bảng theo dõi. Chu trình bắt đầu thực hiện khi 1 story được rời khỏi backlog và đưa vào sprint để thực thi. − Blocked: tắc nghẽn thể hiện 1 dấu hiệu trên bảng theo dõi, nêu ra rằng có vấn đề với story đang thực hiện. Khi 1 thẻ được đánh dấu là bị tắc nghẽn, có 1 đường viền mầu đỏ xuất hiện cho phép mọi người biết và tập trung vào đây. Cũng có 1 hộp thoại để nhập lý do tại sao story này bị tắc nghẽn. Có thể block 1 story bằng cách là ấn vào tiêu đề của story và chọn biểu tượng block. Thời gian thẻ bị đánh dấu là tắc nghẽn sẽ được tính vào tổng thời gian tắc nghẽn (Blocked Time) trong báo cáo về hiệu suất thực hiện dự án. − Blocked Time: đây là khoảng thời gian mà các story ở trong trạng thái bị block trên bảng theo dõi. Trang hiệu suất báo cáo số thời gian trung bình cho tất cả các story. Biểu đồ thể hiện trên toàn bộ thời gian của dự án vì vậy có thể nhìn thấy là khoảng thời gian bị tắc nghẽn là tăng hoặc giảm. − Board: đây là bảng theo dõi các story và tổ chức thực hiện chúng. Từ khung nhìn này, có thể nhìn thấy trạng thái của các đối tượng trong công việc. − Card: 1 thẻ trong AgileZen tương ứng với 1 story. Nó thể hiện như một phần công việc cần phải được thực hiện, giống như story. − Collaborator: cộng tác viên là bất kỳ một người nào mà bạn mời cùng thực hiện dự án hoặc nhiều dự án trong tài khoản của bạn. Có thể mời nhiều cộng tác viên vào dự án dựa trên trang về thành viên. Một lời mời sẽ được gửi tới các thành viên qua email và vì vậy họ có thể gia nhập vào dự án. Bạn có thể gán cho các cộng tác viên trong nhóm của bạn với nhiều vai trò và mức độ phân quyền khác nhau. Tùy theo dự án thực thi mà có giới hạn về số lượng cộng tác viên được cho phép. − Color: mầu sắc trong AgileZen thể hiện mầu sắc của các thẻ story. Có thể chọn nhiều mầu sắc khác nhau từ các thẻ đến một nhó các thẻ. − Creator:người tạo nên story là người tổ chức hoạt động của thẻ story, có thể là người chủ dự án hoặc không. − Cumulative Flow Diagram: sơ đồ luồng tích lũy, thể hiện số lượng story trong mỗi pha trong một ngày nhất định và theo dõi nótrên một biểu đồ xếp chồng. Nếu một pha thể hiện một diện tích rộng, điều đó có nghĩa là có rất nhiều công việc đang thực thi. − Cycle Time: chu kỳ thời gian trong AgileZen bắt đầu khi một story được lấy ra khỏi Backlog và kết thúc khi story được đưa vào kho lưu trữ. Mỗi story có một chu trình thời gian và có 1 chu kỳ thời gian trung bình cho tất cả các story ở trong 1 dự án được hiển 6 thị tại phần top của trang hiệu suất. Đây là một thông số tốt để sử dụng dự đoán khi nào story sẽ hoàn thiện. Biểu đồ này thể hiện trên toàn bộ chiều dài của dự án vì vậy có thể thấy được là mọi thứ đang được tăng hoặc giảm. − Dashboard: bảng điều khiển là màn hình đầu tiên khi đăng nhập vào AgileZen. Từ trang này có thể thay đổi kế hoạch, địa chỉ thanh toán hóa đơn, và xem toàn bộ các project đang được thực hiện. − Date Panel:bảng ngày tháng này cho phép theo dõi hiệu suất làm việc theo một khoảng thời gian xác định. − Deadline: là thời hạn cuối cùng mà một story cần phải được hoàn thành. Có thể đặt thời gian để đặt thời gian kết thúc cho mỗi story card. − Details: thông tin chi tiết là các thông tin bổ sung liên quan tới story và có thể được shia sẻ trong nhóm làm việc, nhưng nó không được liệt kê trong phần text của story. Trường dữ liệu này có thể được dùng để cho các bình luận, câu hỏi, tiêu chí chấp nhận, hoặc bất cứ thứ gì mà có thể nghĩ ra. Có thể xem phần thông tin chi tiết bằng cách di chuột lên con số trên thẻ và ấn vào biểu tượng kính lúp để vào màn hình quản lý story. − Effciency: tính hiệu quả được tính bằng số thời gian làm việc / số vòng. Thời gian trung bình được báo cáo ở phần top của trang hiệu suất. Có thể dùng số liệu này để đánh giá về mức độ tăng, giảm hiệu suất trong thời gian dài. − Filter: lọc là cách thức để giúp hiển thị nhóm các story trên bảng theo dõi bằng cách hiện và ẩn các story mà không quan tâm. Bạn có thể lọc mọi thứ từ mầu sắc, thẻ và người tạo. Cũng có thể lọc trong trang hiệu năng bằng cách xem các biểu đồ và các tiêu chí muốn thể hiện. − History: mỗi story có một lích sử lưu lại một số thao tác gần đây nhất được thực hiện, có thể tìm thấy trên màn hình theo dõi story. − Identification Number (ID): mỗi một story có 1 ID riêng. Các số ID này được tạo ra khi các story được tạo. − Kanban Card: trong AgileZen, thẻ Kanban thể hiện một số đơn vị công việc cần phải được thực hiện. Nó có thể xem như là 1 thẻ hoặc 1 story. Có thể tạo thẻ kanban, bằng cách dùng bảng thêm story trong phần công cụ. Thẻ sẽ được thêm vào phần Backlog và sau đó được lấy ra và thực thi trên bảng theo dõi khi ai đó sẵn sŕng bắt đầu công việc. Khi thẻ được đặt trên bảng theo dõi, nó được dịch chuyển theo các pha từ lúc bắt đầu đến khi kết thúc. Bảng theo dõi trong AgileZen thể hiện tất cả các thẻ Kanban đang được thực hiện và từ đó có thể thấy quá trình làm việc của tổng thể dự án. − Lead Time: thời gian tính từ khi bắt đầu story và kết thúc khi story được đưa vào kho lưu trữ. Nó có thể được tính là chu trình thực hiện cộng với thời gian mà nó nằm trong blacklog. − Lean:tư tưởng được dựa trên cách tổ chức thực hiện của Taiichi Ohno, là cha để của hệ thống sản phẩm Toyota, thể hiện là bất cứ thứ ǵ tiêu tốn tài nguyên nhưng không tạo ra giá trị cho khách hàng là sự lăng phí. V́ vậy, cách thể hiện là cần loại bỏ chúng. − Owner: chủ sở hữu của 1 story là người hiện tại được gán quyền cho story đó. − Project: một dự án là nơi mà các công việc được thực hiện trên AgileZen. Trong cùng 1 dự án, có thể tạo ra các hạng mục gọi là các story và mời mọi người vào cùng làm việc. Tùy theo kế hoạch sử dụng AgileZen mà số lượng các dự san có thể được tạo ra trong một tài khoản là có giới hạn. 7 − Pull:người thực hiện kéo story về để tiến hành khi mà họ sẵn sàng, thay vì chờ công việc được đẩy tới cho họ. − Ready to Pull:đánh dấu một thẻ là sẵn sàng để kéo, tức là story này đã được thực hiện xong trong một pha nào đó và sẵn sàng được đưa vào pha tiếp theo. Khi một story được thể hiện là ready to pull, nếu nó không được đưa vào thực hiện thì thời gian nó chờ sẽ được đưa vào Wait Time trong báo cáo hiệu suất. − Recent Activity: hoạt động gần đây chỉ ra các sự kiện được thực thi mới nhất trong dự án và có thể được tìm thấy trên trang chủ của dự án. − Role: vai trò là cách thức để quản lý các cộng tác viên trong dự án. Khi mời mọi người tham gia dự án, cần phải gán quyền cho họ, và từ đó có thể tùy biến quyền hạn của họ. Các vai trò có thể được thêm hoặc xóa trên trang quản lý về người tham gia. − Size: kích cỡ là một trường trên thẻ nơi mà sử dụng các đơn vị để ước tính khối lượng công việc. − Story Focus Screen:màn hình quản lý story thể hiện khung nhìn của 1 story đang quan tâm. Có thể sử dụng nhiều tính năng trên màn hình này bao gồm: thêm các chi tiết trong story, thêm các file đính kèm, xem lịch sử các story… − Story Panel: bảng story cho phép thực thi các thao tác trên 1 story như thay đổi mầu sắc, thêm các tác vụ, thêm các thẻ, thêm các file đính kèm và thay đổi 1 story là sẵn sàng để đưa vào thực hiện hoặc là bị tắc nghẽn. − Tag: thẻ là một cách để nhóm các story cùng nhau. Tag được thể hiện trong một danh sách bên dưới của các thẻ story. − Task:một tác vụ là 1 phần trong danh sách các công việc đã được gắn với 1 story. Đây là 1 cách thể hiện việc thực thi từ khi bắt đầu đến khi kết thúc 1 thẻ story. Các tác vụ có thể được kéo để sắp xếp lại vị trí và khi một tác được hoàn thành, nó sẽ được gạch tên và thời gian hoàn thành được thêm vào tác vụ. − Throughput:công suất là tổng số các story được hoàn thành (đưa vào phần kho lưu trữ) được thể hiện trên màn hình hiệu suất. − Value Stream:dòng giá trị bao gồm tất cả các pha mà 1 story cần thực hiện từ lúc bắt đầu đến khi kết thúc. Mỗi giai đoạn được thể hiện như là tên của các cột trên bảng theo dõi. − Wait Time:đây là số thời gian mà các story đã bắt đầu sẵn sàng để keo nhưng vẫn chờ để thực hiện. − Waste: lãng phí là bất kỳ thứ gì không tạo ra được giá trị. Mục tiêu của AgileZen là giả thiểu sự lãng phí. Ví dụ: chuyển đổi quá nhiều giữa các tác vụ hoặc phải chờ đợi người khác. − Work In Progress Limit (WIP):giới hạn trong tiến độ làm việc là cho phép hạn chế số lượng mà người thực hiện có thể làm cùng 1 lúc. Điều này cho phép người tham gia tập trung vào thứ mà quan trọng và không chuyển đổi qua lại quá nhiều giữa các tác vụ (thứ mà tạo ra lãng phí). − Work Time:là thời gian một story trên bảng theo dõi không phải đang ở trong hàng đợi hoặc trạng thái tắc nghẽn. Mức trung bình của số liệu này được thể hiện trong trang hiệu suất với 1 khoảng thời gian được chọn. Biểu đồ số liệu này được thể hiện trên toàn bộ độ dài của dự án, vì vậy có thể chỉ ra là nó tăng hoặc giảm. 8 1.2. Tổng quan về API. 1.2.1. Cấp độ truy cập. Mỗi vai trò trong một dự án có cấp độ truy cập cho các API. Theo mặc định, khi vai trò được tạo ra, nó không có quyền truy cập vào các API. Để thiết lập mức độ truy cập, điều hướng đến trang “People” của dự án và bấm vào nút "Edit Permission" . Bạn sẽ có những sự lựa chọn sau: None: không truy cập thông qua API,Read: truy cập chỉ đọc, Read/Write: có khả năng đọc và viết, Admin: bổ sung khả năng để thêm, sửa số thành viên trong nhóm, các vai trò, quyền hạn, quá trình bao gồm các giai đoạn của công việc và đổi tên dự án.Chủ dự án luôn được đảm bảo cấp độ truy cập API là Admin. 1.2.2. Mã hóa SSL. Chúng tôi muốn giúp giữ quyền truy cập vào tài khoản của bạn thông qua các API an toàn nhất có thể, vì vậy bây giờ chúng tôi yêu cầu mã hóa SSL (HTTPS) cho tất cả các yêu cầu. Tất cả các yêu cầu tới API AgileZen phải được thực hiện qua HTTPS. Bất kể tài khoản của bạn có hay không hỗ trợ mã hóa SSL, bạn có thể (và phải) truy cập API thông qua HTTPS 1.2.3. API Key. AgileZen sử dụng các API keys để liên kết các yêu cầu với người sử dụng đang làm chúng. API keys được xác định bằng một mã thông báo (token), gồm một chuỗi duy nhất các kí tự chữ và số. Bất cứ ai cũng có thể tạo ra một API key. Keys có thể được kích hoạt và vô hiệu hóa khi cần thiết. Tất cả các yêu cầu sử dụng một key đưa ra sẽ bị từ chối trong khi nó bị vô hiệu hóa. Bạn nên tạo một API key riêng biệt cho mỗi hội nhập mà bạn sử dụng với AgileZen. Bằng cách đó, bạn có thể kiểm soát truy cập vào các tích hợp khác độc lập với nhau.Để kích hoạt API keys, bạn vào trang “Settings” trên bảng điều khiển (Dashboard) tài khoản của bạn. Tiếp theo, chọn tab “Deverloper” để hiện thị màn hình API key, nháy chuột chọn “New API key” để tạo một key mới. Hình 4. Tạo mới API Key Một API Key Token mới được tạo, bạn có thể mô tả tên nhưng điều đó là không bắt buộc. Hãy chắc chắn rằng hộp check box “Enabled" đã đuợc bật. Nháy chuột vào nút "Save Changes" để lưu lại.Bạn có thể sử dụng mã số Token được tạo ra bất cứ nơi nào một 9 API key được yêu cầu.Một API key xác nhận bạn trên AgileZen, giống như một tên người dùng (username) và mật khẩu (password). Nếu ai đó chặn key của bạn, họ sẽ không thể đăng nhập vào tài khoản của bạn, nhưng họ sẽ có thể thực hiện cuộc gọi API thay cho bạn. Tạo các API key như password và bảo vệ chúng cho phù hợp. Hình 5. Tạo mới API Key Token 1.3. Phân tích một Story Card. Để tạo ra Story mới, ấn vào nút add ở phía trên bên phải, Hình 6. Tạo Story mới Khi mở bảng điều khiển, chúng ta sẽ nhìn thấy các tùy chọn (option) để thêm một số thông tin vào card. Có nhiều trường (field) tùy chọn và open-ended, do vậy chúng ta có thể tùy ý sử dụng theo ý muốn. Khi thêm tất cả thông tin và tạo ra các card, nó sẽ giống như hình minh họa dưới đây. Các con số tương ứng với các thông tin trên card và được trình bày chi tiết dưới đây: 10 . 3 CHƯƠNG I – TỔNG QUAN VỀ CÔNG CỤ AGILEZEN 1.1. Khái niệm cơ bản về AgileZen. 1.1.1. AgileZen là gì. AgileZen là một công cụ quản lý dự án đơn giản, tùy. ĐẠI HỌC QUỐC GIA – HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÁO CÁO MÔN HỌC: QUẢN LÝ DỰ ÁN PHẦN MỀM ĐỀ TÀI: TÌM HIỂU CÔNG CỤ AGILEZEN Giảng viên: TS. Trương Anh Hoàng