Các trạng thái cần đạt được ở giai đoạn xây dựng

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu SEMAT và ứng dụng công cụ esswork trong phát triển phần mềm (Trang 40)

Chi tiết các công việc cần thực hiện để đạt được các trạng thái ở hình trên được mô tả trong bảng sau:

State Checklist Cách hoàn thành các trạng thái

Acceptable

- Các Requirement mô tả một giải pháp được các bên liên quan đồng ý.

- Khả năng các Requirement thay đổi là rất thấp.

- Giá trị của Requirement được mọi người hiểu rõ.

Nhóm phát triển phân tích các Requirement, cùng anh Hải xem xét lại về các Requirement. Nhóm phát triển có thay đổi một chút về Requirement và được anh Hải đồng ý với những thay đổi này. Cả anh Hải và nhóm phát triển đã hiểu rõ và chấp nhận về phần mềm.

Addressed

- Hệ thống có đủ các Requirement cần thiết được các bên liên quan chấp thuận.

- Các bên liên quan đồng ý rằng hệ thống có giá trị hoạt động.

Nhóm ngày càng hoàn thiện thêm các yêu cầu đặt ra, hệ thống sẽ phát triển đến một điểm mà anh Hải đồng ý rằng đến điểm đó là cần thiết mặc dù còn nhiều chức năng chưa hoàn thành nhưng mọi người cũng đồng rằng hệ thống như thế đã có đủ chức năng và đạt yêu cầu.

Satisfied for deployment

- Đại diện các bên liên quan cung cấp phản hồi về hệ thống từ nhóm mà họ đại diện.

- Đại diện các bên liên quan xác nhận việc hệ thống sẵn sàng được triển khai.

Anh Hải đã làm việc với phòng kinh doanh và phòng kế toán xác định tiêu chuẩn cho việc triển khai và cung cấp các phản hồi cho nhóm phát triển. Nhóm phát triển đã hoàn thành hệ thống cùng với sự thành công của kiểm thử chấp nhận thì các bên liên quan đã đồng ý việc hệ thống có thể được triển khai. Bảng 1.4 Cách hoàn thành các trạng thái ở giai đoạn xây dựng

Opportunity: Addressed

- Một giải pháp đã được đưa ra

- Một hệ thống có thể dùng được đã tồn tại.

- Các bên liên quan đồng ý cho triển khai hệ thống.

- Các bên liên quan hài lòng với giải pháp nêu ra.

Sau khi kết thúc thành công việc kiểm thử chấp nhận thì các bên liên quan đẫ hiểu rõ ý tưởng của anh Hải và hệ thống đã sẵn sàng cho việc ra mắt.

Fulfilled - Hệ thống đã có đủ các yêu cầu cần thiết.

- Không có yêu cầu nào ngăn cản việc kết thúc hệ thống.

Nhóm phát triển thực hiện thêm các yêu cầu cho hệ thống, tìm kiếm thêm các nhược điểm và chạy lại kiểm thử chấp nhận. Kết quả là anh Hải cũng như nhóm đã kết luận là hệ thống đã hoàn thiện.

Conclued

- Công việc đã hoàn thành. - Kế quả của công việc đã đạt được mục tiêu đề ra.

- Khách hàng chấp nhận kết quả của hệ thống.

Nhóm sửa chữa lại kế hoạch lần cuối, họ ghi lại những bài học đã trải qua.

Các tài liệu về hệ thống, cách làm việc…được lưu giữ lại ở phong IT để có thể tham khảo cho các dự án tiếp theo hoặc khi cần sửa chữa ứng dụng.

Working Well

- Các thành viên trong nhóm đã tiến bộ như kế hoạch đề ra.

- Nhóm phát triển áp dụng các thực hành mà không cần suy nghĩ về chúng.

- Công cụ đưa ra hỗ trợ cho cách làm việc.

Các thành viên trong nhóm cùng chia sẻ với nhau, hỗ trợ giúp đỡ lẫn nhau trong việc sử dụng công cụ vì thế mà mọi người đều tiến bộ nhanh và sử dụng công cụ đưa ra một cách thành thạo giúp cho công việc tiến triển tốt, đạt được tiến độ đặt ra.

- Giai đoạn chuyển giao:Ở giai đoạn này sản phẩm đã đủ điều kiện đưa vào sử

dụng, dựa trên những phản hồi các phiên bản tiếp theo sẽ được đưa ra sau khi vá lỗi và bỏ những tính năng không cần thiết. Các trạng thái cần hoàn thành trong giai đoạn

này như hình vẽ sau:

Chi tiết các công việc cần thực hiện để đạt được các trạng thái trong hình trên được mô tả trong bảng sau:

State Checklist Công việc thực hiện

Satisfied In - Hệ thống đã đạt được hoặc Người dùng bắt đầu sử dụng hệ Hình 1.6: Các trạng thái cần đạt được ở giai đoạn triển khai.

Use vượt qua sự kỳ vọng tối thiểu của các bên liên quan.

- Nhu cầu và kỳ vọng của các bên liên quan được đáp ứng.

thống và hài lòng về ứng dụng mà họ sử dụng. Cùng với sự phản hồi tốt của các bên liên quan chứng tỏ ứng dụng đã đạt yêu cầu trong sử dụng, các Requirement hoạt động trong môi trường thực tốt như trong thử nghiệm.

Benefit Accured

- Việc sử dụng hoạt động bắt đầu mang lại lợi ích.

- Lợi ích mang lại tốt như dự kiến.

Khi hệ thống hoạt động các nhân viên phòng kinh doanh có thể dễ dàng biết được khách hàng này là mới hay cũ, là đơn vị có thể hợp tác lâu hài hay chỉ một lần, biết được tình hình thanh toán của khách hàng cũ…từ đó đưa ra chiến lược tiếp thị và tạo hợp đồng. Giúp phòng kế toán thu hồi công nợ, thống kê công nợ một cách nhanh chóng.

Fulfilled Đã hoàn thành ở giai đoạn trước

Operational - Hệ thống sử dụng trong môi trường hoạt động thực.

- Hệ thống sẵn sàng cho người dùng sử dụng.

- Hệ thống được hỗ trợ trên mọi cấp độ.

- Có ít nhật một ví dụ về sự hoạt động của ứng dụng.

Sau khi chị Hòa hoàn thành việc kiểm thử chấp nhận thìsẽ cài đặt chương trình vào các máy tính của của công ty.

Chị Hòa luôn sẵn sàng hỗ trợ nhân viên của công ty sử dụng ứng dụng.

Concluded Đã hoàn thành từ giai đoạn trước System: Retired - Hệ thống đã không còn được hỗ trợ. - Hệ thống không còn được cập nhật - Hệ thống đã bị thay thế hoặc không tiếp tục hoạt động.

Ứng dụng đã được triển khai thành công và sau một thời gian sử dụng giám đốc công ty nhận thấy cần phát triển thêm một số chức năng cho ứng dụng. Trước khi phiên bản hai của ứng dụng hoàn thành thì những người sử dụng ứng dụng vẫn được sự hỗ trợ của chị Hòa.

Khi phiên bản thử hai của ứng dụng hoàn thành thì nó thay thế hoàn toàn phiên bản đầu tiên và lúc này phiên bản đầu tiên rơi vào trạng thái không hoạt động nữa.

Closed

- Các nhiệm vụ còn lại được hoàn thành,các công việc chính thức đã làm kết thúc.

- Tất cả mọi thứ được lưu trữ lại - Đưa ra bài học kinh nghiệm.

Với việc triển khai thành công ứng dụng thì công việc của nhóm phát triển coi như đã kết thúc. Nhóm phát triển và các bên liên quan đã tổ chức một buổi họp cùng nhau đưa ra những kinh nghiệm còn thiếu sót trong quá trình làm việc.

Adjourned

- Trách nhiệm của nhóm đã không còn nữa.

- Trách nhiệm đã được bàn giao cho người sử dụng.

- Các thành viên trong nhóm sẵn sàng bàn giao cho các nhóm

Do công việc của ứng dụng đã kết thúc nên nhóm sẽ không làm việc cùng nhau trong ứng dụng này nữa. Các trách nhiệm của các thành viên trong nhóm với ứng dụng không còn nữa, nhóm sẽ được phân công làm

khác. Way of Work: Retired - Các làm vi nhóm sử dụ - Các bài h chia sẻ để lai. 1.2.4 Activity Space Kernel cung cấp m cấp một cái nhìn cơ bản v việc sẽ chứa tất cả các ho hướng dẫn về các hoạt đ

hoạt động thường gặp trong quá trình phát tri

các công việc khác trong phòng IT của công ty.

Các làm việc không còn được ụng.

Các bài học kinh nghiệm được sử dụng trong tương

Do ứng dụng đã tri

công việc đã kết thúc nên các làm việc không còn đư

bài học kinh nghiệm đư trong tài liệu về cách làm vi thể sử dụng khi phát tri dụng khác trong tương lai.

p một tập hợp các Activity Spaces hỗ trợ cho cho

n về hoạt động của công nghệ phần mềm. Trong không gian làm các hoạt động thường gặp trong quá trình phát triể

t động cần thực hiện các công việc đó. Hình 1.7 s p trong quá trình phát triển.

c khác trong phòng IT

ã triển khai xong, t thúc nên các làm được sử dụng, các m được lưu trữ lại cách làm việc để có ng khi phát triển một ứng ng khác trong tương lai.

cho cho Alpha để cung

Trong không gian làm ển, những mô tả và ình 1.7 sẽ liệt kê các

Explore Possibilities: Nghiên cứu khả năng tạo ra phần mềm mới hoặc sửa chữa

hệ thống phần mềm cũ. Điều này bao gồm việc xác định các Opportunity, xác định các bên liên quan, xác định được sự cần thiết và giá trị của việc xây dựng một phần mềm mới hoặc sửa chữa phần mềm cũ. [5]

Involve the Stakeholders: Để đảm bảo các kết quả đưa ra là đúng thì cần phải có

sự tham gia của các bên liên quan vào các hoạt động của nhóm. Điều này bao gồm việc xác định đại diện các bên liên quan và sự tương tác giữa nhóm phát triển và đại diện các bên liên quan để xác định rõ ràng về Opportunity, nhờ đó mà hệ thống sẽ thỏa mãn yêu cầu của các bên liên quan và đảm bảo lợi ích cho họ, đồng thời đảm bảo được sự thống nhất về giải pháp đưa ra giữa các bên liên quan và nhóm phát triển. [5]

Ensure Stakeholder Satisfaction: Có được sự chấp nhận của các bên liên quan là

một điều hết sức quan trọng, vì nó quyết định đến việc hệ thống có được triển khai hay không? Để làm được điều này nhóm phát triển dựa vào hệ thống phát triển được, yêu cầu của hệ thống được nêu ra và các Opportunity đã thống nhất để chứng minh cho họ thấy các Opportunity đưa ra được giải quyết thành công và chia sẻ quá trình phát triển với họ. Khẳng định rằng hệ thống sẽ mang lại nhiều lợi ích và đáp ứng mọi yêu cầu được đưa ra. [5]

Use the System: Là việc đưa ứng dụng hoạt động động trong môi trường thực.

Việc này giúp cho các bên liên quan thấy rõ hơn lợi ích của hệ thống, sự thỏa mãn của hệ thống với các yêu cầu đưa ra. Ngoài ra việc đưa ứng dụng sử dụng trong môi trường thực còn giúp cho việc thu được các thông tin phản hồi chính xác nhất về ứng dụng xem nó có đáp ứng được yêu cầu nêu ra hay không, đồng thời có thể thu hồi các lợi ích kinh tế từ đó nếu nó đạt yêu cầu.[5]

Understand the Requirements: Thiết lập những hiểu biết chung về những gì hệ

thống phần mềm thự hiện như: Các chức năng của hệ thống, giá trị của hệ thống, phạm vi của hệ thống. [5]

Shape the system: Định hình hệ thống phần mềm để dễ dàng phát triển, thay đổi,

duy trì hệ thống hiện tại và dự kiến hệ thống trong tương lai. Điều này bao gồm thiết kế tổng thể, thiết kế chi tiết các thành phần của hệ thống, đảm bảo hệ thống là phù hợp, linh hoạt. [5]

Implement the System: Xây dựng hệ thống phần mềm bằng cách thực hiện, kiểm

thử, tích hợp với một hoặc nhiều thành phần hệ thống khác. Điều này bao gồm cả sửa lỗi và kiểm tra đơn vị. Công việc này giúp:

- Tạo ra một hệ thống làm việc tốt.

- Xây dựng, tích hợp và thử nghiệm các thành phần hệ thống.

- Tăng số yêu cầu cần thực hiện.

- Sửa chữa khuyết tật.

- Nâng cấp hệ thống

Test the System: Để xác nhận hệ thống đạt được những yêu cầu của các bên liên

quan, xác định những khuyết tật của hệ thống. [5]

Deploy the System: Việc chạy thử hệ thống để chắc chắn rằng nó có thể hoạt

động ở môi trường thực.[5]

Operate the System (vận hành hệ thống): Hỗ trợ việc sử dụng hệ thống trong

môi trường thực như: Hỗ trợ những người sử dụng hệ thống, hỗ trợ các bên liên quan triển khai, vận hành và hỗ trợ hệ thống, duy trì các dịch vụ của hệ thống.[5]

Prepare to do the Work: Thiết lập nhóm và môi trường làm việc, hiểu và cam kết

hoàn thành công việc của mình.[5] Chuẩn bị thực hiện công việc để:

- Tạo kế hoạch ban đầu.

- Thiết lập cách làm việc ban đầu.

Coordinate Activity: Phối hợp và chỉ dẫn công việc của nhóm. Điều này bao

gồm cả việc lập kế hoạch, quy hoạch lại công việc và có thể thêm bất kỳ nguồn nhân lực cần thiết nào đó để hoàn thành việc hình thành nhóm.[5]

Phối hợp hoạt động để chọn công việc ưu tiên khi thực hiện,điều chỉnh kế hoạch để phản ánh kết quả, xác định được những thành viên phù hợp với nhóm làm việc, đảm bảo các mục tiêu thực hiện được và xử lý những thay đổi trong công việc.

Support the Team: Các thành viên trong nhóm tự mình hoặc giúp các thành viên

khác hợp tác với các thành viên khác trong nhóm. Việc hỗ trợ nhóm để cải thiện đội ngũ làm việc, vượt qua các khó khăn gặp phải trong công việc và cải thiện cách thức làm việc của nhóm.[5]

Track Progress: Nhóm cần đánh giá sự tiến bộ của công việc. Việc theo dõi sự tiến

bộ để đánh giá kết quả của công việc, đánh giá sự tiến bộ của công việc và xác định những trở ngại.[5]

Stop the Work: Kết thúc công việc và bàn giao sản phẩm mà nhóm đã hoàn thành.

Khi công việc đã hoàn thành thì cần kết thúc công việc đang thực hiện để bàn giao công việc đã hoàn thành, giải tán nhóm làm việc và lưu trữ lại các công việc đã thực hiện để dau này có thể tham khảo lại những việc đã làm khi thực hiện một dự án khác tương tự.[5]

1.2.5 Các kỹ năng cần thiết (competencies) 1.2.5.1 Giới thiệu sơ lược 1.2.5.1 Giới thiệu sơ lược

Để tham gia vào việc tạo ra phần mềm tốt thì nhóm làm việc cần phải có sự tổng hợp của nhiều kỹ năng ở các lĩnh vực khác nhau. Có thể là kỹ năng về chuyên môn để thực hiện những công việc riêng biệt của mình nhưng cũng có thể là những kỹ năng khác, kỹ năng khác này giúp người làm việc hiểu được phần nào đó công việc của thành viên khác trong nhóm và giúp việc cộng tác với các thành viên khác trong

nhóm tốt hơn. Mỗi một kỹ năng lại có những cấp độ khác nhau. Các kỹ năng được nêu ra trong Kernel được xác định ở 5 cấp độ khác nhau:

- Cấp độ 1- cộng sự: Có thể hiểu rõ về công việc và tự quản lý hoặc thực hiện

công việc ở mức độ cơ bản trong lĩnh vực hoạt động của mình.

- Cấp độ 2 -áp dụng: Có thể cộng tác với các thành viên khác trong nhóm, có

khả năng giải quyết một số khó khăn trong công việc, có thể suy luận từ thực tế và rút ra những kết luận hợp lý.

- Cấp độ 3 -làm chủ: Có thể làm việc trong tất cả các hoàn cảnh và có thể làm

việc không cần giám sát.

- Cấp độ 4-thích ứng: Có óc phán đoán để biết được khi nào áp dụng cách làm

việc nào vào công việc, áp dụng nó như thế nào và giúp đỡ các đồng nghiệp có thể sử dụng nó vào công việc.

- Cấp độ 5- đổi mới cách tân: Một chuyên gia có thể nhận ra rằng có thể mở rộng

cách làm việc để tạo ra bối cảnh mới và truyền cảm hứng làm việc cho những người khác

Ở cấp độ càng cao thì kỹ năng của người làm việc ở lĩnh vực đó càng tốt, cấp độ sau bao phủ cấp độ trước và thêm một số đặc điểm của cấp độ sau. Các kỹ năng làm việc của các thành viên trong nhóm thông thường sẽ dần dần được nâng cao thông qua các công việc, người có nhiều năm kinh nghiệm thông thường sẽ có những kỹ năng trong lĩnh vực công việc của mình cao hơn. Kỹ năng được nâng cao nhanh hay chóng còn tùy thuộc vào một số yếu tố như: Độ phức tạp về kỹ thuật của giải

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu SEMAT và ứng dụng công cụ esswork trong phát triển phần mềm (Trang 40)