Những vấn đề nghiệp vụ chính trong phát triển phần mềm

1.    Những vấn đề nghiệp vụ chính trong phát triển phần mềm

Trong toàn bộ vòng đời phát triển ứng dụng,

1.1.Kiến trúc và thiết kế (Architecture and Design):

Kiến trúc và thiết kế là một thuật ngữ chung nhằm xác định và xây dựng cấu trúc ban đầu của một chương trình. Trong tất cả cách sử dụng từ Kiến trúc, các chủ đề chung bao gồm sự cấu thành các thành phần chung nhất. Ví dụ: Khách hàng, máy chủ, máy trạm, địa chỉ phần cứng, hệ thống phần mềm và các thành phần nền tảng.

1.2.Trải nghiệm người dùng (User Experience)

Trải nghiệm người dung là một thuật ngữ dung để mô tả những kinh nghiệm bao quát của một người và kết quả của sự tương tác giữa họ với một sản phầm hay dịch vụ cụ thể. Với một sản phẩm phần mềm, vấn đề về tương tác giữa người dùng và chương trình phải có lien quan mật thiết và đóng góp một phần quan trọng trong sản phẩm được làm ra.

Với một công cụ thích hợp, đầy đủ các thành phần và giao diện hợp lý bắt mắt, cộng với việc thường xuyên kết nối với khách hàng sẽ cho ra một sản phẩm phù hợp với đa số người dung và than thiện.

1.3.Quản lý yêu cầu (Requirements Management)

Quản lý yêu cầu trong phát triển phần mềm? Đó là điều hiển nhiên và bắt buột để một dự án được thành công và đúng yêu cầu của khách hàng, nói cách khác, phần mềm phải được ứng xử theo các ý định của người dùng.

Việc quản lý yêu cầu từ trước đến nay đa số chúng ta đang sử dụng các công cụ soạn thảo thông thường như Word, Excel và đó là điều tất nhiên khi chúng ta bắt đầu một dự án mới.

Cách quản lý yêu cầu theo kiểu truyền thống (Word, Excel, Email,…) có thể đã thỏa đáng, và hiệu quả. Tuy nhiên, với các dự án phát triển ứng dụng hôm nay ngày càng trở nên phức tạp và phân tán, quá trình quản lý yêu cầu này ngày càng khó khăn hơn.

1.4.Chất lượng mã nguồn phần mềm (Software Coding Quality)

Một sản phẩm phần mềm hay bất cứ sản phẩm nào cũng phải bảo đảm yêu cầu chất lượng. Và việc làm như thế nào để bảo đảm sản xuất ra một sản phẩm chất lượng, chứng minh với khách hàng về chất lượng đó là một yếu tố quan trọng trong ngành công nghiệp phần mềm.

Sự cần thiết để có một công cụ khách quan xác định chất lượng sản phẩm phần mềm xuất phát từ mong muốn việc áp dụng kỹ thuật vào việc quản lý chất lượng mã nguồn sản phẩm.

Bất kể một dòng code nào được viết ra, bạn phải bảo đảm được tất cả mã bạn viết là được kiểm soát và bảo đảm chất lượng của nó đúng theo nguyên tắc và đúng chuẩn. Việc chứng minh cho khách hàng chất lượng sản phẩm, chất lượng mã nguồn đóng góp một vai trò quan trọng trong quá trình sản xuất phần mềm.

1.5.Quản lý cấu hình sản phẩm phần mềm (Software Configuration Management)

Software Configuration Management (SCM) là vấn đề quan tâm riêng với việc trả lời các câu hỏi:

-       Ai đó đã làm gì?

-       Làm thế nào để có thể sử dụng lại nó

Truyền thống quản lý cấu hình thường tập trung vào việc tạo ra các điều khiển của các sản phẩm tương đối đơn gián, nhưng bây giờ, để thực hiện được việc quản lý cấu hình sản phẩm phần mềm phải đối mặt với thách thức trong việc thực hiện với số lượng tương đối nhỏ dưới sự kiểm soát của chính nó trong bối cảnh của những sự phát triển những hệ thống ứng dụng phức tạp .

1.6.Quản lý dữ liệu (Data Management):

Dữ liệu là quan trong trong mỗi doanh nghiệp, và nó càng quan trọng hơn trong việc xây dựng ứng dụng cho doanh nghiệp đó. Việc quản lý dữ liệu không đơn thuần là xây dựng nên dữ liệu, vận hành nó mà cần phải theo dõi thường xuyên, cập nhật lien tục và bảo đảm dữ liệu được thống nhất.

Việc thao tác dưới một cơ sở dữ liệu không lồ và khối lượng giao dịch cao cần phải có một công cụ để bảo đảm dữ liệu được toàn vẹn và thống nhất cho ứng dụng của bạn.

1.7.Quản lý dự án (Project Management):

Một dự án phần mềm thành công luôn đòi hỏi dự án đó phải được quản lý tốt và hiệu quả. Việc quản lý dự án hiện nay thông thường phải bám sát công việc và theo dõi việc thực hiện có đúng như yêu cầu đặt ra hay không. Một số công việc thường xuyên của quản lý dự án:

-       Thời gian phát hành sản phẩm.

-       Sản phẩm đạt yêu cầu đặt ra.

-       Chất lượng sản phẩm

-       Chi phí sản xuất ra sản phẩm.

-       Tình trạng, trạng thái của dự án hiện tại như thế nào?

-       Dự án có đi đúng lộ trình như yêu cầu đã đặt ra.

-       Dự án đã kiểm thử trước khi phát hành hay không?

-       ….

Đó là những câu hỏi mà nhà quản lý dự án nào cũng gặp phải, và việc quản lý tốt, đưa ra các dự báo cụ thể sẽ làm cho dự án phần mềm thành công.

1.8.Triển khai và vận hành sản phẩm(Deployment and Operation)

Trong vòng đời sản phẩm ALM, khi một dự án đã được kiểm tra và vận hành thử, thì yêu cầu nó phải được triển khai trên thực tế và vận hành trên thực tế. Việc quản lý các phiên bản, cập nhật các bản vá lỗi và lien tục cải tiến chức năng quyết định đến sự thành công của ứng dụng trên thị trường.

1.9.Chất lượng sản phẩm và kiểm thử phần mềm (Quality Assurance and Test)

Một sản phẩm trước khi phân phối trên thị trường cần phải được chứng minh và kiểm tra chất lượng để bảo đảm rằng chi phí triển khai, sửa lỗi ít hơn rất nhiều so với việc xử lý các lỗi đó kịp thời trước khi phân phối.

1.10.              Quản lý phân phối ứng dụng:

Trong giai đoạn cuối của quy trình ALM, sản phẩm được phân phối trên thị trường và luôn cần có các phản hồi từ người sử dụng, và thông thường sẽ được sử dụng các công cụ như Word, Excel, email,… Việc quản lý đó rất dể ảnh hưởng đến việc không đồng bộ thông tin, thời gian đưa ra bản sửa lỗi và một số nguy cơ khác. Việc có được một công cụ trong vòng đời ALM sẽ giúp cho nhà quản lý, quản lý dự án đưa ra các chính sách và quyết định nhanh chóng và rõ rang, bảo đảm được chất lượng sản phẩm sau khi đã phát hành.

2.    Những vấn đề nghiệp vụ trong phát triển phần mềm đối với doanh nghiệp:

Những ý trên là những vấn đề nghiệp vụ chính trong việc phát triển sản phẩm phần mềm, tuy nhiên, rộng lớn hơn phải thì công việc phát triển phần mềm phải gắn liền với một lợi ích kinh doanh, và phần mềm làm ra phải bảo đảm được mang lại hiệu quả kinh doanh cho một doanh nghiệp.

2.1.Gắn liền công nghệ thông tin với doanh nghiệp (Aligning IT with Business):

Một sản phẩm phần mềm làm ra phải gắn liền với một mục đích kinh doanh nào đó, và quan trọng hơn, nó phải mang lại lợi ích cho doanh nghiệp. Bài toán giữa chi phí đầu tư công nghệ thông tin và hiểu quả mang lại của giải pháp đó phải được bảo đảm.

2.2.Duy trì một hệ thống rõ ràng (Maintaining Legacy Systems)

Một hệ thống công nghệ thông tin tốt là hệ thống phải bảo hiệu quả rõ ràng, tường minh và vận hành một cách đơn giản. Giảm thiểu tối đa chi phí quản trị cho dự án đó.

2.3.Quản lý mức độ phức tạp (Managing Complexity)

2.4.Bảo đảm cân bằng giữa nghiệp vụ kinh doanh với rủi ro của dự án.

2.5.Quản lý một ngân sách cố định hoặc giảm bớt (Fix or diminishing budgets)

(sưu tầm)