2 điểm bởi GN⁺ 2023-12-02 | 1 bình luận | Chia sẻ qua WhatsApp

Hệ giá trị của phát triển phần mềm

  • Trong quá trình phát triển phần mềm, mã nguồn thường được đọc nhiều hơn là được viết, điều này cho thấy việc viết mã dễ bảo trì là một khoản đầu tư tốt.
  • Mã nguồn không chỉ được viết ra mà còn nhằm mục đích cung cấp dịch vụ cho người dùng, vì vậy trải nghiệm người dùng là điều quan trọng.
  • Để phát triển lấy người dùng làm trung tâm, điều quan trọng là cho người dùng xem chương trình sớm và thường xuyên, đồng thời nhận phản hồi từ họ.

Tầm quan trọng của việc vận hành mã nguồn

  • Việc mã nguồn được chạy bao hàm cả việc vận hành chương trình, bao gồm triển khai, nâng cấp, giám sát, v.v.
  • Khi phần mềm chạy trong môi trường vận hành thực tế, nguyên tắc KISS (Keep It Simple, Stupid) càng trở nên quan trọng hơn.
  • Trong vận hành thực tế, điều quan trọng không chỉ là hiểu mã nguồn mà còn phải hiểu từng phần của hệ thống và bảo đảm nó có thể hoạt động ngay cả trong tình huống thất bại.

Tầm quan trọng của góc nhìn kinh doanh

  • Phát triển lấy người dùng làm trung tâm chỉ có ý nghĩa với giả định rằng phần mềm mang lại giá trị cho tổ chức.
  • Việc đưa góc nhìn kinh doanh vào quá trình phát triển có thể hữu ích, và cần cân nhắc ngân sách, marketing, thời hạn, v.v.
  • Khi xét đến toàn bộ tổ chức, những quyết định có ý nghĩa đối với phần mềm, đội ngũ hoặc người dùng không phải lúc nào cũng là lựa chọn tốt nhất.

Những vấn đề phổ biến trong phát triển phần mềm

  • Mã nguồn khó bảo trì phát sinh từ cách tiếp cận lấy người viết làm trung tâm.
  • Phần mềm không tính đến trải nghiệm người dùng phát sinh từ cách tiếp cận lấy nhà phát triển làm trung tâm.
  • Phần mềm được thiết kế mà không tính đến vận hành phát sinh từ cách tiếp cận lấy nhà phát triển làm trung tâm.
  • Phần mềm không cân nhắc góc nhìn kinh doanh phát sinh từ cách tiếp cận lấy nhà phát triển làm trung tâm.
  • Phần mềm thực tế không được đưa vào vận hành có thể phát sinh từ cách tiếp cận lấy kinh doanh làm trung tâm.

Ý kiến của GN⁺

Điều quan trọng nhất trong bài viết này là nhận thức được tầm quan trọng tương đối của nhiều yếu tố trong quá trình phát triển phần mềm và đưa ra quyết định dựa trên đó. Việc hiểu mối quan hệ và giữ cân bằng giữa người dùng, vận hành, nhà phát triển và kinh doanh là rất quan trọng. Bài viết này mang lại những góc nhìn thú vị cho các nhà phát triển phần mềm, đồng thời có thể giúp hình thành một văn hóa phát triển hiệu quả và có trách nhiệm hơn bằng cách nhấn mạnh tầm quan trọng của kinh doanh và vận hành, những yếu tố thường dễ bị bỏ qua trong quá trình phát triển.

1 bình luận

 
GN⁺ 2023-12-02
Ý kiến Hacker News
  • Mức độ sử dụng tăng dần giữa nhà thiết kế ngôn ngữ và nhà phát triển thư viện chuẩn, nhà phát triển mô-đun, lập trình viên thông thường và người dùng cuối

    So với nhà thiết kế ngôn ngữ, số lượng nhà phát triển mô-đun, lập trình viên thông thường và người dùng cuối có xu hướng tăng lên khoảng 1000 lần ở mỗi tầng. Điều này có nghĩa là một chút lười biếng ở giai đoạn đầu của việc thiết kế ngôn ngữ hoặc phát triển thư viện chuẩn có thể tạo ra tác động rất lớn về sau.

  • Lý do người ta sử dụng hệ thống và vai trò của quản lý cấp trung

    Người dùng có thể sử dụng hệ thống đơn giản vì công ty đã mua nó; trong trường hợp đó, nhà phát triển phải đáp ứng yêu cầu của quản lý cấp trung hơn là nhu cầu thực sự của người dùng. Điều này cho thấy người dùng có thể bị trói buộc vào một sản phẩm chưa hoàn thiện.

  • Phát hiện về ký hiệu toán học ≹ biểu thị quan hệ so sánh

    Ký hiệu '≹' biểu thị mối quan hệ trong đó hai đối tượng không lớn hơn cũng không nhỏ hơn nhau, nhưng không nhất thiết là bằng nhau. Đây là một khác biệt quan trọng trong những tình huống không thể chỉ so sánh bằng giá trị số.

  • Giá trị thời gian của lập trình viên so với chi phí chạy mã

    Chi phí để chạy mã 1 tỷ lần có thể còn thấp hơn vài phút thời gian của một lập trình viên. Với máy chủ AWS dùng trong một tháng, thậm chí có thể chạy mã web API 100 tỷ lần. Việc tối ưu hóa mã nên luôn ưu tiên khả năng con người đọc hiểu cho đến khi điều đó trở nên kém hiệu quả về mặt kinh tế.

  • Tầm quan trọng của tính dễ đọc của mã

    Nếu mã không được đọc, điều đó có nghĩa là nó sẽ không được chạy lâu dài. Đây là cách hiểu từ góc nhìn của một người mới đang muốn chuyển từ quản trị hệ thống sang làm lập trình viên.

  • Góc nhìn phê phán đối với lý thuyết của tác giả

    Khi tác giả diễn giải lại những chân lý phổ quát để xây dựng lý thuyết của riêng mình, cách diễn đạt đó có thể bị hiểu nhầm như một lối viết tắt gây khó chịu và không hữu ích.

  • Bản chất của kinh doanh và tầm quan trọng của người dùng

    Kinh doanh thực ra không phải là một thực thể tồn tại độc lập, mà là một cấu trúc giả định giúp tổ chức nguồn lực. Mục tiêu của kinh doanh là phục vụ người dùng, và khi chính trị nội bộ trở nên hỗn loạn khiến tổ chức chỉ theo đuổi lợi ích kinh doanh, tổ chức đó sẽ trở nên độc hại.

  • Mối quan hệ phức tạp giữa phát triển, vận hành và kinh doanh

    Phát triển, vận hành và kinh doanh đều không phải là các thực thể đơn nhất, mà gồm những con người có chuyên môn đa dạng và vai trò khác nhau trong tổ chức. Tất cả họ đều ảnh hưởng đến cách mã được viết và thời điểm nó được cung cấp cho người dùng.

  • Thảo luận về các vấn đề đạo đức trong ngành phần mềm

    Như một nỗ lực nhằm giải thích nguyên nhân của sự khó chịu ngày càng tăng trong giới chuyên môn phần mềm, điều này đặt ra câu hỏi về nghĩa vụ đạo đức khi người dùng không phải là khách hàng, hoặc khi mô hình kinh doanh gây ảnh hưởng tiêu cực đến người dùng.

  • Quan điểm cá nhân về tầm quan trọng tương đối của phát triển, vận hành và kinh doanh

    Tầm quan trọng của phát triển, vận hành và kinh doanh thay đổi tùy theo hoàn cảnh, và cũng thừa nhận rằng đôi khi phát triển cần được ưu tiên hơn kinh doanh hoặc vận hành.