Phần mềm, hệ thống và người-tháng
Tôi nhận được một email người gửi viết: “Chương trình phần mềm khác gì với sản phẩm phần mềm? Phần mềm hệ thống khác gì với hệ thống phần mềm? Người-tháng là gì trong dự án phần mềm và làm sao tính được nó?”
Công nghiệp CNTT Ấn Độ năm 2012
Công nghiệp Công nghệ thông tin (CNTT) Ấn Độ là trường hợp thành công lớn trong thời hiện đại.
Kĩ năng của nhà doanh nghiệp
Tuần trước trong lớp, một sinh viên đã hỏi tôi: “Em muốn là một nhà doanh nghiệp như Steve Jobs hay Bill Gates và bắt đầu công ti riêng của em. Em cần làm gì để biết trước khi em tốt nghiệp?” Đột nhiên, vài sinh viên cũng muốn biết cách bắt đầu công ti riêng của họ. Dường như là mọi người đều muốn là ông chủ riêng của họ thay vì làm việc cho ai đó khác.
Tương lai của công nghệ thông tin
Khi năm mới bắt đầu, một số sinh viên hỏi tôi về vài dự đoán cho tương lai. Tôi chia sẻ cùng họ một số ý nghĩ của tôi mà tôi tin những điều này có thể xảy ra trong tương lai gần:
Công nghiệp khoán ngoài Trung Quốc
Bẩy năm trước, nhiều nhà phân tích công nghiệp dã dự báo rằng Trung Quốc sẽ là người khổng lồ làm khoán ngoài CNTT tiếp theo Ấn Độ trước năm 2010, sẵn sàng cạnh tranh trực tiếp với Ấn Độ về vị trí hàng đầu. Tuy nhiên, ngày nay việc làm khoán ngoài của Trung Quốc vẫn bị giới hạn vào vài nước láng giềng như Nhật Bản và Hàn Quốc thay vì toàn thể thị trường toàn cầu kể cả Mĩ và châu Âu.
Một dòng mã
Khi tôi là sinh viên khoa học máy tính, tôi chưa bao giờ học về Quản lí cấu hình phần mềm Software Configuration Management (SCM).
Thành công ở đại học
Thành công nghĩa là đạt tới mục đích của bạn, dù chúng là bất kì cái gì.
Ưu tiên cho người quản lí dự án phần mềm
Phần lớn những người quản lí dự án được đào tạo để hội tụ vào lịch biểu nhưng theo kinh nghiệm của tôi, có lẽ điều quan trọng nhất là về đặt ưu tiên dự án.
Cách đo và độ đo
Tôi nhận được một email người gửi viết: “Cái gì là khác biệt giữa cách đo và độ đo và có bao nhiêu cách đo hay độ đo phần mềm?”
Cách đo
Tôi nhận được một email từ một sinh viên: “Tại sao chúng ta phải đo công việc của mình? Đo là khó và phí thời gian vì nó không cung cấp cho tôi giá trị. Nếu chúng ta có lỗi, chúng ta có thể sửa chúng về sau bất kể chúng có bao nhiêu. Tôi không biết tại sao chúng ta cần đo?”
Vòng đời kiểm thử
Nhiều người trong các bạn đã hỏi tôi về kiểm thử và mối quan hệ của nó với vòng đời phát triển phần mềm. Về căn bản kiểm thử tuân theo vòng đời tương ứng với mọi pha của vòng đời phát triển.
Quy trình phần mềm
Tôi nhận được một email mà người gửi hỏi: “Khác biệt giữa qui trình phần mềm và qui trình được xác định là gì? Khác biệt giữ qui trình được xác định và qui trình cá nhân là gì?”
Dự án phần mềm thành công
Một sinh viên hỏi tôi: Làm sao thầy biết liệu dự án phần mềm là thành công hay không? Nếu phần mềm chạy tốt, nó có là thành công không? Nếu mã qua được mọi kiểm thử nó có là thành công không?”
Ước lượng dự án
Nhiều dự án phần mềm có vấn đề bởi vì lịch biểu khách hàng đặt cho họ. Bởi vì người quản lí dự án không biết cách ước lượng thời gian cần để hoàn thành dự án cho nên họ đồng ý với bất kì ngày tháng nào khách hàng đặt ra. Không may, phần lớn các khách hàng cũng không biết dự án có thể được thực hiện trong bao lâu cho nên họ đặt một ngày tháng tuỳ tiện mà họ thích. Đó là lí do tại sao dự án ở vị thế xấu vì ngày tháng bị đặt dựa trên phỏng đoán chứ KHÔNG dựa vào thời gian cần thiết.
Xem xét trường sau đại học
Tuần trước, một học sinh gửi cho tôi một email: “Em sẽ sớm tốt nghiệp và xem xét vào trường sau đại học nhưng em vẫn không chắc về học cái gì hay liệu vào trường sau đại học có là quyết định đúng hay không. Em cũng không chắc liệu em có nên vào trường địa phương hay đi học nước ngoài để có bằng cấp cao. Xin thầy lời khuyên.”
Người kiểm thử phần mềm
Ngày nay, nhiều thứ được kiểm soát bởi phần mềm và chất lượng phần mềm trở thành vấn đề số một.
Đối thoại khác ở Trung Quốc
Tuần trước tôi đã dạy ở Trung Quốc và một giáo sư đại học bảo tôi rằng trong khi kinh tế Trung Quốc đang tăng trưởng mạnh, số người thất nghiệp trong những người tốt nghiệp đại học cũng lên cao mọi lúc và nó đặt ra vấn đề nghiên trọng. Ông ấy nói: “Ngày nay người có giáo dục đại học trung bình kiếm quãng $350 một tháng nhưng công nhân lao động không có giáo dục cũng làm được $310 đô la một tháng. Với nhiều sinh viên đại học, KHÔNG đáng đầu tư vào giáo dục cao hơn chút nào nữa. Ông có thể hình dùng mất 4 năm ở đại học chỉ làm ra hơn vài đô la so với người có giáo dục bị hạn chế không?”
Công nghiệp CNTT Nga
Khi lần đầu tiên tôi tới thăm Nga năm 1996 để tiến hành nghiên cứu về xu hướng phần mềm, tôi đã bị ấn tượng về lực lượng lao động kĩ năng cao quãng vài nghìn người phát triển phần mềm, nhiều người có bằng tiến sĩ và thạc sĩ với đào tạo chuyên sâu về toán học và vật lí.
Thỏa mãn của khách hàng
Tôi nhận được một email người gửi viết: “Công ti tôi yêu cầu rằng dự án phần mềm phải đạt tới thoả mãn của khách hàng. Tuy nhiên, khách hàng của tôi rất không có lí. Anh ta yêu cầu điều không thể được như mọi thứ đều phải được làm với chất lượng cao và chuyển giao đúng thời gian hay cái gì khác. Làm sao chúng tôi có thể đạt tới điều này được? Tổ của chúng tôi gồm hầu hết là người mới tốt nghiệp và đây là việc làm đầu tiên của chúng tôi cho nên chúng tôi sợ hãi và bị lẫn lộn. Chúng tôi không biết cách đạt tới sự thoả mãn của khách hàng. Xin cho lời khuyên.”
Cơ hội nghề nghiệp
Công nghệ thông tin (CNTT) là lĩnh vực lớn nơi mọi người có thể xây dựng chuyên môn nghề nghiệp riêng của họ theo nhiều cách.