Mục đích:
Quy trình xác định yêu cầu thực hiện một số công việc sau:
- Phân tích hệ thống hiện tại và quy trình nghiệp vụ có liên quan.
- Tổng hợp yêu cầu của các lớp người sử dụng đối với hệ thống.
- Xác định các lớp người dùng có thể có trong tương lai và chức năng mong muốn của họ.
- Tổng hợp tài liệu yêu cầu và đề nghị Khách hàng phê duyệt.
Phương thức thực hiện:
Quy trình xác định yêu cầu của hệ thống trải qua một số bước chính sau:
| Bước |
Vai trò của ISOFTCO |
Vai trò của Khách hàng |
| Lập kế hoạch KSYC |
- Lên kế hoạch chi tiết về thời gian làm việc với Khách hàng, với từng phòng ban - đơn vị.
- Nêu rõ các nội dung cần tìm hiểu với từng công việc cụ thể trong kế hoạch.
- Nhận kế hoạch từ Khách hàng, thống nhất kế hoạch giữa hai bên. |
- Lên kế hoạch chi tiết về thời gian làm việc với Khách hàng, với từng phòng ban - đơn vị.
- Nêu rõ các nội dung cần tìm hiểu với từng công việc cụ thể trong kế hoạch.
- Nhận kế hoạch từ Khách hàng, thống nhất kế hoạch giữa hai bên. |
| Khảo sát hệ thống. |
- Thực hiện khảo sát theo kế hoạch đã thống nhất.
- Tìm hiểu nghiệp vụ của hệ thống hiện tại.
- Tìm hiểu các hệ thống hoặc nghiệp vụ liên quan.
- Thu thập các tư liệu liên quan đến hệ thống, như: đơn từ, báo cáo, hóa đơn. |
- Cung cấp các thông tin về nghiệp vụ mà ISOFTCO cần.
- Giải thích các nghiệp vụ phức tạp hoặc mang tính chuyên môn cao.
- Cung cấp các tài liệu, tư liệu có liên quan đến hệ thống. |
| Thu thập yêu cầu của NSD |
Thu thập các yêu cầu, kỳ vọng của NSD đối với hệ thống sắp xây dựng.
Tư vấn cho khách hàng lựa chọn các giải pháp, chức năng tối ưu cho hệ thống |
Trình bày những mong muốn của mình đối với hệ thống mới.
Trao đổi, đóng góp ý kiến về các giải pháp cho những vấn đề khó khăn của hệ thống. |
Biên soạn và duyệt tài liệu Yêu cầu của hệ thống. |
- Người chịu trách nhiệm KSYC sẽ tổng hợp toàn bộ thông tin yêu cầu thành tài liệu và đưa cho Khách hàng duyệt.
- Chỉnh sửa cho đến khi thống nhất với Khách hàng.
|
- Duyệt tài liệu tổng hợp yêu cầu của hệ thống.
- Đóng góp ý kiến để đi đến thống nhất.
|
| Tổng hợp, bàn giao kết quả |
Tổ chưc cuộc họp thông qua toàn bộ tài liệu tổng hợp về yêu cầu của hệ thống, ký duyệt thông qua tài liệu này. |
Ký duyệt tài liệu tổng hợp yêu cầu của hệ thống. |
|
Kết quả của quá trình tìm hiểu yêu cầu:
- Tài liệu tổng hợp yêu cầu của hệ thống.
- Các tư liệu liên quan đến hệ thống và các nghiệp vụ liên quan.
- Các tài liệu mô tả nghiệp vụ hệ thống và nghiệp vụ liên quan.
- Biên bản thống nhất yêu cầu hệ thống.
Tài liệu ghi nhận:
| TT |
Tên tài liệu |
Người duyệt |
Mục đích |
| 1 |
Kế hoạch KSYC hệ thống |
Khách hàng GDDA |
Đưa ra kế hoạch khảo sát, kế hoạch làm việc và nội dung làm việc với Khách hàng. |
| 2 |
Tài liệu báo cáo tiến độ KSYC |
GDDA, CBPT |
Báo cáo tình hình và kết quả thu được |
| 3 |
Tài liệu tổng hợp yêu cầu của hệ thống. |
Khách hàng,
GDDA |
Tổng hợp toàn bộ yêu cầu chính của hệ thống. |
| 4 |
Các tư liệu liên quan đến nghiệm vụ của hệ thống và nghiệp vụ liên quan khác |
Khách hàng,
CBPT |
Bổ sung tư liêu cho việc xác định nhu cầu và nghiệp vụ của hệ thống. |
|
Mục đích:
Quá trình phân rã nhóm chức năng nhằm xác định một số vấn đề:
- Mức độ ưu tiên của từng nhóm chức năng.
- Xác định một số vòng lặp (Sprint) cơ bản của quy trình phát triển dự án. Bao gồm thời gian thực hiện, các chức năng sẽ thực hiện.
- Thông nhất thời gian thực hiện các Sprint đầu tiên.
Phương thức thực hiện:
Quy trình phân rã chức năng và nhóm chức năng của hệ thống trải qua một số bước chính sau:
| Bước |
Vai trò của ISOFTCO |
Vai trò của Khách hàng |
| Xác định chức năng và nhóm chức năng |
- Căn cứ vào tài liệu yêu cầu hệ thống, xác định các chức năng chính.
- Nhóm các chức năng có liên quan đến nhau.
- Thể hiện mối liên quan các chức năng bằng sơ đồ use-case
|
- Duyệt các chức năng phía ISOFTCO đưa ra
- Bổ sung, chỉnh sửa nếu cần thiết.
- Thống nhất danh sách các chức năng sẽ phát triển trong dự án.
|
| Định giá nhóm chức năng |
- Đánh giá mức độ quan trọng của từng chức năng. Đưa ra thứ tự ưu tiên của từng chức năng.
- Định lượng thời gian phát triển cho từng chức năng.
|
- Xét duyệt thư tự ưu tiên của các chức năng trong hệ thống
- Chỉnh sửa thứ tự ưu tiên, mức độ quan trọng của chức năng theo kỳ vọng của NSD.
|
| Duyệt đánh giá chức năng |
Thống nhất danh sách chức năng, mức độ quan trong, thứ tự thực hiện và thời gian ước tính. |
Thống nhất danh sách chức năng, mức độ quan trong, thứ tự thực hiện và thời gian ước tính. |
| Lên kế hoạch cho các Sprint của dự án |
- Nhóm các chức năng có liên quan và có độ ưu tiên tương đường thành các nhóm.
- Tập hợp một hoặc một số nhóm chức năng thành và các Sprint, thời gian thực hiện trong khoảng 4 tuần.
|
- Duyệt danh sách nhóm chức năng.
- Xác nhận kế hoạch thực hiện các Sprint.
|
| Xác định các Spirnt ban đầu |
Xác định Sprint có những nhóm chức năng quan trọng, độ ưu tiên cao nhất và thực hiện ở Sprint đầu tiên. |
Xác nhận kế hoạch thực Sprint đầu tiên và lên kế hoạch phối hợp cùng ISOFTCO. |
|
Kết quả:
- Danh sách các chức năng theo thứ tự ưu tiên.
- Định lượng thời gian phát triển của từng chức năng.
- Danh sách các Sprint bao gồm nhóm chức năng và thời gian hoàn thành.
- Xác định Sprint sẽ được đưa và thực hiện đầu tiên.
Tài liệu ghi nhận:
| TT |
Tên tài liệu |
Người duyệt |
Mục đích |
| 1 |
Tài liệu phân rã chức năng |
Khách hàng
CBPT |
Đưa ra danh sách các chức năng chính của hệ thống, đánh giá mức độ quan trọng của từng chức năng. |
| 2 |
Tài liệu kế hoạch phát triển các Sprint |
Khách hàng
CBPT |
Đưa ra kế hoạch phát triển các nhóm chức năng, ước tính ngày hoàn thành và xét duyệt của từng Sprint. |
| 3 |
Tài liệu mô tả về Sprint đầu tiên |
Khách hàng
CBPT |
Đưa ra được tài liệu mô tả yêu cầu ở mức tương đối chi tiết đối với nhóm chức năng ở Sprint đầu tiên. |
|
Mục đích:
Sử dụng các công cụ lập trình triển khai các chức năng, nhóm chức năng trong Sprint được chọn. Việc thực thi các Sprint là điểm khác biệt vượt trội của quy trình Agile/Scrum so với các quy trình khác. Chúng tôi gia tăng tính tương tác hai chiều giữa Khách hàng và đội phát triển, giữa các thành viên trong đội phát triển của ISOFTCO với nhau.
Kết thúc một Sprint, tất cả các chức năng – nhóm chức năng trong Sprint đó được hoàn thiện cả về chương trình, tài liệu và được Khách hàng phê duyệt.
Phương thức thực hiện:
Quá trình triển khai một Sprint trong quy trình Agile/Scrum yêu cầu sự phối hợp tích cực giữa các thành viên trong đội phát triển, cũng như giữa Khách hàng và
ISOFTCO.
Mọi người trong team cũng như Khách hàng có thể theo dõi tiến độ triển khai các công việc một cách chi tiết. Có thể góp ý, bổ sung ngay lập tức thông qua các công cụ hỗ trợ việc triển khai Sprint, như: Mantis, Wiki, chating, ...
Vai trò của cả hai phía trong quá trình triển khai Sprint như sau:
| Bước |
Vai trò của ISOFTCO |
Vai trò của Khách hàng |
| Phân rã công việc chi tiết |
- Phân rã các chức năng của Spirnt thành các công việc nhỏ, định lượng thời gian thực hiện trong vòng 1 ngày.
- Các CBPTr sẽ đánh giá và đăng ký công việc mình sẽ làm
- CBPT sẽ tổng hợp và đưa ra kế hoạch chi tiết cho Sprint hiện tại |
- Phê duyệt kế hoạch phát triển của Sprint
- Lên kế hoạch tham gia vào quá trình thực hiện và thẩm định kết quả |
| Phân tích thiết kế |
- CBPT và CBPTr sẽ kết hợp bổ sung tài liệu mô tả chức năng nếu cần.
- CBPT và CBPTr trao đổi và thực hiện phân tích thiết kế chức năng: thiết kế Database, thiết kế chương trình |
- Duyệt nội dung yêu cầu được bổ sung.
- Duyệt tài và bổ sung – góp ý tài liệu phân tích thiết kế |
| Phát triển |
- CBPTr sử dụng công cụ lập trình để triển khai chức năng đã được thiết kế |
|
| Kiểm thử |
- Kiểm thử các chức năng đã được phát triển |
- Tham gia vào quá trình kiểm thử |
| Họp hàng ngày |
- Nhóm phát triển thực hiện họp nhanh mỗi ngày 1 lần trong khoảng 30 phút
- Tổng kết những vấn đề đã giải quyết xong của ngày hôm trước
- Nêu lên những khó khăn gặp phải
- Xác định mục tiêu của ngày hôm nay. |
|
| Kết thúc một Sprint |
- Duyệt toàn bộ chức năng của đã phát triển trong Sprint
- Tích hợp với các chức năng ở Sprint trước đó |
- Kiểm duyệt toàn bộ chức năng của Sprint hiện tại.
- Xem xét các nghiệp vụ và chức năng liên quan. |
| Tổng kết Sprint |
- Nêu ra những khó khăn của Sprint hiện tại
- Nêu ra những điểm cần khắc phục |
Tham gia buổi họp tổng kết.
- Góp ý cho cách phát triển và tương tác giữa 2 bên ở Sprint tiếp theo. |
|
Kết quả:
- Hoàn thiện bộ tài liệu mô tả yêu cầu của các chức năng ở mức chi tiết
- Hoàn thiện bộ tài liệu phân tích thiết kế các chức năng ở mức chi tiết.
- Triển khai các chức năng đã được liệt kê trong Sprint.
- Khách hàng phê duyệt và xác nhận các chức năng đã triển khai.
- Tích hợp các chức năng của Sprint vào hệ thống cùng với các chức năng đã triển khai khác.
Tài liệu ghi nhận:
| TT |
Tên tài liệu |
Người duyệt |
Mục đích |
| 1 |
Tài liệu mô tả chi tiết chức năng |
Khách hàng CBPT |
Mô tả chi tiết các chức năng được phát triển trong Sprint |
| 2 |
Tài liệu phân tích – thiết kế chức năng |
Khách hàng CBPT |
Phân tích – thiết kế chi tiết các chức năng được phát |
| 3 |
Tài liệu ghi nhận biên bản cuộc họp |
CBPT, CBPTr |
Ghi nhận trạng thái hiện tại của việc phát triển các chức năng trong Sprint. |
| 4 |
Tài liệu tổng hợp trạng thái của Sprint |
CBPT, CBPTr |
Ghi nhận trạng thái hiện tại của việc phát triển các chức năng trong Sprint. |
| 5 |
Tài liệu ghi nhận kết quả Sprint |
Khách hàng
GDDA, CBPT
|
Ghi nhận kết quả của Sprint, đánh giá và xác nhận của Khách hàng. |
| 6 |
Tài liệu tổng kết Sprint |
Khách hàng
GDDA, CBPT
|
Ghi nhận những ưu, nhược điểm của quá trình phát triển Sprint vừa rồi. Rút kinh nghiệm cho Sprint sau đó. |
|
Công cụ hổ trợ quá trình phát triển dự án
Quá trình phát triển dự án theo quy trình Agile/Scrum nhấn mạnh vào việc tương tác hai chiều giữa nhóm phát triển và Khách hàng. Chính vì vậy, chúng tôi sử dụng các phần mềm hỗ trợ thực hiện việc công khai toàn bộ công việc, tiến độ, kết quả của quá trình phát triển.
VersionOne: Công cụ xây dựng hỗ trợ quy trình phát triển dự án theo quy trình Scrum. Hỗ trợ các chức năng như
- Phân rã các task vụ của hệ thống, đánh giá độ ưu tiên của từng chức năng
- Lập kế hoạch cho dự án.
- Lập kế hoạch cho Sprint
- Ghi nhận kết quả triển khai từng công việc nhỏ trong Sprint.
- Sinh các báo cáo tiến độ cho Sprint – dự
Một trong những báo cáo quan trọng nhất của quy trình Agile/Scrum là biểu đồ Burndow. Biểu đồ này cho thấy tiến độ thực tế (đường gấp khú màu xanh) so với tiến độ mong muốn (đường thẳng màn tím).
Nếu đường tiến độ thực tế nằm trên đường tiến độ mong muốn, Sprint đó đang chậm hơn dự kiến. Và ngược lại nếu đường tiến độ thực tế nằm dưới, Sprint đó đang nhanh hơn tiến độ dự kiến.
Mantis: Công cụ cho phép ghi nhận lỗi vào quá trình sửa lỗi của chương trình. Cho phép nhân viên kiểm thử (CBKT) đưa những lỗi của hệ thống lên để CBPTr thực hiện chỉnh sửa.
Màn hình làm việc của Mantis cho thấy danh sách các lỗi của hệ thống, mô tả của lỗi, trạng thái xử lý và người được giao xử lý các lỗi đó. Mọi thay đổi về trạng thái bug cũng như đều được gửi mail đến người liên quan, nên việc cập nhật và xử lý bug được thực hiện nhanh chóng và chuyên nghiệp.
Wiki tool: Công cụ cho phép công bố những tài liệu liên quan đến dự án, như tài liệu yêu cầu, tài liệu phân tích thiết kế hệ thống. Đồng thời cho phép người dùng có thể bổ sung, chỉnh sửa nội dung.
Hệ thống Wiki cho phép công bố các tài liệu trong quá trình soạn thảo, bổ sung cho những người tham gia phát triển dự án.
Khách hàng cũng sẽ tham gia vào hệ thống với vai trò kiểm duyệt và góp ý bổ sung các nội dung được công bố trên wiki.
Mục đích:
Triển khai hệ thống đã hoàn thành lên môi trường thực tế của khách hàng, bàn giao, hướng dẫn đào tạo người sử dụng.
Phương thức thực hiện:
Vai trò của Khách hàng và ISOFTCO trong quá trình triển khai như sau:
| Bước |
Vai trò của ISOFTCO |
Vai trò của Khách hàng |
| Chuẩn bị |
Chuẩn bị môi trường, chương trình để triển khai |
Chuẩn bị phần cứng cần thiết để triển khai hệ thống. |
| Triển khai |
Triển khai hệ thống lên môi trương thực tế. |
Cung cấp thông tin hỗ trợ ISOFTCO trong quá trình triển khai. |
| Biên soạn tài liệu |
- Biên soạn tài liệu triển khai, cài đặt
- Biên soạn tài liệu hướng dẫn nâng cấp bảo trì
- Biên soạn tài liệu hướng dẫn sử dụng hệ thống |
Tham gia vào quá trình kiểm |
| Kiểm thử |
Kiểm thử các chức năng đã được phát triển |
Tham gia vào quá trình kiểm thử |
| Họp hàng ngày |
- Nhóm phát triển thực hiện họp nhanh mỗi ngày 1 lần trong khoảng 30 phút
- Tổng kết những vấn đề đã giải quyết xong của ngày hôm trước
- Nêu lên những khó khăn gặp phải
- Xác định mục tiêu của ngày hôm nay. |
|
| Đào tạo |
- Lên kế hoạch đào tạo
- Thực hiện đào tạo cho từng nhóm người dùng.
|
- Duyệt kế hoạch đào tạo của ISOFTCO và ên kế hoạch tham gia đào tạo
- Phối hợp thực hiện đào tạo sử dụng hệ thống
|
| Vận hành |
Vận hành toàn bộ chức năng của hệ thống |
Phối hợp vận hành nghiệm thu hệ thống |
| Nghiệm thu |
Làm các thủ tục nghiệm thu hệ thống và thanh lý dự án |
Phối hợp thực hiện nghiệm thu và thanh lý dự án. |
|
Kết quả:
- Triển khai thành công hệ thống lên môi trường thực tế.
- Chuẩn bị đầy đủ bộ tài liệu hướng dẫn
- Đào tạo đầy đủ cho từng nhóm người dùng phía Khách hàng.
- Bàn giao toàn bộ tài liệu yêu cầu, phân tích thiết kế, hướng dẫn của hệ thống.
- Nghiệm thu và thanh lý toàn bộ dự án
Tài liệu ghi nhận:
| TT |
Tên tài liệu |
Người duyệt |
Mục đích |
| 1 |
Tài liệu hướng dẫn cài đặt |
Khách hàng CBPT |
Hướng dẫn triển khai, cài đặt hệ thống trên môi trường thực tế |
| 2 |
Tài liệu hướng dẫn sử dụng |
Khách hàng CBPT |
Hướng dẫn vận hành, sử dụng toàn bộ chức năng của hệ thống. |
| 3 |
Kế hoạch đào tạo |
Khách hàng CBPT |
Đưa ra kế hoạch đào tạo của ISOFTCO và kế hoạch phối hợp của Khách hàng |
| 4 |
Biên bản nghiệm thu hệ thống và kết quả đào tạo |
Khách hàng CBPT |
Xác nhận kết quả của hệ thống và kết quả của quá trình đào tạo. |
|