2009-03-16 29 views

Trả lời

35

Trình quản lý chương trình = người quản lý dự án phù hợp hơn. Kiến trúc sư phần mềm = Kỹ sư phần mềm trong áo phông sạch hơn.

+0

Cũng đã nói, ngoại trừ tôi luôn nghĩ về Kỹ sư phần mềm là khá chuyên nghiệp. Có lẽ nhiều hơn như "nhà phát triển phần mềm trong một t-shirt sạch". ;) – Joel

+0

Vậy sự khác nhau giữa S. Developer và Kỹ sư S. là gì? vòng ở đây các điều khoản được trao đổi hoán đổi cho nhau ... – geocoin

+1

S. Nhà phát triển và Kỹ sư S. - Nó phụ thuộc nếu có xung quanh PEng. – BIBD

10

Quản lý Chương trình: lập trình viên không có sự tôn trọng của các lập trình viên

Software Architect: lập trình viên mà không cần sự tôn trọng của các lập trình viên

+0

YMMV - bạn có xem Martin Fowler thiếu sự tôn trọng của các lập trình viên không? –

+0

Tôi hầu như tổng kết những giai thoại tôi đã lấy từ các bài viết được liên kết. Nó thực sự phụ thuộc vào định nghĩa cá nhân của bạn về các điều khoản. –

15

Quản lý Chương trình: Có hiểu biết về khách hàng/yêu cầu thị trường và thúc đẩy các chi tiết kỹ thuật. Ông nhận thức được môi trường dev (ngôn ngữ, công cụ, vv) và viết thông số sản phẩm theo cách được các nhà phát triển hiểu. Nếu các nhóm phát triển/thử nghiệm cần sự rõ ràng về các yêu cầu, họ chuyển đến Trình quản lý chương trình.

Kiến trúc sư: Đã xảy ra sự cố, thiết kế giải pháp phần mềm. Điều này bao gồm dòng điều khiển chương trình, nơi các thành phần được đặt, cách chúng tương tác và thiết kế lớp học, v.v.

Mặc dù vị trí kiến ​​trúc sư không rõ ràng, các công ty khác nhau có ý nghĩa khác nhau đối với người quản lý chương trình.

0

Trình quản lý chương trình biết các yêu cầu nghiệp vụ và quan điểm của sản phẩm theo quan điểm của khách hàng. Vì vậy, điều này giống như một người quản lí dự án nếu người ta lấy một sản phẩm giống như một dự án.

Kiến trúc sư phần mềm biết các yêu cầu kỹ thuật và quan điểm của sản phẩm từ góc nhìn của nhà phát triển. Vì vậy, điều này giống như một nhà phát triển đang dẫn đầu và xác định cấu trúc tổng thể của sự vật.

Ít nhất đó là cách tôi phân biệt chúng.

2

Người quản lý chương trình giám sát sức khỏe và tiến độ của sản phẩm có thể phân phối (ví dụ: sản phẩm). Điều này bao gồm việc quản lý con người và thời gian của họ, dự báo và loại bỏ chi phí vượt quá, đảm bảo rằng các mốc dự án riêng lẻ trùng khớp, trả lời cho các bên liên quan về trạng thái của các tiêu chuẩn và cơ sở hạ tầng có thể phân phối, và vân vân.

"Kiến trúc sư phần mềm" là một thuật ngữ hơi mơ hồ mô tả ai đó có đầu ra là thiết kế (và có thể là phần xây dựng) của phần mềm. Điều này có thể là bất cứ điều gì từ một phần của một dự án cho toàn bộ sản phẩm. Kiến trúc sư phần mềm làm việc với người quản lý chương trình để đảm bảo rằng thiết kế của phần mềm phù hợp với mục đích và mục tiêu của sản phẩm, tuân thủ các tiêu chuẩn, tuân theo các quy trình bắt buộc trong mô hình quản trị, đáp ứng các yêu cầu tài chính, v.v.

15

Trong 'Tháng người đàn ông huyền thoại' Frederick P.Brooks so sánh Trình quản lý chương trình với nhà sản xuất và Kiến trúc sư phần mềm với trình chỉnh sửa phim.

+0

Cảm ơn bạn đã nhắc nhở chúng tôi về sự so sánh đó. +1 – Alkini

10

Trong thời trang hiện tại của 'Quản lý dự án dựa trên danh mục', Giám đốc chương trình là vị trí dẫn đầu trong Văn phòng quản lý dự án chịu trách nhiệm quản lý dự án và nhiều dự án đang triển khai. Người quản lý chương trình thường tồn tại ở các doanh nghiệp cỡ vừa và lớn hơn và họ sở hữu các tạo phẩm của dự án và hiểu được doanh nghiệp. Họ báo cáo để quản lý cấp điều hành và sống và chết bởi ngân sách và thời gian. Tiêu đề này thường không được sử dụng liên quan đến các chương trình phần mềm mà là ý nghĩa chung của chương trình. Trong mô hình danh mục đầu tư, một doanh nghiệp có một danh mục các dự án được tổ chức thành các chương trình với mỗi chương trình chia thành các dự án.

Kiến trúc sư phần mềm trong doanh nghiệp là cá nhân kỹ thuật chịu trách nhiệm về việc tích hợp nhiều hệ thống và ứng dụng trong doanh nghiệp. Người đó trở thành kiến ​​trúc sư bằng cách hiểu các quy trình kinh doanh và cho phép công nghệ điều hành doanh nghiệp hàng ngày. Trong các doanh nghiệp, ca khúc nghề nghiệp của kiến ​​trúc sư đã trở thành một cách để các cá nhân công nghệ có thể tiến lên mà không phải dùng đến Dark Side (tức là quản lý).

+0

Tôi biết định nghĩa của tôi không giống như của Joel. Điều này là để cải tiến chung vì ai đó trong môi trường doanh nghiệp sẽ có những trải nghiệm khác với một người trong công ty phát triển phần mềm. –

+0

Cảm ơn quan điểm "doanh nghiệp". +1 – Alkini

+0

Vâng đây cũng là những gì tôi đã nhìn thấy - người quản lý chương trình khá cao cấp. Người quản lý chương trình có thể tham gia vào tất cả mọi thứ từ việc thiết lập một văn phòng mới (chúng tôi có đủ chỗ đỗ xe cho 1000 chuyên gia tư vấn đang đến để xây dựng doanh nghiệp mới của chúng tôi $? Đủ ghế?) Để giám sát các yêu cầu và phát triển, để đảm bảo thay đổi xảy ra tổ chức, để quản lý $? hàng triệu người cần làm tất cả. –

1

Tôi đã xem xét hai cách sử dụng khác nhau của thuật ngữ Trình quản lý chương trình trong phát triển phần mềm.

Một trong những điều tôi nghĩ là phiên bản Microsoft, là phần mềm gián điệp cho người quản lý sản phẩm trong các công ty khác. Họ phải đối mặt với bên ngoài, vì vậy họ nhìn vào những gì 'các bên liên quan' (khách hàng, doanh nghiệp, vv) muốn từ sản phẩm và truyền đạt điều này cho nhóm phát triển. Tôi tin rằng Microsoft thường ghép cặp người quản lý chương trình với một người lãnh đạo kỹ thuật của một số loại, những người thực sự dẫn dắt đội ngũ phát triển. Tôi không có kinh nghiệm trực tiếp về loại trình quản lý chương trình này (ít nhất là dưới tên đó), hầu hết những gì tôi biết tôi đã học được bằng cách đọc Spolsky articles.

Cách sử dụng khác của thuật ngữ này là những gì tôi nghĩ về việc sử dụng người Anh OGC Programme Manager. Vì tôi đã làm việc ở Anh trong 11 năm qua, tôi không biết thuật ngữ này được sử dụng rộng rãi ở Mỹ hay ở nơi nào khác. Loại Trình quản lý Chương trình này giám sát nhiều người quản lý dự án. Một 'chương trình' theo nghĩa này là một nỗ lực lớn đòi hỏi phải phối hợp nhiều dự án, thường xuyên trên nhiều lĩnh vực. Chương trình CNTT có thể có một hoặc nhiều dự án phát triển phần mềm, cùng với dự án thiết kế và xây dựng cơ sở hạ tầng lưu trữ, tạo tổ chức hỗ trợ cũng như các dự án phi kỹ thuật như lập kế hoạch chiến dịch tiếp thị.

"Kiến trúc sư phần mềm" cũng được sử dụng theo nhiều cách khác nhau, nhưng nói chung, tất cả đều có nghĩa là ai đó kỹ thuật hơn người quản lý chương trình của bất kỳ dải nào. Nó thường là một vai trò lãnh đạo kỹ thuật.

1

Nếu phần mềm không bán, bạn có thể nói chuyện với người quản lý Progam (và bán hàng/tiếp thị), nếu phần mềm không hoạt động, bạn có thể nói chuyện với Kiến trúc sư phần mềm. Người quản lý chương trình tập trung nhiều hơn vào khía cạnh thương mại của mọi thứ.

Các vấn đề liên quan