1. 6 Điều kiện để áp dụng
3.5.1. Dự án bảng khai báo công việc TimeSheet
Mô tả dự án
Dự án khai báo công việc TimeSheet là dự án phát triển nhằm hỗ trợ nhân viên VIB dễ dàng khai báo công việc mình thực hiện hàng ngày nhằm quản lý công việc, thống kê công sức đóng góp, và đồng thời giúp nhân viên nhớ đƣợc và dễ dàng thống kê các công việc mà mình đã thực hiện. Khai báo TimeSheet là việc phải thiết lập một thói quen nhƣ ghi nhật ký hàng ngày, càng ghi chi tiết thì càng có cơ sở dữ liệu để lên kế hoạch, phân chia công việc phù hợp, và có thể phát hiện ra các vấn đề mà nhân viên gặp phải để hỗ trợ và tìm cách giải quyết.
Các chức năng chính
Quản lý các đầu mục công việc của nhân viên, cho phép nhân viên khai báo các đầu mục công việc, thời gian, công sức bỏ ra, các ảnh hƣởng và tác động của công việc tới dự án, nhóm, hay công việc kinh doanh. Cho phép nhân viên nhập bảng khai báo công việc của mình vào file excel vào nhập dữ liệu từ file excel vào hệ thống.
Cho phép nhân viên dễ dàng tập hợp, phân tích và đánh giá đƣợc các đóng góp của mình cho dự án, cho nhóm hay tổ chức dựa trên các khai báo về công việc hàng ngày.
Cho phép ngƣời quản lý kiểm tra đƣợc tình trạng công việc, qua đó nắm đƣợc tình hình của nhóm hay của dự án.
Cho phép sử dụng các tài khoản Active Directory (để sử dụng đăng nhập vào hòm mail) cũng đăng nhập đƣợc vào chƣơng trình.
Tổ chức đội dự án
Toàn đội dự án bao gồm 8 thành viên là nhân viên đƣợc lấy ra từ các phòng hỗ trợ hệ thống của Trung Tâm Công Nghệ Ngân Hàng VIB. Đây là một dự án không lớn nhƣng nếu đáp ứng đƣợc các tiêu chí đề ra, nó sẽ là động lực rất lớn cho VIB áp dụng một phƣơng pháp mới trong việc phát triển phần mềm và khẳng định đƣợc khả năng tự phát triển phần mềm phục vụ cho mục đích kinh doanh của VIB.
Lựa chọn kỹ thuật
Đây là một dự án mới, đƣợc đầu tƣ và phát triển từ đầu nên việc lựa chọn giải pháp kỹ thuật không phụ thuộc vào các hệ thống cũ mà cần phải tính đến cơ chế mở rộng để các hệ thống sau này có thể phát triển mở rộng và tích hợp thêm vào. Do đây là dự án áp dụng cho toàn bộ nhân viên của VIB (khoảng 2500 ngƣời) đƣợc kết nối qua mạng WAN của riêng ngân hàng nên đội dự án đã quyết định sử dụng công nghệ Java WebStart (Jnlp - Java Network Launching Protocol) ở phía máy khách và công nghệ Servlet ở phía máy chủ kết nối với cơ sở dữ liệu Oracle 10g.
Môi trƣờng phát triển ở phía ngƣời phát triển nhƣ sau: - Máy tính tối thiểu PIII 1.2 GHz, RAM 2G
- Hệ điều hành WinXP ServicePack 3
- Môi trƣờng phát triển tích hợp MyEclipse 6 Môi trƣờng triển khai hệ thống:
- Máy chủ IBM System x3650 M2 - Web Server Tomcat 5.5
- Máy ảo Java 1.6
- Cơ sở dữ liệu Oracle 10g
Dự án bắt đầu từ 16/09/2008 đến 24/12/2008, thì hoàn thành bao gồm phần việc kiểm thử nghiệm thu và triển khai dự án. Dự án đƣợc chia làm 3 giai đoạn:
Giai đoạn đầu: Phát triển tính năng nhập và chỉnh sửa bảng khai báo công việc. Trong giai đoạn này, xây dựng một khung chƣơng trình tƣơng tác giữa ứng dụng khách và ứng dụng dịch vụ. Tích hợp với hệ thống tài khoản Active Directory để có thể đăng nhập vào và sử dụng với tài khoản đăng nhập vào hòm thƣ điện tử.
Giai đoạn thứ hai: Hoàn thiện tích năng quản lý khai báo công việc cho nhân viên. Xây dựng tính năng quản ký kiểm tra tình hình công việc, các báo cáo quản lý nhóm, báo cáo dành cho nhân viên.
Giai đoạn ba: Hoàn thiện các sửa đổi ở giai đoạn một và giai đoạn hai. Xây dựng các tính năng hỗ trợ ngƣời dùng nhƣ nhập dữ liệu từ file excel, ghi nhận thông tin làm việc từ lúc đăng nhập vào hệ thống đến lúc thoát khỏi hệ thống, đặt các thông báo đến ngƣời dùng hoặc ngƣời quản lý khi một nhiệm vụ hay một dự án hoàn thành.
Đánh giá kết quả thực hiện
Đây là dự án đầu tiên mà VIB áp dụng phƣơng thức lập trình cực hạn XP cho dự án tự phát triển trong doanh nghiệp. Dự án đã đƣợc sự ủng hộ và quan tâm rất lớn của các cấp lãnh đạo cũng nhƣ của các phòng liên quan. Có thể nói đây là một dự án thay đổi “tƣ duy” về phát triển và ứng dụng công nghệ thông tin vào các hoạt động kinh doanh của VIB cũng nhƣ việc khẳng định khả năng của Trung Tâm Công Nghệ Ngân Hàng VIB đối với việc phát triển các phần mềm phục vụ kinh doanh. Đồng thời, dự án cho VIB thấu hiểu hơn về việc phát triển phần mềm và có các cách thức tiếp xúc tốt hơn đối với các đối tác cung cấp dịch vụ phần mềm cho VIB.
Dự án đã thành công đúng nhƣ kỳ vọng một phần là do đây là dự án điểm, mọi ngƣời đều nỗ lực hết mình nhằm hoàn thành mục tiêu đề ra. Dự án đã mở ra nhiều các thay đổi trong phƣơng thức quản lý và làm việc của đội dự án nói riêng và trung tâm công nghệ nói chung và mang lại nhiều đánh giá hết sức lạc quan về việc áp dụng XP:
Điều đầu tiên phải kể đến đó là thay vì việc liên hệ giữa các phòng ban, đội dự án ngồi cạnh nhau và trao đổi trực tiếp với nhau để giải quyết công việc ngay lập tức.
Thứ hai, dự án đƣợc phân thành vài vòng lặp nhỏ đƣợc lựa chọn các tính năng ƣu tiên phát triển trƣớc. Sau mỗi vòng lặp, đội dự án đã nhanh chóng triển khai để cho các nhân viên VIB có thể sử dụng và đƣa ra các phản hồi.
Thứ ba, dự án đƣợc thay đổi liên tục về mặt nghiệp vụ theo các phản hồi đƣợc tập hợp và phân tích. Điều này đã đƣợc đồng nghiệp VIB đánh giá rất cao và cảm thấy hài lòng vì không bị các ràng buộc nhƣ các dự án trƣớc. Do nhận đƣợc chƣơng trình sớm và thấy đƣợc các thay đổi tích cực khi nhận đƣợc các phản hồi, nhân viên VIB cảm thấy rất tin tƣởng và cố gắng hỗ trợ dự án.
Cuối cùng, dự án đã áp dụng đƣợc hầu hết các phƣơng pháp thực hành cũng nhƣ tuân thủ đƣợc các nguyên tắc của XP mặc dù còn một số vấn đề gặp phải do chƣa quen với phƣơng pháp nhƣ: Việc chia nhỏ các tính năng hoặc gộp lại trong một khoảng thời gian vẫn chƣa phù hợp, có chức năng vẫn lớn quá và có chức năng bé qua; Việc lập trình cặp đôi còn lạ lẫm và một số “sao” thích làm việc độc lập; Đôi khi phát triển xong mới phát triển các trƣờng hợp kiểm thử. Nhƣng càng về cuối dự án, những vấn đề này tự nhiên biến mất.
Sau khi đƣa dự án vào sử dụng trong 3 tháng. VIB có lấy ý kiến đánh giá của ngƣời dùng về kết quả của dự án và thống kê đƣợc bảng nhƣ bên dƣới. Trong bảng, cột đánh giá tính điểm từ 0 đến 100. Trong đó, điểm 100 là điểm cao nhất tức là thỏa mãn yêu cầu của công việc.
STT Tiêu chí Yêu cầu Đánh giá 1 Tính chức năng
Chức năng thực hiện phù hợp với công việc 100
2 Bảo vệ thông tin đối với ngƣời không đƣợc phép đọc hoặc chỉnh sửa
98
3 Chức năng làm việc cho kết quả chính xác 99
6 tin cậy
Hệ thống hoạt động ổn định ngay cả trong trƣờng hợp có lỗi phát sinh trong hệ thống
92
7 Hệ thống có thể khôi phục lại dữ liệu liên quan trực tiếp đến lỗi và tái thiết lại hoạt động
94 8 Hệ thống hoạt động không ảnh hƣởng đến các hệ thống khác 93 9 Tính khả dụng Dễ dàng nắm đƣợc các tính năng và sử dụng vào các tình huống cụ thể trong công việc
96 10 Dễ dàng hƣớng dẫn và sử dụng các chức năng 100 11 Dễ dàng quản lý và vận hành hệ thống 97 12 Tính hiệu quả
Các chức năng thực hiện trong khoảng thời gian đủ nhanh
96
13 Các chức năng không đòi hỏi quá nhiều tài nguyên hệ thống 94 14 Khả năng bảo trì Hệ thống có thể dễ dàng phân tích và tìm ra nguyên nhân gây ra lỗi
95
15 Hệ thống có thể tránh hoặc chịu đƣợc các tác động không mong muốn khi sửa đổi phần mềm
99
16 Tính khả chuyển
Hệ thống có thể thích nghi với nhiều môi trƣờng khác nhau
96
17 Hệ thống có thể cài đặt đƣợc trên những môi trƣờng cụ thể
18 Hệ thống có thể tồn tại cùng với các phần mềm độc lập khác và chia sẻ tài nguyên sử dụng chung
100
19 Tính mở rộng
Hệ thống có thể tích hợp với các hệ thống khác 98
20 Hệ thống có thể dễ dàng chỉnh sửa theo các yêu cầu mới
96
Bảng 3-2 Bảng đánh giá kết quả dự án TimeSheet 3.5.2. Dự án lập kế hoạch toàn hàng VIB_Planing
Sau sự thành công rực rỡ của dự án TimeSheet, VIB nhận định rằng: VIB là ngân hàng, không phải là công ty phát triển phần mềm. Do đó, Trung Tâm Công Nghệ Ngân Hàng VIB đã định hƣớng chiến lƣợc về công nghệ thông tin là tập trung vào dịch vụ công nghệ thông tin, xây dựng mô hình thuê ngoài ở mức hợp lý để đảm bảo VIB có thể chủ động về trong việc hỗ trợ các đơn vị kinh doanh, chủ động kiểm soát đƣợc lỗi và đƣa ra các giải pháp ứng phó nhanh chóng cũng nhƣ có thể sửa đổi phần mềm khi cần thiết tránh không để phụ thuộc vào nhà cung cấp dịch vụ công nghệ thông tin. Từ tầm nhìn chiến lƣợc này, VIB đã đƣa vào mô hình cùng phát triển với nhà cung cấp dịch vụ. Dự án VIB_Planing là dự án đầu tiên áp dụng phƣơng thức lập trình cực hạn mà VIB thuê đối tác bên ngoià thực hiện. Tôi xin trình bầy dự án VIB_Planing trong phần dƣới đây.
Mô tả dự án
Dự án lập kế hoạch toàn hàng VIB_Planing nhằm xây dựng hệ thống phần mềm cho phép nhân viên đặt ra các mục tiêu cho từng gian đoạn và thực hiện các mục tiêu mà mình đã đặt ra. Hệ thống cho phép các nhân viên nhân viên có thể liên hệ với nhau, trao đổi kinh nghiệm và cùng giúp đỡ nhau nhằm hoàn thành các mục tiêu mà mình đã đề ra. Các nhà quản lý có thể xem các mục tiêu của nhân viên của mình và định hƣớng cũng nhƣ tìm cách giúp đỡ nhân viên có thể thực hiện mục tiêu đó. Các nhà quản lý ngoài đề ra các mục tiêu cá nhân còn phải đề ra các mục tiêu chung cho cả tổ chức và hƣớng nhân viên của mình đề ra các mục tiêu nhỏ thông qua các buổi họp lên kế hoạch nhằm thực hiện mục tiêu chung này. Các mục tiêu này đƣợc lƣợng hóa bằng các chỉ tiêu, tiêu chí đánh giá nhằm thúc đẩy tổ chức và nhân viên tạo ra đƣợc kế hoạch cụ thể và xác định đƣợc công việc cần phải thực hiện trong từng giai đoạn.
Thực chất, dự án VIB_Planing là dự án mở rộng của dự án khai báo công việc TimeSheet mà VIB đã phát triển trƣớc đây với các tính năng mới. Dự án VIB_Planing hoàn thành sẽ đảm bảo quản lý đƣợc toàn bộ công việc của một cá nhân, một nhóm hay một phòng ban. VIB_Planing sẽ giúp các nhà quản lý có dữ liệu quá khứ (từ dự án TimeSheet) để lên kế hoạch và có công cụ tốt để đánh giá sự thành bại của các kế hoạch, mục tiêu đã đề ra.
Các chức năng chính
Quản lý mục tiêu, tiêu chí đánh giá, kế hoạch của từng cá nhân: cho phép các mục tiêu, tiêu chí đánh giá, kế hoạch đƣợc lập, chỉnh sửa, hủy bỏ, công khai hoặc riêng tƣ, đƣợc sắp vào các mục khác nhau.
Quản lý mục tiêu, tiêu chí đánh giá, kế hoạch của tổ chức, phòng ban: cho phép các mục tiêu, tiêu chí đánh giá, kế hoạch đƣợc lập, chỉnh sửa, hủy bỏ, đƣợc công khai hoặc riêng tƣ, đƣợc sắp vào các mục khác nhau. Cho phép giao các mục tiêu hoặc nhiệm vụ cho cho các thành viên trong hoặc ngoài tổ chức, phòng ban để thực hiện các kế hoạch đƣợc nêu. Các mục tiêu có thể có một hoặc vài ngƣời cùng quản trị mục tiêu này.
Từ các mục tiêu, cho phép xây dựng các tiêu chí nhằm lƣợng hóa mục tiêu đó, từ các mục tiêu và tiêu chí đánh giá, cho phép lập nên các bản kế hoạch thực hiện, xác định các nhiệm vụ cần thực hiện, ngƣời thực hiện, thời điểm thực hiện, công sức cần bỏ ra và các tiêu chí nhằm đánh giá kết quả của việc thực hiện đó.
Cho phép tự động nhắc nhở thông báo qua hòm mail với các nhiệm vụ sắp bắt đầu, chƣa đƣợc thực hiện hay quá hạn đối với ngƣời thực hiện nhiệm vụ. Tự động thực hiện nhắc nhở ngƣời quản trị mục tiêu khi các nhiệm vụ đƣợc hoàn thành, quá hạn. Dựa trên kết quả thực hiện các nhiệm vụ, ngƣời quản trị mục tiêu sẽ đánh giá dựa trên theo các tiêu chí đã đề ra.
Hệ thống VIB_Planing phát triển dựa trên hệ thống TimeSheet cho phép VIB tận dụng lại hệ thống đã có sẵn đồng thời giúp nhân viên VIB có một công cụ thống nhất và duy nhất ghi nhận và quản lý công việc của mình.
Dự án đƣợc áp dụng theo phƣơng thức lập trình cực hạn XP với hai đội dự án cùng tham gia thực hiện. Trung tâm Công Nghệ Ngân Hàng VIB gồm có 3 thành viên tham gia đóng vai trò là khách hàng kết hợp với đội dự án của công ty Tinh Vân gồm 12 thành viên. Do điều kiện về địa điểm thực hiện dự án, đội dự án của Tinh Vân sẽ chỉ có một vài thành viên sang VIB để cộng tác khi cần thiết, còn lại sẽ vẫn phát triển tại Tinh Vân. Các thành viên VIB sẽ tập trung vào việc phân tích yêu cầu, sắp xếp, lựa chọn thứ tự ƣu tiên của các yêu cầu. Đồng thời, họ sẽ tiếp nhận các kết quả mà các thành viên của Tinh Vân thực hiện xong nhằm triển khai, hỗ trợ các nhân viên VIB có thể sử dụng các tính năng mới đƣợc phát triển và tiếp nhận các đóng góp để sửa đổi chƣơng trình sao cho tiện dụng nhất. Các thành viên của Tinh Vân sau khi nhận đƣợc yêu cầu thì phân tích thành các nhiệm vụ cần thực hiện và phân công công việc để hoàn thành nhiệm vụ của mình.
Do đặc điểm nhóm phát triển không làm việc cùng vị trí với khách hàng, VIB đã thiết lập một website Trac Wiki cho phép hai bên có thể trao đổi và hỗ trợ công việc một cách tiện lợi hơn. Hơn nữa, ngoài các công cụ trao đổi thông thƣờng nhƣ gọi điện thoại, gửi thƣ điện tử, nhắn tin chát qua mạng, hai bên còn thiết lập một kênh hội thảo trực tuyến cho phép hai bên có thể họp với nhau thông qua điện thoại có hình.
Ngoài ra, VIB đã thiết lập một chƣơng trình quản lý phiên bản SubVersion (SVN) để lƣu mã nguồn và nhận đƣợc mã nguồn mới nhất mà Tinh Vân phát triển sau mỗi ngày. Sau mỗi một chu kỳ phát triển lặp, các thành viên VIB sẽ lấy phiên bản mới nhất trên kho mã nguồn xuống rồi thực hiện các trƣờng hợp kiểm thử và các kiểm thử chấp thuận nhằm đảm bảo chƣơng trình thực hiện đúng nhƣ mong muốn. Sau đó, họ sẽ triển khai chƣơng trình mới nhất lên máy chủ và hƣớng dẫn nhân viên VIB sử dụng các tính năng mới và nhận lại phản hồi từ những ngƣời sử dụng này.
Kết quả thực hiện
Đây là dự án đầu tiên VIB quyết định sử dụng phƣơng thức lập trình XP áp dụng cho dự án thuê ngoài. Dự án đƣợc coi là thành công nhất là về sự hài lòng