Phương pháp SDLC (System Development life Cycle)

Phương pháp SDLC còn có tên là phương pháp thác nước (Waterfall) – triển khai dự án hệ thống thông tin theo từng bước.

Các bước triển khai

Để thực hiện phương pháp này doanh nghiệp cần thực hiện lần lượt 9 bước bởi từng bước có mối liên hệ mật thiết với nhau, bước trước làm tiền đề cho bước sau.

A. Giai đoạn 1: Lập kế hoạch (Definition Phase):

Bước 1. Lập kế hoạch (Feasibility analysis)

Trong bước đầu tiên này doanh nghiệp cần xác định cụ thể hệ thống thông tin cần được xây dựng. Ba nội dung cần đề cập đến là phạm vi của hệ thống, lợi ích kinh tế mà hệ thống sẽ mang lại và kế hoạch vận hành.

Bản kế hoạch của dự án cần chỉ ra mục đích xây dựng hệ thống thông tin để thực hiện những công việc gì, những kết quả mà hệ thống sẽ mang lại, những ứng dụng nào sẽ được triển khai, làm thế nào để có được các phần mềm ứng dụng đó và hệ thống cần một cơ sở dữ liệu như thế nào. Một yêu cầu hết sức quan trọng là cần phải xác định được phạm vi hoạt động của hệ thống: đối tượng phục vụ của hệ thống, các hoạt động cụ thể của hệ thống.

Về mặt kinh tế, đội dự án cần phân tích xem cần phải đầu tư bao nhiêu cho dự án, dự trù những chi phí có thể giảm bớt; những nguồn thu có thể tạo ra (doanh thu có được từ việc tăng tốc độ ra quyết định, cải thiện quy trình lập kế hoạch và quản lý hay có thêm những cơ hội kinh doanh mới; cũng như những lợi ích khác mà hệ thống có thể mang lại cho hoạt động chung của doanh nghiệp. Bên cạnh đó, cũng cần lưu ý rằng, những lợi ích kinh tế mà hệ thống thông tin mang lại không chỉ là những lợi ích có thể đo đếm được mà còn có cả những lợi ích vô hình như: hệ thống sẽ giúp DN cải thiện dịch vụ khách hàng, giúp DN có những thông tin chính xác, đáng tin cậy và đầy đủ để đưa ra các quyết định kinh doanh một cách nhanh chóng, dữ liệu sẽ được xử lý nhanh hơn, … Mặt khác, việc đánh giá những lợi ích mà dự án mang lại cũng cần phải xem xét những rủi ro có thể gặp phải. Không nên triển khai một dự án có mức độ rủi ro cao và đem lại lợi ích thấp.

Việc xác định số tiền đầu tư cần thiết cho dự án là hết sức quan trọng. Trước hết cần hạch toán chi phí theo kế hoạch thực hiện dự án cụ thể theo tuần hoặc theo tháng và dự kiến chi phí tổng thể cho toàn bộ quá trình lắp đặt và vận hành hệ thống.

Bảng 8.1: Chi phí dành cho xây dựng hệ thống

Mặt khác, bản kế hoạch cần xây dựng kế hoạch thực hiện dự án bao gồm nhiệm vụ, các nguồn lực cần huy động và khung thời gian thực hiện. Khung thời gian thực hiện chính là định ra các mốc thực hiện dự án là những thời điểm quan trọng đánh dấu một nhóm nhiệm vụ được hoàn thành.

Bước 2: Mô tả hệ thống (requirements definition)

Sau khi bản kế hoạch đã được thông qua thì bước tiếp theo là mô tả hệ thống. Một bản mô tả hệ thống đầy đủ, chính xác sẽ quyết định việc doanh nghiệp xây dựng được một hệ thống thông tin phù hợp và có chiến lược phát triển hệ thống đúng đắn. Ngược lại, nếu bản mô tả hệ thống  thông tin không chuẩn xác sẽ dẫn đến việc doanh nghiệp phải bỏ ra rất nhiều chi phí để xây dựng một hệ thống không phù hợp và thậm chí còn phải chi nhiều hơn số tiền đầu tư ban đầu để sửa đổi hệ thống.

Do tính chất quan trọng ở bước này mà các chuyên gia công nghệ thông tin cần tham khảo ý kiến của những người sẽ sử dụng hệ thống và những người chịu trách nhiệm vận hành hệ thống. Có thể sử dụng các phương thức đa dạng để lấy ý tưởng xây dựng bản mô tả hệ thống của các bên có liên quan. Cần xin ý kiến chỉ đạo của các lãnh đạo, phỏng vấn từng cá nhân hoặc theo nhóm các đại diện của cộng đồng những người sẽ sử dụng hệ thống thông tin. Ngoài ra nên nghiên cứu các tài liệu có liên quan  như các kế hoạch kinh doanh, những ý kiến than phiền về hệ thống hiện tại, các bản mô tả công việc chuyên môn của các bộ phận, hay thậm chí là các công trình nghiên cứu về các hệ thống tương tự. Những người thực hiện bản mô tả có thể quan sát quá trình tác nghiệp của các nhân viên trong doanh nghiệp từ đó có thể nắm bắt được những khó khăn, trở ngại và các lỗi thường gặp phải để từ đó xây dựng được một hệ thống sẽ hỗ trợ khắc phục những nhược điểm đó.

 Bản mô tả này nên tập trung mô tả các quy trình, cách thức lưu chuyển và trao đổi dữ liệu hơn là mô tả về cách thức lắp đặt và vận hành hệ thống thông tin. Bản mô tả cần nêu được những yêu cầu cụ thể đối với hệ thống để những người chịu trách nhiệm xây dựng hệ thống có thể theo dõi và thực hiện đúng theo mô tả. Trong quá trình xây dựng bản mô tả có thể nảy sinh những ý kiến bất đồng giữa những người sẽ sử dụng hệ thống, do đó các chuyên gia cần đưa ra những phân tích cụ thể và chính xác để có thể đạt được sự đồng thuận, ngoài ra doanh nghiệp cũng có thể thuê các chuyên gia tư vấn bên ngoài để có thể nhanh chóng xây dựng được một bản mô tả hệ thống phù hợp.

Kết quả của bước này là bản Mô tả hệ thống thông tin cụ thể bao gồm mô tả các yếu tố đầu vào và đầu ra của hệ thống, và các quy trình được sử dụng để chuyển hóa các dữ liệu đầu vào thành các những kết quả theo yêu cầu. Bản mô tả có thể dày hàng trăm trang với các sơ đồ, mô hình miêu tả chi tiết về hệ thống. Đồng thời trong đó nên đưa vào phân tích chi phí cũng như những kết quả dự kiến thu được từ hệ thống này và kế hoạch phát triển dự án tiếp theo. Sau khi lập bản mô tả hệ thống cần yêu cầu những người sẽ sử dụng hệ thống ký xác nhận vể những yêu cầu đối với hệ thống thông tin.

B. Giai đoạn 2: Phát triển hệ thống (Construction Phase)

Bước 3: Thiết kế hệ thống (System Design)

Trong bước này, các chuyên gia hệ thống thông tin sẽ dựa trên Bản mô tả hệ thống trong bước 2 để thiết kế cơ sở kỹ thuật cho hệ thống. Các chuyên gia sẽ đưa ra quyết định sẽ sử dụng các thiết bị phần cứng gì và phần mềm hệ thống nào để vận hành hệ thống, thiết kế cấu trúc và nội dung cơ sở dữ liệu, và quyết định dùng các thiết bị truyền thông nào cho hệ thống. Những nội dung cần thiết kế bao gồm: giao diện người sử dụng, cách thức tổ chức dữ liệu, cách thức khai thác hệ thống qua mạng, quy trình xử lý dữ liệu. Thiết kế một hệ thống phù hợp là rất quan trọng bởi tính chất kỹ thuật của hệ thống không thể bổ sung sau này, nó phải được thiết kế phù hợp cho hệ thống ngày từ ban đầu.

Một hệ thống tốt là hệ thống có các công cụ quản lý đầy đủ nhằm đảm bảo dữ liệu của hệ thống luôn chính xác và các thông tin mà hệ thống cung cấp luôn chuẩn xác. Bên cạnh đó, hệ thống này phải có độ tin cậy cao, bất cứ khi nào xảy ra sự cố, hệ thống đều có thể hồi phục và tiếp tục hoạt động mà không bị mất dữ liệu và không cần biện pháp khắc phục đáng kể nào. Hệ thống cần hoạt động liên tục và không bị tác động bởi các thay đổi nhỏ từ môi trường bên ngoài. Hệ thống cũng cung cấp cho máy tính của những người dùng các ứng dụng liên quan để dữ liệu chung có thể được trao đổi dễ dàng. Hệ thống cần hoạt động hiệu quả, nhanh chóng đáp ứng các yêu cầu được gửi đến, xử lý tốt và kịp thời các dữ liệu được gửi đến và truyền dữ liệu đi, lưu trữ tốt dữ liệu và sử dụng triệt để các tài nguyên trên máy tính. Hệ thống cần có tính linh hoạt và đầy đủ dữ liệu để cung cấp cho người dùng cũng như các chuyên viên hệ thống. Hệ thống cần có các lựa chọn để đầu vào và đầu ra của nó có thể tương thích được với phần cứng và môi trường các phần mềm ứng dụng của nó và có thể dễ dàng thay đổi hay bảo dưỡng. Cuối cùng hệ thống cần “thân thiện” với người dùng: dễ dàng học và sử dụng, không bao giờ làm cho người dùng có cảm giác chán nản và thất vọng.

Nhằm đảm bảo cho hệ thống được thiết kế chính xác và đầy đủ, các chuyên gia hệ thống cần liên tục thử nghiệm hệ thống trước với các đồng nghiệp, sau đó là các người dùng bằng cách sử dụng các mô hình đồ họa.

Kết quả có được ở bước này là một bản thiết kế chi tiết để cung cấp cho các lập trình viên và các nhân viên kỹ thuật. Bản thiết kế cần được thể hiện dưới nhiều góc độ khác nhau nhờ được tạo ra bởi rất nhiều các loại công cụ, như biểu đồ biểu thị cấu trúc hệ thống, …Bản thiết kế cần miêu tả chi tiết các cơ sở dữ liệu và các chương trình ứng dụng cho hệ thống. Đồng thời cần đưa ra một bản kế hoạch thực hiện các bước tiếp theo trong giai đoạn này. Sau đó, bản thiết kế này cần được các người dùng và những người quản lý hệ thống thông qua trước khi thực sự bắt tay vào xây dựng hệ thống thông tin trong doanh nghiệp.

Bước 4: Xây dựng hệ thống (System Building)

Tại bước này các chuyên gia sẽ thực hiện xây dựng hệ thống một cách thực tế dựa trên những gì đã được thiết kế ở bước trước.  Đó là xây dựng giao diện người sử dụng, xây dựng cơ sở dữ liệu, xây dựng các thành phần của mạng và viết các chương trình xử lý dữ liệu. Các chuyên gia hệ thống thông tin là những người sẽ chịu trách nhiệm thực hiện các hoạt động này. Tuy nhiên người dùng cũng đóng vai trò quan trọng trong việc góp ý cho những thiếu sót và hỗ trợ các chuyên gia khi cần làm rõ các yêu cầu nêu ra trong bản mô tả cũng như bản thiết kế hệ thống.

Bước 5: Kiểm định hệ thống (System Testing)

Đây là bước hết sức quan trọng và thời gian dành cho bước này có thể ngang bằng với thời gian dùng để thiết kế và xây dựng hệ thống. Mục đích của bước này là để đảm bảo hệ thống được tạo ra phù hợp với các yêu cầu được đưa ra trước đó, và xem hệ thống hoạt động có hiệu quả không và tính bảo mật của hệ thống có tốt không.

Trước hết các chuyên viên hệ thống thông tin tiến hành chạy thử hệ thống, sau đó sẽ chạy thử cho người dùng kiểm tra.

Các chuyên viên hệ thống chịu trách nhiệm kiểm định hệ thống để đảm bảo tạo ra một hệ thống có chất lượng cao và hoạt động hiệu quả. Quy trình kiểm định sẽ là: trước tiên cần tiến hành kiểm tra từng phần việc, kiểm tra xem các nhóm có tương tác với nhau không, cuối cùng là kiểm tra toàn bộ hệ thống và chạy thử toàn bộ hệ thống. Các lỗi của hệ thống có thể được phát hiện qua tất cả các khâu trong quá trình chạy thử. Tuy nhiên việc sửa chữa các lỗi này sẽ rất khó khăn ở khâu cuối cùng khi rất nhiều các tiểu hệ thống đã được kết nối với nhau. Do đó, cần dành phần lớn thời gian cho việc phát hiện và sửa lỗi ở khâu kiểm tra cuối cùng này.

Những người sử dụng hệ thống cũng tham gia vào hoạt động kiểm định hệ thống. Đây là bước kiểm tra cuối cùng để quyết định xem người dùng có chấp nhận hệ thống không. Người dùng sẽ chạy thử hệ thống để đánh giá năng lực hoạt động của hệ thống có đáp ứng yêu cầu của họ không. Việc người dùng tham gia vào giai đoạn chạy thử nghiệm hệ thống này sẽ đảm bảo cho việc họ sẽ chấp nhận sử dụng hệ thống mới và hoạt động này cũng sẽ cung cấp cho người dùng kiến thức cơ bản về hệ thống đặt nền móng cho khâu huấn luyện người dùng hệ thống sau này.

Bước 6: Xây dựng tài liệu hướng dẫn (Documentation)

Tài liệu hướng dẫn về hệ thống là những thông tin hết sức cần thiết nhằm cung cấp cho các thành viên trong đội dự án trong quá trình phát triển hệ thống bởi hệ thống thông tin rất phức tạp và không thể biểu đạt hết được khi mô tả bằng lời nói.

C. Giai đoạn 3: Lắp đặt và vận hành hệ thống (Implementation Phase)

Bước 7: Cài đặt hệ thống

Các chuyên viên hệ thống và cả người dùng sẽ cùng tham gia tích cực vào bước này. Các hoạt động cần thực hiện bao gồm chuyển dữ liệu từ hệ thống cũ sang hệ thống mới.  Người dùng sẽ phải tham gia vào việc chuyển đổi dữ liệu, bên cạnh đó, những dữ liệu cũ có thể không chuẩn xác và không đầy đủ nên cần các người dùng kiểm định lại và loại bỏ bớt.

Một hoạt động khác cũng rất quan trọng là tổ chức tập huấn cho những người sẽ sử dụng hệ thống mới cũng như những người sẽ chịu ảnh hưởng bởi hoạt động của hệ thống. Các lớp tập huấn cần được lên lịch sao cho đảm bảo mọi người đã được trang bị đầy đủ kỹ năng khi hệ thống được đưa vào vận hành nhưng cũng không nên tổ chức các lớp tập huấn quá sớm vì như vậy mọi người sẽ quên những kiến thức đã được học.

Ngoài ra, các chuyên viên hệ thống sẽ chịu trách nhiệm lắp đặt phần cứng và cài đặt các phần mềm ứng dụng và mạng truyền thông.

Việc chuyển đổi sang làm việc với hệ thống mới sẽ là một quá trình khó khăn đối với người dùng bởi hệ thống mới sẽ làm thay đổi các hoạt động của doanh nghiệp. Người dùng không chỉ phải học cách sử dụng hệ thống mới mà còn phải thay đổi thói quen làm việc của họ. Thậm chí các phần mềm ứng dụng có thể rất hoàn hảo nhưng việc vận hành hệ thống có thể thất bại nếu người dùng không muốn dùng hệ thống hoặc không biết cách sử dụng nó như thế nào. Vì vậy quá trình chuyển đổi cần được thực hiện hết sức cẩn thận.

Doanh nghiệp có thể sử dụng các chiến lược sau để chuyển đổi người dùng từ hệ thống cũ sang sử dụng hệ thống mới.

Chiến lược vận hành song song (Parallel Strategy): Doanh nghiệp vẫn duy trì hệ thống cũ hoạt động song song với hệ thống cũ cho đến khi hệ thống mới chạy tốt và đi vào ổn định. Đây là chiến lược chuyển đổi thận trọng bởi nó cho phép doanh nghiệp sử dụng hệ thống cũ trong trường hợp hệ thống mới gặp trục trặc. Tuy nhiên, sẽ rất khó quản lý các hoạt động của doanh nghiệp bởi nhân viên sẽ phải đồng thời sử dụng cả hai hệ thống và phải so sánh kết quả với nhau để khẳng định được hệ thống mới hoạt động tốt. Hơn nữa, khi có sự trái ngược giữa kết quả của hai hệ thống thì lại cần phải kiểm tra lại xem nguyên nhân là do đâu và sửa lại, vì vậy, việc tiến hành sử dụng hai hệ thống song song rất khó khăn và căng thẳng.

          Chiến lược vận hành thí điểm (Pilot Strategy)

Chiến lược này rất thích hợp khi có thể sử dụng hệ thống mới cho một phần của doanh nghiệp. Mục đích của chiến lược này là để phát hiện và giải quyết càng nhiều các vấn để có thể nảy sinh trong quá trình vận hành hệ thống trước khi sử dụng hệ thống cho toàn bộ tổ chức. Ví dụ, tại những doanh nghiệp có nhiều chi nhánh, thì có thể sử dụng thí điểm hệ thống mới tại một chi nhánh và thu thập các kinh nghiệm trong việc chuyển đổi dữ liệu cũng như giải quyết các lỗi phát sinh trước khi vận hành hệ thống trong toàn doanh nghiệp. Nếu trong quá trình vận hành thí điểm hệ thống gặp lỗi nặng thì có thể trì hoãn việc ứng dụng trong toàn doanh nghiệp cho đến khi giải quyết được vấn đề đó một cách triệt để. Chiến lược thí điểm này rất phù hợp khi có lo ngại về những rủi ro lớn có thể xảy ra đối với tổ chức khi vận hành hệ thống mới.

          Chiến lược bậc thang (Phasing Strategy)

Đối với các doanh nghiệp có hệ thống lớn và phức tạp thì nên chuyển đổi hệ thống từng bước một. Doanh nghiệp sẽ chia nhỏ hệ thống thành các hệ thống nhỏ trong mối tương quan với nhau và vận hành các hệ thống nhỏ theo từng bước nhất định một cách logic để cuối cùng có thể liên kết các hệ thống này lại với nhau thành một hệ thống mới hoàn chỉnh. Ví dụ, với một hệ thống xử lý đơn hàng và quản lý kho hàng lớn thì trước hết doanh nghiệp cần chuyển đổi cách thức nhập và xử lý đơn hàng, sau đó chuyển đổi phương thức quản lý kho hàng bằng các phần mềm máy tính và cuối cùng mới là liên kết hai hệ thống này với nhau.

          Chiến lược thay thế toàn bộ (Cutover Strategy)

Trong chiến lược này, doanh nghiệp loại bỏ hoàn toàn hệ thống cũ khi vận hành hệ thống mới. Đây là chiến lược có tính rủi ro cao nhất nhưng đây là chiến lược phù hợp khi doanh nghiệp gặp khó khăn trong việc cùng lúc vận hành cả hai hệ thống và nó cũng giúp doanh nghiệp thích nghi với hệ thống mới nhanh hơn.

Bước 8: Vận hành hệ thống

Tại bước này, thông thường đội dự án sẽ giải tán và trách nhiệm đối với hệ thống thông tin sẽ được chuyển giao cho đội ngũ vận hành máy tính và hỗ trợ kỹ thuật. Trong quá trình chuyển giao này, để đảm bảo có thể đưa hệ thống vào hoạt động thì đội dự án cần giao lại các tài liệu hướng dẫn cho đội ngũ vận hành máy tính. Tài liệu hướng dẫn bao gồm các tài liệu kỹ thuật dành cho các chuyên viên hệ thống những người sẽ vận hành và bảo trì hệ thống và các tài liệu dành cho người dùng hệ thống.

Bước 9: Bảo trì hệ thống

Mục đích của bước này nhằm kiểm soát và hỗ trợ hệ thống mới để đảm bảo nó đáp ứng được những mục tiêu khác nhau của doanh nghiệp. Công việc bảo trì trước tiên là bảo trì chỉnh sửa. Sau khi hệ thống được đưa vào hoạt động và phát sinh các vấn để thì phải tiến hành hoạt động bảo trì hệ thống để sửa chữa các lỗi đã không thể phát hiện và sửa chữa trong giai đoạn chạy thử. Hoạt động bảo trì hoàn thiện hệ thống như thay đổi quy tắc quản lý hệ thống hay sử dụng các phần mềm và phần cứng mới,… cũng cần được thực hiện nhằm biến đổi hệ thống cho phù hợp với những thay đổi trong  môi trường của doanh nghiệp. Bên cạnh đó, sau một thời gian đưa hệ thống vào sử dụng thì các người dùng, đặc biệt là các nhà lãnh đạo sẽ đưa ra rất nhiều ý kiến cải tiến hệ thống từ những thay đổi nhỏ đến yêu cầu thay thế các mô-đun trong hệ thống, do đó các kỹ thuật viên sẽ phải bảo trì để nâng cấp hệ thống. Cuối cùng là bảo trì mở rộng, thay đổi hệt thống trên quy mô lớn để phù hợp với môi trường mới. Do môi trường kinh doanh và công nghệ thay đổi rất nhanh nên bộ phận vận hành hệ thống cần lên kế hoạch định kỳ nâng cấp hệ thống. Chi phí dành cho công tác duy trì hệ thống bao giờ cũng chiếm khoảng 70% tổng chi phí cho toàn bộ thời gian phát triển hệ thống.

Để tạo ra sự thay đổi cho một hệ thống thì các chuyên viên bảo trì hệ thống cần xác định chương trình nào cần sửa đổi và phần nào trong chương trình đó cần thay đổi và cần phải hiểu rõ cấu trúc của hệ thống thông qua các tài liệu hướng dẫn. Do đó khi tạo ra sự thay đổi trong hệ thống thì cũng cần thay đổi đồng thời các tài liệu hướng dẫn tương ứng. Nếu không sửa đổi tài liệu hướng dẫn thì sẽ dẫn đến những hậu quả rất to lớn do thông tin trong tài liệu bị cũ và không chính xác sẽ dẫn đến những chỉ dẫn sai cho các kỹ thuật viên trong quá trình vận hành và duy trì hệ thống. Hơn nữa, khi thực hiện các thay đổi đối với hệ thống thì có thể xảy ra hiệu ứng liên hoàn đó là những thay đổi này có thể tạo ra những tác động không thể dự tính trước đối với một số phần trong hệ thống.