4.2.1 Giai đoạn khảo sát
Công việc chính chúng tôi thƣờng làm ở giai đoạn này là:
- Khảo sát: Tìm hiểu về khách hàng, những lĩnh vực hoạt động của khách hàng, gặp gỡ ngƣời đứng đầu, để từ đó có một cái nhìn chung về những công việc của khách hàng. Thực hiện bằng cách nghiên cứu các tài liệu, thảo luận. Sau bƣớc này, cần chỉ ra các mảng cần phải lấy yêu cầu, cũng nhƣ cần phải làm việc với những ai để cụ thể hoá yêu cầu.
- Xác định yêu cầu chung: Sau khi khảo sát, cần tiến hành gặp gỡ những ngƣời có chuyên môn, nghiệp vụ phù hợp để đƣa ra đƣợc các yêu cầu chung nhất. - Chi tiết hoá các yêu cầu: Các thông tin ban đầu sau khi đƣợc phân tích sơ bộ
sẽ đƣợc tập hợp lại, phân thành các đầu mục nhỏ hơn. Chúng tôi thƣờng làm công việc này bằng cách gặp trực tiếp khách hàng để hỏi trực tiếp ngƣời có chuyên môn, nghiệp vụ. Công việc này có thể đƣợc tiến hành nhiều lần để có thể thu đƣợc một tập hợp các phiếu yêu cầu đầy đủ và rõ ràng.
Giai đoạn này công việc chủ yếu là gặp gỡ khách hàng, sau khi có thông tin bƣớc đầu về công việc của khách hàng, chúng tôi phân tích sơ bộ những thông tin này, để xác định phần nào đƣợc phát triển, phần nào không cần thiết đƣa vào hệ thồng. Buổi phân tích đƣợc thảo luận trƣớc bảng làm việc của nhóm. Tất cả các thông tin ban đầu của khách hàng đƣợc trực quan trên bảng. Mỗi công việc của khách hàng đƣợc ghi vào một thẻ. Thông tin trên mỗi thẻ hiển thị đầy đủ các mô tả về mỗi công việc nhƣ: Tên công việc, vị trí ngƣời thực hiện nó, thực hiện nó qua những bƣớc nào...Hình 4.4 ví dụ về thông tin công việc trên một thẻ. Sau khi trực quan công việc của khách hàng chúng tôi lần lƣợt thảo luận về các công việc này và đƣa ra quyết định cuối cùng. Mỗi thẻ thảo luận xong, nếu công việc ghi trên đó đƣợc giữ lại phát triển sẽ đƣợc gắn sang
phần làm xong của cột khảo sát, công việc nào không cần đƣa vào phát triển chúng tôi sẽ rời nó đi. Các thẻ đƣợc giữ lại sẽ đƣợc tái sử dụng cho lần làm việc tiếp theo trong ở giai đoạn này. Hình 4.3 mô tả các thẻ công việc đƣợc gắn vào bảng làm việc.
Hình 4. 3 Gắn thẻ công việc vào bảng
Sau khi đã xác định đƣợc các yêu cầu chung cần giữ lại để phát triển, chuyển sang bƣớc tiếp theo là chi tiết hóa các yêu cầu. Chúng tôi lại có buổi làm việc với khách hàng dể lấy các thông tin chi tiết cho các yêu cầu.
Khi đã có thông tin chi tiết chúng tôi, bắt đầu dựa vào đó để phân rã các yêu cầu chung đã đƣợc tập hợp trong các thẻ trên bảng. Ở bƣớc chi tiêt hóa yêu cầu này, các thẻ đƣợc sử dụng lại sẽ đƣợc gắn lại vào phần đang tiến hành, trên thẻ sẽ đƣợc ghi tên ngƣời thực hiện, ngày thực hiện, ngày kết thúc. Nhiệm vụ của mọi ngƣời trong nhóm là phân rã các yêu cầu có ghi tên mình trên thẻ.
Giai đoạn chi tiết hóa các yêu cầu đƣợc lặp nhiều lần để đƣa ra đƣợc các yêu cầu đầy đủ rõ ràng
Hình 4.4 Thông tin chi tiết một thẻ công việc
Do chƣa có kinh nghiệm làm việc với Kanban, nên ở giai đoạn này chúng tôi chƣa thể giới hạn công việc đang làm (WIP). Ở giai đoạn này chính sách của nhóm là: sử dụng phƣơng pháp phỏng vấn trực tiếp khách hàng để lấy thông tin. Sau 2 tuần làm việc đầu tiên, chúng tôi đã thu đƣợc một tập các yêu cầu ngƣời dùng.
Dƣới đây là quy trình cấp phát và quản lý con dấu:
- Đơn vị tổ chức đƣợc cơ quan có thẩm quyền cho phép sử dụng con dấu sẽ nộp hồ sơ xin phép khắc dấu con dấu mới. Đối với các cơ quan đang sử dụng con dấu nhƣng vì nhiều lý do nhƣ: mất, hỏng, mòn, hoặc thông tin về con dấu thay đổi thì cũng phải nộp đơn xin cấp đôi hoặc cấp lại con dấu.
- Sau khi tiếp nhận đơn xin khắc dấu, phòng quản lý hành chính sẽ xem xét hồ sơ và kiểm định lại thông tin, nếu chính xác nhƣ đơn thì sẽ cấp giấy phép (thời hạn lƣu hành giấy phép là 3 ngày).
- Giấy phép sẽ đƣợc giao cho tổ chức sử dụng con dấu mang đến nơi khắc dấu. Sau khi khắc xong con dấu, nơi khắc dấu sẽ mang con dấu và giấy phép khắc dấu trả cho phòng quản lý hành chính.
- Sau khi có con dấu, phòng quản lý hành chính sẽ tiến hành lƣu chiểu.
- Nếu tổ chức sử dụng đến lấy con dấu thì phòng quản lý sẽ cấp giấy chứng nhận sử dụng con dấu. Giấy chứng nhận này có hiệu lực 5 năm sau thời gian này tổ chức phải lên phòng quản lý cấp lại giấy chứng nhận sử dung. Lúc này con dấu chính thức có hiệu lực.
- Nếu trong thời gian sử dụng con dấu hoặc giấy chứng nhận bị mất thì phải báo ngay cho phòng quản lý và sẽ đƣợc cấp giáy chứng nhận khác.
- Phòng quản lý hàng tháng, hàng quý phải lập báo cáo về tình hình quản lý con dấu, tình trạng con dấu và giấy chứng nhận sử dụng con dấu.
Các yêu cầu ngƣời dùng bao gồm 26 yêu cầu sau: - Nhập thông tin tổ chức sử dụng con dấu - Nhập thông tin giấy phép khắc dấu. - Lƣu chiểu
- Nhập giấy chứng nhận sử dụng con dấu. - Cập nhật tình trạng con dấu
- Cập nhật tình trạng giấy chứng nhận sử dụng con dấu. - Cập nhật thông tin tổ chức có sự thay đổi thông tin. - Sửa thông tin tổ chức
- Sửa thông tin giấy phép khác dấu - Sửa giấy lƣu chiểu
- Sửa giấy chứng nhận
- Sửa cập nhật tình trạng con dấu
- Sửa cập nhật tình trạng giấy chứng nhận sử dụng con dấu - Tìm kiếm in giấy phép khắc dấu
- Tìm kiếm in giấy chứng nhận sử dụng.
- Tìm kiếm in danh sách tổ chức sử dụng con dấu. - Báo cáo công tác quản lý con dấu
- Báo cáo tình trạng con dấu.
- Báo cáo tình trạng giấy chứng nhận sử dụng. - Giao diên chính
- Đăng nhập - Quản trị CSDL.
- Thay đổi mật khẩu
- Nhập bảng mã cấp 1 (Bảng mã tỉnh, nhóm tổ chức sử dụng con dấu...) - Nhập bảng mã cấp 2 (Bảng mã huyện, loai tổ chức sử dụng con dấu...) - Nhập bảng mã cấp 3 (Bảng mã xã ...)
4.2.2 Giai đoạn lập kế hoạch
Trƣớc đây, giai đoạn lập kế hoạch của chúng tôi chỉ gói gọn trong 2h làm việc bao gồm các công việc nhƣ:
- Phân công nhiệm vụ cho mọi ngƣời trong nhóm
- Giới hạn chung thời gian hoàn thành nhiệm vụ cho mỗi ngƣời.
Ví dụ: Một ngƣời sẽ đảm nhận một số lƣợng các yêu cầu, nhƣ trong 26 yêu cầu ở trên, trung bình mỗi ngƣời hoàn thành 9 yêu cầu: từ phân tích, thiết kế, mã hóa, kiểm thử đơn vị. Và phiên bản đầu tiên của chúng tôi thƣờng là đầy đủ tất cả các yêu cầu. Do đó thời gian để đƣa ra phiên bản đầu tiên thƣờng là hơn 4 tháng.
Nhƣng khi chúng tôi áp dụng phƣơng pháp Kanban vào quy trình làm việc, chúng tôi quyết định áp dụng bƣớc 6: Xác định ƣu tiên vào quy trình làm việc của mình và bƣớc 7: thỏa thuận mức độ dịch vụ với khách hàng. Và công việc hiện tai của giai đoạn này là:
- Thỏa thuận ngày đƣa ra phiên bản bao gồm các chức năng quan trong đầu tiên cho khách hàng.
- Thiết lập mức độ ƣu tiên cho các yêu cầu và thống nhất nội dung của phiên bản đầu tiên.
- Ứớc lƣợng công sức cần để giải quyết các yêu cầu, sau đó thống nhất lịch trình làm việc.
Vì đặc trƣng công việc của ngành là phát triển phần mềm để phục vụ cho công tác quản lý nghiệp vụ của ngành nên chúng tôi không thể dựa vào chi phí dịch vụ hay chi phí trễ để xác định ƣu tiên. Việc xác định ƣu tiên chúng tôi dựa vào mức độ quan trọng của các yêu cầu. Yêu cầu nào phải đƣợc xử lý trƣớc rồi mới có cơ sở để thực hiện các yêu cầu tiếp theo, ƣu tiên cho các yêu cầu chức năng hơn các yêu cầu phi chức năng. Ví dụ: Các yêu cầu nhập dữ liệu sẽ đƣợc ƣu tiên nhất sau đó đến các yêu cầu tra cứu tìm kiếm và cuối cùng mới đến yêu cầu sửa dữ liệu
Các yêu cầu sau đây sẽ có trong phiên bản đầu tiên, mức độ ƣu tiên giảm tứ trên xuống dƣới:
- Nhập thông tin tổ chức sử dụng con dấu - Nhập thông tin giấy phép khắc dấu. - Lƣu chiểu
- Nhập giấy chứng nhận sử dụng con dấu.
- Tìm kiếm in danh sách tổ chức sử dụng con dấu - Tìm kiếm in giấy phép khắc dấu
- Tìm kiếm in giấy chứng nhận sử dụng. - Báo cáo công tác quản lý con dấu - Giao diện chính
Các yêu cầu đƣợc chọn đƣợc phân bổ theo năng lực của mỗi ngƣời.
Dựa vào thời gian phát triển của các dự án trƣớc đây, chúng tôi dự tính thời gian cho phiên bản đầu tiên là 4 tuần. Ba ngƣời phát triển 9 hạng mục trong 4 tuần, chúng tôi đã đƣa ra giới hạn WIP là 3 hạng mục/4 tuần
Để luôn nhìn thấy thứ tự ƣu tiên của các công việc, chúng tôi gắn các thẻ có ghi tên các yêu cầu ngƣời dùng vào cột lập kế hoạch, và giới hạn WIP cho cột này là 5. Hàng tuần chúng tôi cập nhật lại danh sách các hạng mục ƣu tiên để bổ xung vào cột lập kế hoạch.
Chính sách của giai đoạn này là: tự giác kéo các hạng mục theo thứ tự ƣu tiên từ trên xuống. Hình 4. 5, 4.6 hiển thị chính sách làm việc và giới hạn WIP của mỗi giai đoạn.
Hình 4.6 Trực quan chính sách trên bảng
Sau khi đã lập xong kế hoạch chúng tôi bắt đầu chuyển sang giai đoạn phát triển
4.2.3 Giai đoạn phát triển
Công việc ở giai đoạn này là: phân tích, thiết kế, kiểm thử.
Trong tuần làm việc đầu tiên, chúng tôi bắt đầu kéo các hạng mục ở cột lập kế hoạch vào phần đang tiến hành của cột phát triển. Các thẻ đƣợc kéo sang đƣợc ghi thêm tên ngƣời thực hiện.
Sau 2 tuần làm việc, chúng tôi chƣa thấy một hạng mục nào đƣợc đƣa sang phần đã hoàn thành của cột phát triển. Với quy trình làm việc hiện tại, chúng tôi không thể biết đƣợc hạng mục nào đang đƣợc phân tích, hạng mục nào đang đƣợc thiết kế, và hạng mục nào đã bƣớc ào giai đoạn kiểm thử. Chúng tôi lại mất một buổi họp nữa để thảo luận cho vấn đề này và quyết định tách giai đoạn phát triển thành 3 giai đoạn con: Phân tích, thiết kế, kiểm thử. Lúc này bảng của chúng tôi có dạng nhƣ sau:
Hình 4. 7 Tách giai đoạn phát triển
Chính sách làm việc của mỗi giai đoạn con đƣợc thêm vào mỗi cột. Sử dụng mô hình UML để mô tả dữ liệu ở giai đoạn phân tích. Sử dụng công cụ để thiết kế phần mềm là VS 2008, kho dữ liệu là sql200, két nối dữ liệu thông qua ODBC ở giai đoạn thiết kế. Có thể bạn sẽ thắc mắc tại sao dùng VS2008 mà không dùng SQLserver 2005, bởi vì hệ thống máy tính của khách hàng đang cài đặt phần mềm có sử dụng SQL server 2000. Chình sách cho giai đoạn kiểm thử là: kiểm thử qua 2 bƣớc: kiểm thử đơn vị , kiểm thử hệ thống. Chính sách chung cho toàn giai đoạn là: tự giác kéo các hạng mục vào phát triển. Ngƣời quản lý sẽ dựa vào số lƣợng công việc hoàn thành ở mỗi tuần để đánh giá năng lực làm việc của mỗi ngƣời.
Sau khi đã cải tiến quy trình làm việc, chúng tôi đã nhìn thấy một yêu cầu bị tắc nghẽn ở giai đoạn thiết kế. Đó là yêu cầu nhập dữ liệu giấy phép khắc dấu. Ngƣời thực hiện đang không xử lý đƣợc việc thiết kế giao diện để phù hợp với việc một giấy phép mà cho phép khắc nhiều con dấu. Vấn đề này đã đƣợc đƣa ra cho cả nhóm thảo luận và đƣa ra đƣợc cách giải quyết cuối cùng sao cho phù hợp với yêu cầu nghiệp vụ. Để biết hạng mục nào đang bị tắc nghẽn, chúng tối đánh dấu thẻ tắc nghẽn là màu xanh, trên thẻ có ghi ngày bị tắc nghẽn, lý do vì sao tắc nghẽn.
Vời việc xử lý tắc nghẽn kịp thời, chúng tôi đã cho ra phiên bản đầu tiên sau 3 tuần, sớm hơn kế hoạch là 1 tuần.
Chúng ta cùng lƣớt quá một số biểu đồ ca sử dụng trong hệ thống quản lý con dấu, các mô hình này là kết quả của giai đoạn phân tích.
Hình 4.10 Mô hình ca sử dụng “Tổng hợp tình hình quản lý con dấu”
Ở giai đoạn này, hàng tuần chúng tôi đều cập nhật biểu đồ luồng tích lũy công việc ở mỗi giai đoạn. Dƣới đây là biểu đồ tích lũy công việc từ tuần đầu phát triển đến tuần thứ 10 – tuần mà phiên bản đầy đủ các yêu cầu đƣợc hoàn thành.
0 5 10 15 20 25 30 1/4/20 13 7/4/20 14 14/04 /201 3 21/04 /201 3 28/04 /201 3 5/5/20 13 12/5/ 2013 26/05 /201 3 7/7/20 13 14/07 /201 4 21/07 /201 3 Số công việc cần làm Phân tích Thiết kế Kiểm thử Hoàn thành
Hình 4. 11 Biểu đồ luồng tích lũy số công việc ở mỗi giai đoạn phát triển
4.2.4 Giai đoạn đƣa ra sản phẩm
Công việc ở bƣớc này là gặp gỡ khách hàng trình bầy nhƣng gì đã làm đƣợc ở phiên bản đầu tiên.
Dựa vào những gì đã đƣợc trình bày, phía khách hàng sẽ quyết định những chức năng nào hoàn thành tốt, những chức năng nào cần cải tiến, thậm chí những chức năng nào cần loại bỏ. Tiếp theo là phải đƣa ra đƣợc những chức năng sẽ đƣợc cài đặt trong vòng lặp kế tiếp.
Thông qua buổi trình bầy, ngƣời phát triển cần rút ra đƣợc những kinh nghiệm, tiếp thu những ý kiến đánh giá của khách hàng.
Sau khi chúng tôi làm việc với khách hàng xong, các ý kiến phản hồi cho từng chức năng của phiên bản đầu tiên đƣợc chúng tôi gằn lên cột “Đƣa ra sản phẩm”, mỗi thẻ thể hiện một chức năng và các ý kiến của họ đƣợc ghi bên dƣới tên mỗi thẻ. Sau đó chúng tôi quay lại bƣớc lập kế hoạch. Sƣ dụng các thẻ ở giai đoạn này để làm cơ sở cho giai đoạn lập kế hoạch tiếp theo.
Khi đã trải qua một số vòng lặp từ giai đoạn lập kế hoạch đến giai đoạn đƣa ra sản phẩm, một phiên bản đầy đủ các yêu cầu của sản phẩm đã hoàn thành chúng tôi bƣớc vào giai đoạn bảo trì.
Chính sách của giai đoạn này là: ai phát triển hạng mục nào thì chịu trách nhiệm chính với các ý kiến phản hồi của khách hàng.
4.2.5 Giai đoạn bảo trì
Ở giai đoạn này, một phiên bản hoàn thiện đầy đủ các chức năng đƣợc giao cho khách hàng sử dụng thực tế. Các lỗi, các thay đổi, hay thậm chí các yêu cầu mới từ sản phẩm hiện tại sẽ đƣợc khách hàng phản ánh lại cho cho nhóm phát triển. Các thay đổi này sẽ đƣợc cập nhật ở giai đoạn phát triển.
4.2.6 Giai đoạn kết thúc
Khi tất cả các chức năng đã đƣợc thực hiện, khách hàng đã thỏa mãn với sản phẩm, sản phẩm cuối đƣợc chuyển giao cho khách hàng thì tiến hành kết thúc dự án. Công việc ở giai đoạn này là:
- Viết tài liệu cho hệ thống.
- Tiến hành chuyển giao sản phẩm, tài liệu liên quan