Software Economics: A Roadmap

1. Tổng quan

  • Mục tiêu cơ bản của tất cả thiết kế và kĩ thuật tốt là tạo ra giá trị lớn nhất cho bất kì khoản đầu tư nào.
  • Bài báo này trình bày về một lộ trình đầu tư chiến lược với hướng tiếp cận công nghệ phần mềm.

2. Giới thiệu

  • Công nghệ càng ngày càng phát triển, giúp cải thiện việc tính toán của các hàm mũ bậc cao với giá thành thấp làm tăng hiệu năng của các chức năng hiện có.
  • Việc cải tiến phần cứng đã giúp cho năng suất tăng lên một cách hiệu quả, và khi kết hợp với cải tiến phần mềm, chúng sẽ tạo ra những giá trị to lớn.
  • Dự án, chương trình, kinh doanh thất bại là điều không thể tránh khỏi, thậm chí cả trong những thị trường năng động như mong muốn đi chăng nữa. Các dự án thường tiêu tốn nhiều chi phí trước khi bị hủy bỏ. Sự chậm trễ này sẽ dẫn đến việc đánh mất giá trị, thiếu hụt chất lượng, và lỡ mất cơ hội. Khi những thuộc tính quan trọng bị thiếu, hệ thống sẽ trở thành lãng phí vì không thể sử dụng được. Nếu chúng ta không có khả năng quản lý các rủi ro đặc thù của phần mềm thì đó sẽ là một vấn đề rất nghiêm trọng và khiến cho dự án trở nên khó khăn.
  • Trong bài báo này chúng ta sẽ theo dõi rất nhiều khó khăn dẫn đến thất bại để hiều được tính kinh tế của phát triển phần mềm và sử dụng nó để tránh khỏi những thất bại của chúng ta.

3. Những hướng cần tìm hiểu, nghiên cứu

  • Hầu hết các nhà thiết kế phần mềm ngày nay đều đưa ra quyết định thiết kế phụ thuộc vào kinh tế.
  • Xem xét trong bối cảnh kinh doanh.
  • Các doanh nghiệp không kinh doanh, chẳng hạn như cơ sở từ thiện và các trường đại học, cũng có mục đích là tạo ra giá trị lớn nhất.
  • Việc phát triển phần mềm liên quan tới các giá trị, bao gồm thời gian và tiền bạc.
  • Công nghệ phần mềm và các hoạt động tạo ra giá trị: năng lực cốt lõi của các kĩ sư phần mềm là đưa ra những quyết định trong sản phẩm phần mềm kĩ thuật và quá trình thiết kế và sản phẩm.
  • Kĩ sư phần mềm thường không liên quan hoặc không hiểu mục đích tạo ra giá trị ở cấp độ doanh nghiệp.

4. Các ý tưởng chính

  • Công nghệ phần mềm và các hoạt động tạo ra giá trị:
    • Năng lực cốt lõi của các kĩ sư phần mềm là trong việc làm ra sản phẩm phần mềm kĩ thuật và quá trình quyết định thiết kế.
    • Các nhà thiết kế, kĩ sư và quản lý phải bắt đầu hiểu một cách tường tận về quan hệ giữa các quyết định kĩ thuật và tối đa hóa giá trị ở cấp độ doanh nghiệp.
  • Nguồn gốc không phù hợp giữa kĩ thuật và giá trị:
    • Đầu tiên chúng ta thiếu một khung đầy đủ mô hình, đo lường và phân tích mối quan hệ giữa các đặc tính kĩ thuật và các quyết định, việc tạo ra giá trị.
    • Xem xét lại các giai đoạn của cấu trúc dự án.
    • Lấy ra 1 tùy chọn đi kèm, có lẽ đạt được thông qua một sự đầu tư có chủ ý, hoặc là cứ giữ lấy nó hoặc là thực hiện nó cũng có thể tối ưu được giá trị trong một vài trường hợp.
    • Lý do tại sao phải nhấn mạnh thêm về kinh tế phần mềm?
      • Thứ nhất, hậu quả khác của việc thiếu hiểu biết quan hệ là việc xung đột giữa việc ra quyết định, thường là hình thức tranh cãi các tiêu chí kĩ thuật của ai là tốt hơn.
      • Thứ hai, hầu hết các nhà thiết kế và các kĩ sư phần mềm không được dạy lí do về việc tạo ra giá trị như một mục tiêu hay là về cách các thông số kĩ thuật có thể được vận dụng để nhằm mục đích tạo ra giá trị.
      • Thứ ba, không gian thiết điều mà các kĩ sư phần mềm thực hiện ngày nay là không phù hợp.
  • Nguồn gốc giá trị mới
    • Cùng với việc nhấn mạnh giá trị và chiến lược cần phải biết thêm rằng giá trị rất phức tạp, tinh tế.
    • Đánh giá thị trường trong điều kiện diễn biến bất thường của các công ty internet phản ánh một sự đánh giá giá trị hiện tại của lợi nhuận trong một tương lai không chắc chắn, bao gồm các lợi ích tiềm năng từ việc thực hiện các lựa chọn thực.
    • Mục đích quan trọng của kinh tế phần mềm hiện đại là hiểu được các nguồn gốc khác nhau của giá trị, và mối liên hệ rõ ràng giữa công nghệ và các khía cạnh kinh tế, bao gồm sự xem xét kĩ các điều khoản cấp cao này.
    • Tiêu chuẩn đo lường mới của giá trị
    • Một nhân tố phức tạp là mặc dù giá trị thường nên được đo theo tiền, điều này luôn đúng.
    • Lợi ích căn bản của khung lựa chọn thực hơn so với khung DCF truyền thống là việc đánh giá kết quả kết hợp với giá trị cộng thêm bằng những tùy chọn thông minh qua thời gian
  • Yêu cầu về việc phải làm hài hòng nhiều bên
    • Một hệ thống thành công trong việc tạo ra giá trị cho bất cứ người tham gia nào, nó phải tạo ra giá trị cho tất cả những thành phần đóng góp là rất quan trọng cho sự thành công.
    • Một quan điểm không vụ lợi của các bên liên quan cùng nhau nhất trí cũng là có thể. Collin thảo luận việc tiếp cận dựa trên đạo đức công bằng.
  • Lịch sử và tình trạng hiện nay của kinh tế phần mềm
    • Kinh tế phần mềm có thể được coi như là một nhánh của thông tin kinh tế, một lĩnh vực con của kinh tế và bắt đầu được đối xử nghiêm túc vào năm 1960.

    • Ứng dụng toàn diện đầu tiên để tỉnh toán các vấn đề là “The economics of computer” của Sharpe’s. Mặc dù nó không chính xác lắm, nó cũng đã khuyến khích nghiên cứu tốt hơn các hình thức của mô hình giá phần mềm vào những năm 1970 và đầu năm 1980. Một số mô hình khả thi vẫn còn sử dụng đến ngày nay chẳng hạn như SLIM[60], PRICE S [29], COCOMO [8] ….

    • Dựa trên mô hình COCOMO chứa một bản tóm tắt về các khái niệm chính và kĩ thuật vi mô (chức năng sản phẩm, phạm vi kinh tế, phân tích cận biên, giá trị hiện tại, lý thuyết ra quyết định căn bản...) với các ví dụ và công nghệ để áp dụng chúng trong các tính huống ra quyết định phần mềm.

    • Một số kĩ thuật công nghệ phần mềm ngầm thể hiện vấn đề kinh tế. Quản lý rủi ro phần mềm sử dụng nguyên tắc lý thuyết quyết định thống kê để trả lời câu hỏi bao nhiêu kiểu mẫu, kiểm tra, thẩm định … là đủ? về việc mua thông tin để giảm rủi ro.

  • Thiếu sót cần được giải quyết
    • Hiện tại, khả năng lý do chi phí phần mềm mạnh hơn đáng kể so với khả năng lí do về lợi ích phầm mềm, hoặc về các nguồn lợi ích như thời gian trong chu trình phát triển, chất lượng cung cấp, tổng hợp giữa các dự án đồng thời và tuần tự và các lựa chọn thực tế bao gồm các cơ hội chiến lược.

5. Lộ trình kinh tế phần mềm

  • Ra quyết định tốt hơn cho việc tạo ra giá trị
    • Mục đích lộ trình của chúng ta được hỗ trợ bởi bởi một kết quả trung gian quan trọng
    • Các quyết định thiết kế còn phụ thuộc vào việc thiết lập các lợi ích khác.
    • Một lĩnh vực chúng ta cần phải hiểu tốt hơn là mối liên quan hệ giữa cơ chế thiết kế công nghệ, bối cảnh, và giá trị tạo ra để đào tạo tốt hơn và ra quyết định trong bất cứ hoàn cảnh nào.
    • Người liên quan tới việc ra quyết định phải được đào tạo cách triển khai công nghệ một cách tiện lợi hơn để tạo ra giá trị.
    • Các cơ chế kiểm tra và điều khiển cần được hướng dẫn ra quyết định tốt hơn thông qua không gian thiết kế theo nghiên cứu giá trị tăng thêm theo thời gian.
  • Không gian thiết kế phong phú hơn
    • Thiết kế phần mềm chuyên sâu nhìn chung diễn ra trong tình trạng không chắc chắn và giới hạn về hiểu biết.
    • Nhiều mô hình của một số loại sẽ được sử dụng cùng lúc trong bất cứ chương trình phức tạp nào.
  • Mối liện hệ giữa kinh tế phần mềm và chính sách
  • Khung nghiên cứu chính sách đầu tư phần mềm R&D
  • Giám sát tốt hơn việc quản lý đầu tư năng động

6. Cải thiện kinh tế phần mềm trong một doanh nghiệp

  • Mô hình chi phí, lợi ích và giá trị
    • Mô hình phát triển phần mềm chi phí, lịch trình và chất lượng
    • Mô hình lợi ích và giá trị
    • Mô hình lợi ích và giá trị
    • Mô hình giá trị : lợi ích liên quan đến chi phí
  • Theo dõi và quản lý giá trị

7. Làm nổi thiết kế hướng giá trị và phương pháp phát triển

  • Vấn đề thứ hai là phải coi trọng việc tối ưu các giá trị, sau đó phải hiểu toàn bộ việc thiết lập điều kiện diễn ra cùng với những lợi ích nhận được. Kịp thời tạo ra sản phẩm mang tính chất kinh tế có những đặc tính cần thiết làm hài lòng các yêu cầu là điều tất yếu.
  • Có các hướng tiếp cập là MBASE/USC, DMR/Thorp
    • MBASE/USC: Mô hình dựa trên kiến trúc và công nghệ phần mềm hướng tới tập trung thu hẹp các khía cạnh kĩ thuật của kiến trúc hệ thống, nhưng còn lâu mới đủ để thúc đấy thành công kết quả.
    • DMR/Thorp: Theo dõi sự phát triển của ứng dụng công nghệ thông tin, tự động hóa công việc thường xuyên, thông qua quản lý thống tin với vai trò chính: cho phép thay đổi sâu sắc chuyển đổi cơ cấu kinh doanh và tính năng.

8. Thách thức

  • Đầu tiên là kinh tế phần mềm luôn gặp phải các vấn đề quan trọng, tính ngắt quãng của nền kinh tế lớn tạo ra bởi phần mềm và công nghệ thông tin đã đẩy kinh tế phần mềm lên thành chủ đề phải nghiên cứu hàng đầu.
  • Thứ hai, các vấn đề khoa học thực tiễn và công nghệ không chỉ là lợi nhuận. Mà còn cần phải thiết kế mang tính tiện dụng, chính xác, giá trị tạo ra được đo theo các quy tắc tính của doanh nghiệp đang đầu tư.
  • Thứ ba, ý nghĩa về lợi ích thực tiễn hoặc sự thất bại khi làm cho họ là cao.
  • Thứ tư, nó xuất hiện có thể tạo ra bước tiến quan trọng cho nên cần phải toàn diện trong nghiên cứu và đào tạo công nghệ phần mềm.

9. Đào tạo

  • Chúng ta cần phải chú ý rằng nghiên cứu không thể tạo ra được những tác động theo mong muốn mà cần có một đầu tư một cách đồng bộ trong đào tạo.
  • Không phải mọi khái niệm trong kĩ thuật phần mềm đều chịu tác động từ phân tích kinh tế, khóa học. Giúp cho học sinh hiểu được cách thiết kế để tạo ra giá trị khi đối mặt với sự không chắc chắn, thiếu hiểu biết và cạnh tranh thông qua bản thiết kế danh mục, tiến trình, sản phẩm thông minh đang là thách thức quan trọng .