Kỹ nghệ phần mềm

GS John Vu19/04/2024 13:00
Kỹ nghệ phần mềm

Kĩ nghệ phần mềm là bộ môn mà trong đó các kĩ sư tuân theo một qui trình xác định rõ để làm công việc của họ.

Họ thiết lập mục đích chất lượng, xác định các phương pháp họ sẽ dùng, cách đo công việc của họ, phân tích kết quả, và điều chỉnh phương pháp của họ để đáp ứng tốt hơn các yêu cầu của khách hàng.

Ý tưởng căn bản là ở chỗ nếu bạn muốn một sản phẩm có chất lượng, bạn phải có qui trình có chất lượng tạo ra sản phẩm này. Bộ môn Kĩ nghệ phần mềm không phải là mới nhưng nó không được dạy trong nhiều đại học bởi vì nó đòi hỏi rằng những người dạy nó phải có tri thức qui trình từ công nghiệp. Vì phần lớn các giáo sư không làm việc trong công nghiệp, hay không được huấn luyện trong qui trình nghiệp vụ, họ không muốn dạy nó.

Ngày nay phần lớn các đại học chỉ dạy cho mọi người làm người lập trình trong các ngôn ngữ khác nhau xem như công cụ của họ. Sinh viên dành ba tới bốn năm vào việc học ngôn ngữ tính toán nhưng khi họ đi làm, họ thấy rằng việc phát triển sản phẩm phần mềm là quá trình mà lập trình chỉ chiếm quãng 20% nỗ lực, cũng có nghĩa là họ chỉ có thể làm một phần nhỏ của toàn bộ việc phát triển phần mềm. Điều này giải thích tại sao phần lớn những công ti lớn ở Mĩ và châu Âu không thuê những người có bằng Khoa học máy tính thêm nữa.

Chương trình Kĩ nghệ phần mềm cung cấp cho sinh viên việc huấn luyện cần thiết để bố trí qui trình phần mềm qua việc dùng các kĩ thuật, thiết lập ra các phương pháp tốt nhất để xác định yêu cầu, thu thập dữ liệu, ngăn ngừa lỗi, đo đạc, ước lượng dòng lệnh, tổng chi phí về chất lượng và các kĩ thuật khác, những điều trợ giúp cho người kĩ sư trong việc phát triển sản phẩm phần mềm chất lượng. Các thuật ngữ qui trình và quản lí qui trình bây giờ được thiết lập vững chắc trong mọi nghiệp vụ chính nhưng nhiều người vẫn không hiểu về nghĩa thực và tầm quan trọng của những thuật ngữ này.

Xét nó trong toàn cảnh thì qui trình nghiệp vụ là một nhóm có tổ chức các hoạt động có liên quan được gắn với nhau sẽ tạo ra sản phẩm hay dịch vụ đem lại giá trị nghiệp vụ. Qui trình phần mềm là tập các hoạt động mà khi được tích hợp có hiệu quả sẽ tạo ra sản phẩm hay dịch vụ phần mềm có chất lượng đáp ứng cho sự trông đợi của khách hàng. Các qui trình đại diện cho một toàn cảnh mới về công việc của tổ chức. Chúng tạo ra sự hội tụ thấy được bởi vì nó được hướng tới việc đáp ứng cho kết quả nghiệp vụ như đáp ứng điều khách hàng muốn.

Bằng cách tuân theo qui trình, người kĩ sư phần mềm hiểu tác động của hoạt động riêng của mình lên người khác và lên khách hàng. Họ làm việc với hiểu biết rõ ràng về qui trình mà họ là một phần, hiểu rõ về kết quả họ đang giúp tạo ra, và hiểu rõ về khách hàng mà họ đang phục vụ. Họ nhận trách nhiệm về kết quả; họ làm điều mà tình huống yêu cầu thay vì điều mà ông chủ đã bảo họ làm.

Để quản lí người kĩ sư phần mềm có hiệu quả, người quản lí giỏi cần hiểu khái niệm cơ bản về Quản lí Qui trình:

  • Xác định qui trình trước, rồi xác định cấu trúc dự án sau.
  • Động viên việc thảo luận về các qui trình và động viên gợi ý về thay đổi qui trình từ những người tuân theo qui trình bởi vì họ biết cái gì có tác dụng và cái gì không có tác dụng.
  • Khi sự việc đi sai, tập trung vào việc sửa qui trình, không trách móc mọi người bởi vì họ chỉ tuân theo qui trình.
  • Thiết lập các đích cho chất lượng sản phẩm và hiệu năng dự án rồi quản lí qui trình  để đạt được kết quả mong muốn.
  • Hội tụ vào việc ngăn ngừa lỗi bằng phân tích nhân quả và cải tiến qui trình
  • Tiến hành cuộc họp kiểm điểm quản lí dự án hàng tuần về cách đo dự án

Người quản lí cấp cao phải kiểm điểm hiệu năng dự án bằng việc dùng các cách đo chuẩn dựa trên cơ sở đều đặn (hàng tuần và hàng tháng). Tất cả các nhà quản lí đều phải hiểu cách đó và trông đợi thấy chúng. Các vấn đề bao giờ cũng nằm ở các điểm yếu trong qui trình, đừng đổ tại hiệu năng cá nhân. Việc không tuân thủ (Không tuân theo qui trình) là “đáng bị trừng phạt”, nhưng không phải vì hiệu năng kém — hiệu năng kém được coi như vấn đề kĩ năng, đòi hỏi có huấn luyện thêm. Tất cả các cá nhân đều được trông đợi gợi ý việc cải tiến qui trình và đóng góp cho cải tiến qui trình là một tiêu chí quan trọng cho đề bạt. Thay vì sửa lỗi, chúng ta phải tập trung vào việc phòng ngừa lỗi. Các kĩ thuật phòng ngừa lỗi hội tụ vào việc khử bỏ các đường “thoát” lỗi qua các pha qui trình.

English version

Software Engineering

Software Engineering is a discipline where engineers follow a well-defined process to do their works. They establish quality goals, define methods they will use, measure their work, analyze the results, and adjust their methods to better meet customer requirements. The basic idea is that if you want a quality product, you must have a quality process that creates the product. Software Engineering discipline is not new but it is not taught in many universities because it requires that people who teach it must have process knowledge from industry. Since most professors do not work in industry, or receive training in business process, they do not want to teach it.

Today most universities only teach people to be programmers with different languages as their tools. Students spent three to four years learning computing languages but when they go to work, they find that the development of software products is a process where programming is only about 20% of the efforts that means they can only do a small part of the total product development. This explains why most large companies in the U.S and Europe do not hire people with Computer Science major anymore.

Software Engineering program provide students with the training necessary to engineer the software process through use of techniques, establishing the best methods for defining requirements, data collection, defect prevention, metrics, estimating lines of code, total cost of quality and other techniques that would assist the engineer in developing quality software product. The terms process and process management are now firmly established in every major business but many people still do not understand about the real meaning and important of these terms.

To put it in perspective, a business process is an organized group of related activities that together create a product or a service that bring business value. A software process is a set of activities that when effectively integrated will resulting in a quality software product or services that meet customer’s expectation. Processes represent a new perspective on organization’s work. They create an outward focus because it directed toward meeting a business outcomes such as meeting what customer want. By following a process, software engineers understand the effects of their own activities on others and on the customer. They work with an appreciation of the process of which they are a part, for the result they are helping to produce, and for the customer for whom they are producing it. They take responsibility for the outcomes; they do what the situation requires rather than what the boss has told them.

To manage software engineer effectively, a good manager need to understand the basic concept of Process Management:

  • Defining the process first, then the project structure later.
  • Encouraging discussion on processes and encourage suggestion for process change from the people who follow the process, because they know what works and what does not work.
  • When thing go wrong, focusing on fixing the process, not blaming the people because they only follow the process.
  • Set goals for product quality and project performance then managing the process to get the desired results.
  • Focusing on defect prevention by causal analysis and process revision
  • Conduct weekly project management review of project metrics

Senior managers must review project performance using standard metrics on a periodic basis (Weekly and Monthly). All managers must understand the metrics and expect to see them. Problems are always attributed to weaknesses in the process, not blamed on individual performance. Nonconformance (Not follow the process) is “punishable”, but not poor performance — poor performance is seen as a skill problem, requiring additional training. All individuals are expected to suggest process improvements and contribution to process improvement is an important criterion for promotion. Instead of fixing defect, we must focus on defect prevention. Defect prevention techniques focus on eliminating defect “escape” paths through the process phases.

 


Gửi bình luận
(0) Bình luận
1

CMMI-8

Hỏi: Chúng tôi đã đọc nhiều sách về cải tiến và chúng đều là sách rất hay nhưng khi chúng tôi bắt đầu thực hiện cải tiến trong tổ chức của mình, mọi sự cứ rời ra. Thầy có gợi ý gì không?
2

CMMI-12

Hỏi: Khách hàng của chúng tôi rất đòi hỏi, họ thường không biết điều họ muốn nhưng đối xử với người phát triển của chúng tôi rất tệ. Làm sao chúng tôi có thể cải tiến sự thoả mãn của khách hàng khi chúng tôi thậm chí không biết các trông đợi của họ?
3

CMMI-10

Hỏi: Xin thầy nói thêm cho tôi về khuôn khổ CMMI. Nó là gì và làm sao nó được coi là chuẩn để đo chất lượng?
4

CMMI

Vì công ti bạn xác định qui trình chuẩn dựa trên khuôn khổ CMMI để cải tiến, sau đây là một số gợi ý:
5

CMMI-6

Hỏi: Là một tổ chức phần mềm, chúng tôi biết cách phát triển phần mềm và tin rằng chúng tôi ở mức cao trên thang CMMI, nhưng chính người dùng của chúng tôi mới cần giúp đỡ. Họ không biết điều mình cần và cứ thay đổi yêu cầu của mình mọi lúc.

Người quản lý dự án

Tôi có một người bạn vừa được đề bạt làm người quản lí dự án phần mềm. Anh ấy sung sướng bởi vì sau nhiều năm làm người lập trình, cuối cùng anh ấy cũng đạt được chức vụ mà anh ấy hằng mong muốn.

Việc quản lý dự án

Quản lí dự án phần mềm là việc khó.

Đại học

Tôi có nói chuyện với một người bạn là giáo sư đại học về cách thức đại học sử dụng ngân quĩ do chính phủ cấp. Anh ấy nói rằng ưu tiên thứ nhất là xây dựng kí túc xá, rồi cải thiện thư viện với nhiều sách hơn, cuối cùng mới tới phòng học.

Cải tiến qui trình phần mềm

Hỏi: Thầy có thể cho lời khuyên về làm sao để thành công trong cải tiến qui trình phần mềm?

Kiểm thử phần mềm

Là một nhà chuyên môn về phần mềm trong hơn 30 năm, tôi biết rằng kiểm thử phần mềm không phải là việc nhàm chám mà là nghề mang tính sáng tạo cao bởi vì nó yêu cầu nhiều tư duy, phân tích và canh tân.

Nhu cầu kỹ sư phần mềm

Hiện nay có nhu cầu rất lớn về người làm phần mềm trên toàn cầu. Ở Mĩ rất khó thuê được kĩ sư phần mềm tại các thành phố chính như San Jose, Boston, Seattle hay New York.

Kỹ năng cần có để thành công

Tốt nghiệp Khoa học máy tính và làm việc như một người phát triển phần mềm, nhưng phần lớn thời gian em chỉ viết mã. Tuy nhiên, sau khi một người bạn giới thiệu cho em về blog của thầy, em bắt đầu tự hỏi em cần cái gì để thành công?

Học Khoa học máy tính

Mọi người bảo rằng Khoa học máy tính (CS) là khó, học sinh học nó thường bỏ. Họ khuyên em đừng chọn CS ở đại học.

55 nguyên tắc ứng xử thiết yếu để thành công - Giao tiếp bằng mắt giúp trẻ tự tin hơn

Trong quyển sách “55 nguyên tắc ứng xử thiết yếu để thành công”, tác giả Ron Clark - người đạt giải thưởng “Giáo viên xuất sắc toàn nước Mỹ” đã gợi ý việc khuyến khích giao tiếp bằng mắt sẽ giúp các con trở nên tự tin hơn trong cuộc sống.

CMMI-12

Blog GS John VU - GS John Vu - 16/05/2024 12:00
Hỏi: Khách hàng của chúng tôi rất đòi hỏi, họ thường không biết điều họ muốn nhưng đối xử với người phát triển của chúng tôi rất tệ. Làm sao chúng tôi có thể cải tiến sự thoả mãn của khách hàng khi chúng tôi thậm chí không biết các trông đợi của họ?

GPT-4o khiến ChatGPT trở nên giống con người hơn và các đối thủ của OpenAI tụt lại phía sau

Thư giãn - Sơn Vân - 16/05/2024 11:00
GPT-4o, mô hình trí tuệ nhân tạo (AI) mới của OpenAI, giúp ChatGPT trở nên giống con người hơn và khiến các đối thủ phải lo lắng.

Vợ chồng giáo sư bị con trai từ mặt, biết lý do khán giả quay lại ủng hộ người con

Suy ngẫm - Thu Lê - 16/05/2024 10:00
Cậu con trai duy nhất đã chủ động cắt đứt liên lạc với cha mẹ ngay sau khi tốt nghiệp đại học và đi làm.

55 nguyên tắc ứng xử thiết yếu để thành công - Giao tiếp bằng mắt giúp trẻ tự tin hơn

Từ sách - Phim - Mỹ Hòa - 16/05/2024 09:00
Trong quyển sách “55 nguyên tắc ứng xử thiết yếu để thành công”, tác giả Ron Clark - người đạt giải thưởng “Giáo viên xuất sắc toàn nước Mỹ” đã gợi ý việc khuyến khích giao tiếp bằng mắt sẽ giúp các con trở nên tự tin hơn trong cuộc sống.

Tuyển tập những câu chuyện hay nhất của Aesop - Sư tử và ba con bò

Từ sách - Phim - Ngọc Bích - 16/05/2024 08:00
Truyện ngụ ngôn về ba chú bò và sư tử của Aesop mang lại một bài học sâu sắc về sức mạnh của đoàn kết và hậu quả của sự chia rẽ.

OpenAI giới thiệu GPT-4o xử lý được cả giọng nói và hình ảnh cho người dùng miễn phí

Kỹ năng - Nguyễn Hải - 15/05/2024 13:00
Theo OpenAI, mô hình AI mới có thể xử lý xuyên suốt cả giọng nói, hình ảnh và văn bản theo thời gian thực.

CMMI-11

Blog GS John VU - GS John Vu - 15/05/2024 12:00
Hỏi: Khác biệt giữa tổ chức phần mềm tốt nhất và tồi nhất là gì? Chúng ta có dữ liệu nào không?

GPT-4o có khả năng nói chuyện và trả lời theo thời gian thực như phim khoa học viễn tưởng

Thư giãn - Sơn Vân - 15/05/2024 11:00
Rạng sáng hôm 14.5 (giờ Việt Nam), OpenAI thông báo phát hành mô hình trí tuệ nhân tạo (AI) mới mang tên GPT-4o, có khả năng trò chuyện bằng giọng nói thực tế và tương tác qua văn bản lẫn hình ảnh.

Giới trẻ đua nhau 'chữa lành' với chatbot AI

Phong cách sống - Anh Việt - 15/05/2024 10:00
Thanh thiếu niên đang cởi mở với chatbot AI như một cách để khám phá tình bạn. Nhưng đôi khi, lời khuyên của AI có thể đi quá xa

Tài chính cho mọi người - Lý giải vì sao bạn cần ghi chép chi tiêu mỗi ngày

Từ sách - Phim - MỸ HÒA - 15/05/2024 09:00
Nếu bạn đang tìm cách kiểm soát và quản lý chi tiêu của mình thì cuốn sách về quản lý tài chính cá nhân “Tài chính cho mọi người” sẽ giúp bạn hiểu rõ hơn về tầm quan trọng và những bài học giá trị từ việc ghi chép chi tiêu mỗi ngày.

Tuyển tập những câu chuyện hay nhất của Aesop - Con gấu và hai người đi đường 

Từ sách - Phim - Ngọc Bích - 15/05/2024 08:00
“Hai người đàn ông đang đi cùng nhau thì bỗng nhiên có một con gấu xuất hiện trên đường. Một người nhanh chóng trèo lên một cái cây và cố giấu mình trong những nhánh cây rậm rạp.

CMMI-10

Blog GS John VU - GS John Vu - 14/05/2024 12:00
Hỏi: Xin thầy nói thêm cho tôi về khuôn khổ CMMI. Nó là gì và làm sao nó được coi là chuẩn để đo chất lượng?

Bạn muốn hẹn hò - Người đàn ông Phú Yên muốn kết đôi ngay với cô giáo U60

Truyền hình - Lam Phương - 14/05/2024 11:00
Hồng Sơn liên tục khiến Ngọc Dung và hai MC tỏ ra bất ngờ trước sự lãng mạn, hài hước của mình.

Người sống hạnh phúc đều không dính vào 10 chuyện ngốc nghếch này

Suy ngẫm - Trung Hạ - 14/05/2024 10:00
Không ai có thể quay về quá khứ để bắt đầu lại, nhưng mọi người đều có thể làm lại từ đầu ngay bây giờ và tạo dựng tương lai mới. Nhưng trước khi có thể thực hiện sự thay đổi này, bạn phải buông bỏ những thứ đang cản trở và vô nghĩa.

Thánh kinh marketing

Tủ sách - FN - 14/05/2024 09:00
Bí thuật chốt đơn dân sale cần biết. Tiến sĩ Yaniv Zaid mang đến cho cho bạn mười quy tắc vàng trong marketing, thương thuyết và bán hàng, những điều bạn cần phải biết trong thế kỷ 21.
HẠT GIỐNG TÂM HỒN
  • Địa chỉ: 11H Nguyễn Thị Minh Khai - P. Bến Nghé - Quận 1 - TP. Hồ Chí Minh
  • Điện thoại: (+8428) 38233860 - Email: triviet@firstnews.com.vn
  • Giấy phép số 496/GP-BTTTT Bộ Thông tin và Truyền thông cấp ngày 17/10/2022
  • Chịu trách nhiệm chính: Nguyễn Văn Phước
  • Công ty TNHH văn hóa sáng tạo Trí Việt
  • Fax: (+8428) 38224560
  • Thỏa thuận cung cấp dịch vụ mạng xã hội Hạt giống tâm hồn
2019 Bản quyền thuộc về hatgiongtamhon.com.vn. Phát triển bởi ONECMS
Thứ 5, 16/05/2024