ĐẠO ĐỨC TRONG PHÁT TRIỂN PHẦN MỀM
Sinh viên: Đỗ Thị Mỹ Lan
mssv: 20110666
GVHD: Gv.Huỳnh Xuân Phụng
PREAMBLE
Máy tính ngày càng khẳng định vị thế trung tâm và vai trò ngày càng quan trọng của mình ở các lĩnh vực: Thương mại, công nghiệp, chính phủ, y tế, giáo dục, giải trí và xã hội nói chung. Kỹ sư phần mềm là người áp dụng các nguyên tắc/nguyên lý của công nghệ phần mềm vào việc thiết kế, phát triển, bảo trì, kiểm thử, đánh giá phần mềm và hệ thống khiến máy tính. Do vai trò của software engineer trong việc phát triển phần mềm là vô cùng quan trọng, những sai phạm có thể sẽ dẫn đến hậu quả vô cùng to lớn. Vì thế, để đảm bảo rằng hệ thống phần mềm được sử dụng cho mục đích tốt nhất, các software engineer phải tuân thủ Quy tắc đạo đức và thực hành nghề nghiệp
Bộ quy tắc đạo đức và nghề nghiệp bao gồm 8 nguyên tắc liên quan đến hành vi và quyết định của các kỹ sư phần mềm chuyên nghiệp. Khi làm việc, cân nhắc các nguyên tắc trên, software engineer có thể xem xét mức độ ảnh hưởng của sản phẩm đến người khác, chỉ approve sản phẩm khi nhìn nhận mức độ an toàn của nó, sẵn sàng đóng góp chất xám của mình với mục đích tốt, thành thật về kinh nghiệm và kỹ năng, giữ bí mật thông tin có được trong quá trình làm việc, cố gắng tối đa để đưa ra chất lượng sản phẩm cao nhất có thể, trả lương công bằng và luôn không ngừng nâng cao bản thân,...
Bộ 8 nguyên tắc này được sự đồng thuận của giới chuyên môn về các vấn đề đạo đức nên nó là 1 phương tiện để giáo dục cho cả cộng đồng và đặc biệt là các software engineer.
PRINCIPLES
Principle 1: Public
Khi làm việc, các kỹ sư phần mềm luôn đặt vấn đề lợi ích cộng đồng (public interest) lên trên:
- Chịu hoàn toàn trách nhiệm công việc của mình.
- Kiểm soát lợi ích của kỹ sư phần mềm, nhà tuyển dụng, khách hàng và người dùng với lợi ích chung.
- Chỉ approve khi có sự chắc chắn về mức độ an toàn của sản phẩm, đáp ứng các thông số kỹ thuật, vượt qua các bài test, không là phần mềm độc hại ảnh hưởng đến quyền riêng tư và gây hại môi trường. Quan trọng nhất vẫn là mang lại hiệu quả vì lợi ích cộng đồng.
- Thông báo khi phát hiện bất kỳ một mối nguy hiểm tiềm ẩn nào của phần mềm (bao gồm cả những tài liệu có liên quan) đến với khách hàng, cơ quan có thẩm quyền, hoặc thậm chí là cộng đồng, môi trường.
- Hợp tác trong nỗ lực giải quyết các vấn đề của phần mềm mà cộng đồng đặc biệt quan tâm: Quá trình cài đặt, bảo trì, hỗ trợ, các tài liệu liên quan,...
- Công bằng và thành thật về những lời khẳng định, tuyên bố đến cộng đồng về các vấn đề của phần mềm, tài liệu, phương pháp và các công cụ có liên quan.
- Xem xét, cân nhắc những vấn đề về khiếm khuyết của phần mềm, phân bổ nguồn lực, bất lợi kinh tế và các yếu tố khác giảm đi khả năng tiếp cận những lợi ích phần mềm mang lại.
- Khuyến khích tự trau dồi các skill chuyên nghiệp vì những mục đích tốt đẹp và đóng góp vào sự nghiệp giáo dục cộng đồng về chuyên ngành này.
Vd: Luôn theo dõi cách vận hành của phần mềm, test nhiều case để phát hiện lỗ hỗng hay những khiếm khuyết, theo đó là những nâng cấp, phát triển phần mềm và cũng đặc biệt lưu tâm đến yếu tố chi phí
Principle 2: Client and Employer
Mục tiêu của các software engineer là đem lại sự hài lòng tốt nhất cho khách hàng và nhà tuyển dụng, đồng thời phù hợp với lợi ích của cộng đồng. Cụ thể, vào thời điểm thích hợp các kỹ sư sẽ phải:
- Cung cấp các dịch vụ trong phạm vi hiểu biết của khách hàng (có thể trong học tập hay làm việc). Thành thật và thẳng thắn trong về những hạn chế trong hiểu biết và học vấn của họ.
- Không sử dụng các phần mềm mà nó có được hoặc lưu giữ dưới hình thức bất hợp pháp hay trái đạo đức
- Chỉ sử dụng tài khoản của khách hàng và nhà tuyển dụng khi nhận được sự ủy thác với kiến thức và sự hiểu biết của họ.
- Đảm bảo tính xác thực của bất cứ giấy tờ/tài liệu được phê duyệt bởi cơ quan có thẩm quyền mà khách hàng đưa ra để nhận được sự chấp thuận.
- Giữ bí mật tất cả các thông tin của khách hàng và nhà tuyển dụng trong suốt quá trình làm việc, khi những bí mật đó phù hợp với lợi ích cộng đồng và với quy định của pháp luật.
- Xem xét nhận định, thiết lập tài liệu, thu thập những minh chứng và thông tin với khách hàng hoặc nhà tuyển dụng về khả năng thất bại của dự án, chi phí quá đắt (so với tài chính của họ), vi phạm luật sở hữu trí tuệ,... và những vấn đề có nguy cơ ẩn chứa rủi ro.
- Xem xét nhận định, thiết lập tài liệu và báo cáo những vấn đề được dư luận đặc biệt quan tâm mà họ biết(bao gồm phần mềm và các tài liệu liên quan) đến khách hàng hoặc nhà tuyển dụng.
- Không nhận thêm các job bên ngoài gây ảnh hưởng bất lợi đến nhà tuyển dụng chính của mình.
- Xây dựng và gửi đến khách hàng và nhà tuyển dụng những quảng cáo không liên quan và mang tính tiêu cực, trong trường hợp ảnh hưởng đến tiêu chuẩn đạo đức cần phải báo ngay cho cơ quan có thẩm quyền.
Vd: Khi nắm giữ những bí mật của khách hàng, tuy nhiên chỉ đối với những bí mật không bị vi phạm pháp luật, tuyệt đối phải giữ kín để bảo vệ khách hàng, tránh những rủi ro không đáng có.
Principle 3: Product
Software engineer phải đảm bảo rằng sản phẩm được tạo ra và những thay đổi có liên quan đáp ứng được các tiêu chuẩn chuyên môn cao nhất có thể. Cụ thể:
- Cố gắng đạt được chất lượng sản phẩm tốt nhất có thể, chi phí chấp nhận được và lịch trình phù hợp. Sản phẩm đáp ứng được yêu cầu, sự hài lòng của khách hàng và nhà tuyển dụng, và tính sẵn sàng cho người dùng và cộng đồng sử dụng.
- Đảm bảo tính riêng biệt, các mục tiêu có thể đạt được và sự khách quan cho bất kỳ project nào được tạo ra hay chỉ mới là đề xuất.
- Nhận định, định nghĩa và giải quyết các vấn đề về đạo đức, kinh tế, văn hóa, pháp luật và các issues liên quan đến môi trường làm việc của dự án.
- Đảm bảo rằng sản phẩm đạt được tiêu chuẩn, thành quả cuối cùng là sự kết hợp của việc học tập, training và thực hành luyện tập.
- Đảm bảo sự lựa chọn phương thức làm việc thích hợp cho 1 project hoặc là đề xuất.
- Tuân theo các tiêu chẩn làm việc chuyên môn.
- Cố gắng hiểu đầy đủ các thông số kỹ thuật của phần mềm khi nó hoạt động.
- Đảm bảo rằng các thông số kỹ thuật được ghi chép đầy đủ, đáp ứng yêu cầu người dùng và đã được phê duyệt.
- Đảm bảo ước tính định lượng về chi phí, lịch trình, nhân sự, chất lượng và kết quả của 1 project đang thực hiện hoặc đề xuất thực hiện và cung cấp những lời đánh giá về sự không chắc chắn của những ước tính này.
- Đảm bảo thực hiện các bài test đầy đủ, debug, kiểm duyệt lại phần mềm và các tài liệu liên quan cùng chung hoạt động.
- Đảm bảo tính đầy đủ về tài liệu, bao gồm cả những vấn đề nghiêm trọng được phát hiện và hướng giải quyết cho dự án.
- Tôn trọng quyền riêng tư của những người bị ảnh hưởng khi làm việc với việc phát triển phần mềm và các công cụ liên quan.
- Cẩn thận khi sử dụng dữ liệu có nguồn từ các phương tiện hợp pháp và đạo đức, và sử dụng nó 1 cách hợp pháp.
- Duy trì tính toàn vẹn của dữ liệu, nhạy bén với sự xuất hiện của các lỗi thường gặp và thiếu sót.
- Xử lý bảo trì phần mềm có tính chuyên môn cao như được phát triển làm mới.
Vd: Sản phẩm tạo ra phải được kiểm duyệt về chất lượng, thực hiện nhiều bài kiểm tra để test độ chính xác, đáng tin cậy.
Principle 4: Judgment
Các kỹ sư phần mềm phải duy trì tính toàn vẹn và độc lập trong đánh giá chuyên môn. Cụ thể:
- Tạm hoãn những đánh giá, phán đoán về kỹ thuật bởi sự cần thiết trong hỗ trợ và duy trì giá trị của con người.
- Chỉ công nhận những tài liệu hoặc là được chuẩn bị dưới sự giám sát hoặc là trong lĩnh vực thẩm quyền các tài liệu đã được thông qua.
- Duy trì tính khách quan về chuyên môn đối với phần mềm hoặc tài liệu liên quan được yêu cầu đánh giá.
- Không tham gia và thực hiện các hành vi lừa đảo, hối lộ, lập hóa đơn giả và những vi phạm hành chính khác.
- Thông tin cho những bên có liên quan khi xuất hiện những xung đột lợi ích hoặc tìm cách thoát khỏi nó.
- Từ chối tham gia hay trở thành thành viên, cố vấn của công ty tư nhân, chính phủ, hoặc tổ chức chuyên nghiệp có liên quan các vấn đề đến phần mềm. Trong đó, nhà tuyển dụng hoặc khách hàng không được tiết lộ những xung đột lợi ích tiềm ẩn.
Vd: Trong đánh giá chuyên môn, chỉ tin tưởng vào những tài liệu có độ chính xác, tính xác thực cao. Không nhận tiền hối lộ để đưa ra những nhận định phiến diện, vô căn cứ.
Principle 5: Management
Các nhà lãnh đạo và quản lý kỹ thuật phần mềm phải đăng ký và thúc đẩy quá trình tiếp cận đạo đức tới việc quản lý và bảo trì phần mềm. Cụ thể:
- Đảm bảo quản lý tốt dự án bao gồm nâng cao chất lượng và giảm thiểu rủi ro.
- Đảm bảo các kỹ sư phần mềm đã nắm được các tiêu chuẩn trước khi bắt đầu làm việc.
- Đảm bảo về việc bảo mật mật khẩu, tệp và các thông tin mật của nhà tuyển dụng.
- Giao công việc phù hợp với trình độ học vấn và tôi luyện nếu muốn nâng cao trình độ.
- Đảm bảo ước tính định lượng về chi phí, lịch trình, nhân sự, chất lượng và kết quả của 1 project đang thực hiện hoặc đề xuất thực hiện và cung cấp những lời đánh giá về sự không chắc chắn của những ước tính này.
- Mô tả đầy đủ và chính xác điều kiện tuyển dụng để thu hút các software engineer tiềm năng.
- Trả thù lao công bằng và chính đáng.
- Không gây khó dễ cho người khác nếu họ có đủ tài năng đảm nhận vị trí đó.
- Đảm bảo sự thỏa thuận công bằng liên quan đến quyền sở hữu phần mềm, quy trình, nghiên cứu, văn bản hoặc tài sản trí tuệ.
- Đưa ra quy trình phù hợp khi xét xử các cáo buộc vi phạm chính sách của nhà tuyển dụng hoặc Quy tắc này.
- Không yêu cầu hay bắt buộc software engineer làm những điều trái với quy tắc này.
- Không trừng phạt những người bày tỏ mối quan ngại về đạo đức trong 1 dự án.
Vd: Cùng là những kỹ sư phần mềm, nên giúp đỡ nhau để cùng phát triển, tạo nên 1 môi trường cạnh tranh văn minh, sẵn sàng lắng nghe hay bày tỏ những ý kiến mang tính đóng góp.
Principle 6: Profession
Các kỹ sư phần mềm phải nâng cao tính toàn vẹn và bảo vệ danh tiếng nghề nghiệp phù hợp với lợi ích cộng đồng. Cụ thể, các kỹ sư phần mềm sẽ:
- Giúp phát triển một môi trường tổ chức thuận lợi để tạo ra những hoạt động tốt về mặt đạo đức chuyên môn.
- Thúc đẩy nâng cao kiến thức của cộng đồng về kỹ thuật phần mềm.
- Mở rộng kiến thức về công nghệ phần mềm thông qua các tổ chức chuyên nghiệp, cuộc họp, sách, báo,...
- Hỗ trợ với tư cách là người trong nghề, các software engineer phải luôn ghi nhớ nguyên tắc này.
- Không thúc đẩy lợi ích riêng vì chi phí từ khách hàng hay nhà tuyển dụng.
- Tuân theo các luật điều chỉnh công việc, trừ trường hợp việc tuân thủ đó không phù hợp với lợi ích cộng đồng.
- Hãy chính xác trong việc tuyên bố các đặc điểm hoạt động của phần mềm, đặc biệt là những tuyên bố được xem là đầu cơ, vô nghĩa, lừa đảo, gây nên hiểu lầm.
- Chịu trách nhiệm phát hiện, sửa chữa và báo cáo lỗi trong phần mềm và các tài liệu liên quan.
- Đảm bảo rằng khách hàng, nhà tuyển dụng và người giám sát đều biết về lời kết của các software engineer đối với các quy tắc này.
- Tránh liên kết với các doanh nghiệp và tổ chức có xung đột về những nguyên tắc này.
- Nhận thức được rằng để trở thành 1 software engineer chuyên nghiệp thì không được vi phạm các nguyên tắc này.
- Bày tỏ sự quan ngại với những người có liên quan đến việc vi phạm các quy tắc.
- Báo cáo những hành vi vi phạm nghiêm trọng cho cơ quan có thẩm quyền.
Vd: Một khi bắt tay vào dự án, phải thể hiện sự chuyên nghiệp trong suốt quá trình làm việc: Chịu trách nhiệm về sự cố và phát hiện sửa chữa các lỗi đó trong phần mềm. Bày tỏ rõ quan điểm về những dấu hiệu của sự vi phạm các nguyên tắc đạo đức, lên án gay gắt và báo cho cơ quan có thẩm quyền khi những việc làm đó gây ra những ảnh hưởng nghiêm trọng.
Principle 7: Colleagues
Các kỹ sư phần mềm phải được đối xử công bằng và hỗ trợ các đồng nghiệp của họ. Cụ thể:
- Khuyến khích đồng nghiệp tuân thủ các quy tắc này.
- Hỗ trợ đồng nghiệp phát triển chuyên môn.
- Ghi nhận đầy đủ công việc của người khác và không chấp nhận quá hạn.
- Đánh giá công việc của người khác một cách khách quan, thẳng thắn, và được ghi chép lại đầy đủ.
- Tạo 1 buổi meeting để lắng nghe các ý kiến, mối quan tâm hoặc phàn nàn của đồng nghiệp.
- Hỗ trợ đồng nghiệp những kiến thức về chính sách và thủ tục bảo vệ mật khẩu, tệp và thông tin bí mật,... và các biện phát bảo mật khác.
- Không can thiệp 1 cách không công bằng vào vị trí công việc của đồng nghiệp, trừ trường hợp vì lợi ích chung mà đặt câu hỏi về năng lực của đồng nghiệp.
- Đối với các tình huống nằm ngoài lĩnh vực hiểu biết, hãy nhờ các chuyên gia có năng lực trong lĩnh vực đó.
Vd: Luôn giúp đỡ, tạo điều kiện cơ hội cho đồng nghiệp, đồng thời đưa ra những lời góp ý chân thành, khách quan mang tính xây dựng.
Principle 8: Self
Các kỹ sư phần mềm phải tham gia học tập suốt đời và thúc đẩy sự tiếp cận đạo đức trong chuyên môn. Cụ thể:
- Nâng cao kiến thức cá nhân về sự phát triển trong phân tích, đặc tả, thiết kế, phát triển, bảo trì, thử nghiệm phần mềm và các tài liệu có liên quan, cùng với đó là quản lý sự phát triển của phần mềm.
- Cải thiên, nâng cao khả năng để tạo ra phần mềm chất lượng an toàn, đáng tin cậy, hữu ích, với chi phí hợp lý và thời gian làm việc phù hợp.
- Cải thiên khả năng tạo ra những tài liệu mang tính chính xác.
- Nâng cao sự hiểu biết của cá nhân về phần mềm và các tài liệu liên quan và môi trường được sử dụng.
- Nâng cao kiến thức về luật điều chỉnh và các tài liệu có liên quan.
- Nâng cao kiến thức về các quy tắc này.
- Không đối xử bất công.
- Không cản trở người khác thực hiện các quy tắc này.
- Nhận thức được rằng trên con đường trở thành 1 software engineer chuyên nghiệp sẽ không có sự tồn tại của các dấu vết vi phạm bộ các nguyên tắc trên.
Vd: Luôn không ngừng trau dồi, nâng cao trình độ, kỹ năng cá nhân. Đồng thời, phải tuyệt đối không vì lợi ích cá nhân mà để bản thân ngã vào những vi phạm trên.
Các trường hợp vi phạm nguyên tắc đạo đức khi phát triển phần mềm
- Khi bạn là software engineer chính thức của công ty A, để kiếm thêm thu nhập bạn nhận thêm job từ công ty B (đối thủ cạnh tranh của A). Để sản phẩm phần mềm của B mang tính cạnh tranh cao hơn, bạn đã tiết lộ 1 vài thông tin mật của A ----> Vi phạm quy tắc Principle 2: Client and Employer
- Khi phát hiện ra những lỗ hỗng trong lập trình nhưng vẫn không thông báo đến khách hàng hay nhà tuyển dụng vì sợ ảnh hưởng đến danh tiếng ----> Vi phạm Principle 1: Public
- Phòng Hình sự của Tòa án Tối cao đã đưa ra bản án đầu tiên kết tội 1 người phụ nữ Tây Ban Nha, sau khi đã kiểm tra cơ sở vào tháng 11 năm 2017 và phát hiện ra rằng, hai trong số tám máy tính của người này có bản quyền Windows lậu và cả bộ Microsoft Office gốc trái phép, và cô đã phải hầu tòa nhiều lần kể từ đó. Đã có nhiều "bước pháp lý" khác nhau, nhưng cuối cùng quyết định của Tòa án Tối cao Tây Ban Nha đã được đưa ra. Xử phạt sáu tháng tù đối với người phụ nữ này và phạt 3.600 Euro. Đây là biểu hiện của "chống lại sở hữu trí tuệ" ---->Vi phạm Principle 2: Client and Employer
- Trong 1 nhóm phát triển phần mềm, khi sản phẩm được tung ra và nhận được những lời đánh giá cao của giới chuyên môn, vì chức vụ cao hơn nên A luôn giành các công lao về tay mình. ----> Vi phạm Principle 5: Management
- Ngân hàng C có lưu trữ thông tin cá nhân của khách hàng để tiến hành cho vay, thế nhưng để có lợi nhuận thêm, C đã bán thông tin của rất nhiều hàng. C đã không thực hiện đúng quy tắc về bảo mật thông tin cho khách hàng ----> Vi phạm Principle 2: Client and Employer
Nhận xét
Đăng nhận xét