Có vài mức của quản lí; từng mức yêu cầu tri thức, kĩ năng, vai trò và trách nhiệm khác nhau.

Phần lớn mọi người đều bắt đầu nghề nghiệp của mình như công nhân kĩ thuật. Sau khi tốt nghiệp từ đại học, họ làm việc cho công ti nơi họ phát triển kĩ năng để làm việc bằng việc áp dụng tri thức họ đã học trong trường vào công việc thực. Người tốt nghiệp phần mềm thường làm việc như người kiểm thử rồi chuyển sang người phát triển  nơi họ học giải quyết các vấn đề kĩ thuật. Họ làm việc trong tổ và cộng tác với nhau để phát triển sản phẩm phần mềm. Sau vài năm kinh nghiệm, vài người chuyển lên vai trò lãnh đạo tổ.

Người lãnh đạo tổ là người có kĩ năng và kinh nghiệm với trách nhiệm bổ sung để lãnh đạo tổ thành công. Người lãnh đạo tổ cung cấp sự lãnh đạo cho tổ và huấn luyện các thành viên mới của tổ làm việc của họ. Người lãnh đạo tổ cũng giúp giải quyết các vấn đề kĩ thuật ở bên ngoài kĩ năng của các thành viên tổ. Người lãnh đạo tổ làm việc nêu gương và đảm nhận công việc thách thức nhất trong tổ. Người đó cũng lập kế hoạch công việc cho tổ cũng như để cho người quản lí dự án được thông tin về hoạt động của tổ. Bằng cách làm việc như thầy kèm cho các thành viên tổ, người đó học về quản lí con người. Nói cách khác, người lãnh đạo tổ là vị trí kĩ thuật với trách nhiệm quản lí con người bổ sung thêm. Tất nhiên, không phải mọi người kĩ thuật đều muốn chuyển vào vị trí quản lí. Nếu họ ưa thích ở lại trong khu vực kĩ thuật, bước tiếp có thể là đi lên vị trí kiến trúc sư hệ thống hay các vị trí hỗ trợ như kĩ sư yêu cầu, phân tích doanh nghiệp, đảm bảo chất lượng, quản lí cấu hình, hay chuyên viên an ninh, v.v.

Bước từ người lãnh đạo tổ lên người quản lí dự án là thay đổi nghề nghiệp chính nếu người này muốn thăng tiến vào con đường nghề quản lí. Người quản lí dự án quản lí những người kĩ thuật trong dự án bằng việc cung cấp viễn kiến, phương hướng và sự lãnh đạo thích hợp. Trong khi tri thức kĩ thuật là nền tảng, bằng việc chuyển thành người quản lí dự án, người này phải học thêm về quản lí con người, qui trình và hiệu năng dự án. Tuy nhiên, người quản lí dự án liên quan nhiều nhất tới việc quản lí người kĩ thuật trong dự án bằng việc cung cấp phương hướng rõ ràng cho tổ, lập kế hoạch công việc của dự án từ đầu tới cuối rồi thực hiện nó trong hành động. Thành công của dự án phần lớn tuỳ thuộc vào năng lực của người quản lí dự án trong lập kế hoạch, tổ chức, và quản lí dự án một cách hiệu quả và chuyển giao cho các yêu cầu của khách hàng trong thời gian, chi phí, và chất lượng. Người quản lí dự án xác định qui trình và thủ tục của dự án có gióng thẳng với qui trình chuẩn của tổ chức và chính sách của công ti. Người đó giúp cho người lãnh đạo tổ phát triển kĩ năng của họ cũng như kĩ năng của các thành viên tổ qua việc kèm cặp và đào tạo không chính thức. Người quản lí dự án phải giải quyết mọi vấn đề của dự án, cả các vấn đề kĩ thuật và phi kĩ thuật qua thương lượng, trao đổi và quyết tâm. Thỉnh thoảng người đó phải hành động như bộ đệm để bảo vệ tổ dự án khỏi những sao lãng bên ngoài không mong muốn.

Bước tiếp trong việc đi lên là vai trò của người quản lí chương trình. Người quản lí chương trình quản lí một “portfolio” hay tập vài dự án bên trong một khu vực miền chuyên môn. (Thỉnh thoảng cũng còn được gọi là người quản lí portfolio). Đây là vị trí quan trọng vì việc gióng thẳng với chiến lược doanh nghiệp để thực hiện chương trình là mấu chốt. Chương trình được tạo ra để đạt tới mục tiêu của công ti dựa trên chiến lược doanh nghiệp. (Chẳng hạn phát triển sản phẩm chính cho công ti). Người quản lí chương trình giúp cho người quản lí dự án phát triển kĩ năng của họ, thương lượng với khách hàng về các vấn đề và giải quyết vấn đề ở mức miền chuyên môn tổ chức. Người quản lí chương trình cũng lập kế hoạch cho công việc của tổ chức và chắc chắn rằng mọi công việc và sản phẩm được gióng thẳng với mục tiêu của công ti. Mặc dầu mọi người quản lí đều quản lí con người, qui trình và hiệu năng nhưng người quản lí chương trình quan tâm chủ yếu tới qui trình. Người quản lí chương trình phải xác định các qui trình chuẩn của tổ chức, qui trình mức cao mà mọi dự án bên trong miền chuyên môn trong công ti phải tuân theo để đảm bảo sự nhất quán và chất lượng.

Bước tiếp đi lên là vai trò của giám đốc hay người thiếu (chuẩn) điều hành. Vị trí này hội tụ nhiều vào doanh nghiệp hơn kĩ thuật vì nó liên quan chủ yếu tới việc đạt tới mục tiêu kinh doanh của công ti và tạo ra giá trị qua làm việc với chức năng chính trong công ti. Người giám đốc quản lí vài người quản lí chương trình, vì người quản lí chương trình hội tụ vào các khu vực kĩ thuật của miền chuyên môn, người giám đốc cần vận hành hiệu quả ở khu vực chiến lược. Mặc dầu mọi người quản lí đều quản lí con người, qui trình và hiệu năng nhưng người giám đốc phần lớn quan tâm tới hiệu năng của các miền chức năng chính trong công ti. Người giám đốc đo tính hiệu quả, hiệu lực, chất lượng và hiệu năng của mọi dự án bằng việc dùng tập các độ đo để đo hiệu năng dự án để nhận diện những điểm mạnh, điểm yếu của mọi hoạt động công việc. Người giám đốc giúp cho Giám đốc thông tin (CIO) trong việc xác định chiến lược để đạt tới mục tiêu của công ti, và cấp thẩm quyền ngân sách cho các dự án để chuyển giao giải pháp kĩ thuật được yêu cầu. Người giám đốc đánh giá việc thực hiện công nghệ hiện thời, lập kế hoạch cho các chương trình, sản phẩm, và dự án để chắc chúng được gióng thẳng theo mục tiêu của công ti. Người giám đốc cung cấp cái vào cho CIO dựa trên hiệu năng của dự án của tổ chức. Trách nhiệm chính của người giám đốc là cấp quyền cho ngân sách dự án và chương trình để chuyển giao các kết quả được yêu cầu, thương lượng về vấn đề tài nguyên và năng lực và giải quyết vấn đề ở mức độ tổ chức và giúp cho CIO và những người điều hành khác đánh giá đúng giá trị của dự án và tập chương trình và đảm bảo công việc được gióng thẳng với các mục tiêu tổ chức đang tiến hoá.

Từ các vị trí kĩ thuật tới vị trí quản lí đều yêu cầu các tri thức và kĩ năng khác nhau và mọi việc chuyển từ vai trò nọ sang vai trò kia đều cần đào tạo thêm với các vai trò, trách nhiệm được xác định rõ ràng để cho những người này có thể có hiệu quả.

—-English version—-

Managing technical people part 2

There are several levels of managements; each requires different knowledge, skills, roles and responsibilities. Most people start their career as technical workers. After graduate from college, they work for company where they develop the skills to do the work by apply the knowledge they learn in school into real works. Software graduates often work as testers then move to developers where they learn to solve technical problems. They work in teams and collaborate with each others to develop software products. After few years of experience, few people move up to team leader role.

A team leader is a skilled and experienced person with additional responsibilities to lead a team to be successful. The team leader provides technical leadership to the team and trains new team members to do their works. The team leader also helps solve technical problems that are beyond team member’s skills. Team leader leads by example and assume the most challenging work in the team. He also plans the work for the team as well as keeps the project manager informed about the team activities. By working as a mentor to team members he learns about managing people. In other word, a team leader is a technical position with additional people management responsibilities. Of course, not all technical people want to move to management position. If they prefer to stay in technical area, the next step could be move up to system architect position or support positions such as requirements engineer, business analyst, quality assurance, configuration management, or security specialist etc.

The step from team leader to project manager is a major career change if the person wants to advance into management career paths. The project manager manages technical people in a project by provide appropriate vision, direction and leadership. While technical knowledge is the fundamental, by moving into the project manager, the person must learn more about managing people, process, and project performance. However, project manager is mostly concerned with managing technical people in the project by provides clear direction to the team, plans the project’s work from beginning to the end then executes it into actions. The success of the project is largely depending on the project manager’s ability to plan, organize, and manage the project effectively and deliver customer’s requirements within time, cost, and quality. Project manager defines the project’s process and procedures in alignment with the organization’s standard process and company’s policy. He helps team leaders develop their skills as well as their team member’s skills through mentoring and informal training. Project manager must resolve all issues of the project, both technical and non-technical through negotiation, communication and determination. Sometime he must act as a buffer to protect the project team from undesirable external distractions.

The next step of moving up is the role of program manager. A program manager manages a “portfolio” or a set of several projects within a domain area. (Sometime is called portfolio manager). This is an important position as the alignment of business strategy to the implementation of a program is critical. A program is created to achieve a company objective based on the business strategy. (For example develop a major product for the company). Program manager helps project managers to develop their skills, negotiate with customers on issues and resolving problems at the organizational domain level. A program manager also plans the organization’s work and make sure that all works and products are aligned with the company objectives. Although all managers manage people, process and performance but the program manager is mostly concerned with the process. The program manager must define the organizational standard processes, a high level process that all projects within that domain in the company must follow to ensure consistency and quality.

The next step up is the role of a director or a junior executive. This position is more focus on business than technical as it concerns mostly on achieving company business objectives and creating value through the work of major function in the company. A director manages several program managers, since program managers are focusing on technical areas of a domain specific, the director needs to operate effectively at the strategic area. Although all managers manage people, process and performance but the director is mostly concerned with the performance of the major domain function within a company. The director measures the effectiveness, efficiency, quality and performance of all projects using a set of metrics that measure projects’ performance to identify strengths, weaknesses of all work activities. The director helps the Chief Information Officer (CIO) in defining strategies to achieve the company’s objectives, and authorizes budget for projects to deliver the required technical solutions. The director assesses current technology implementation, plan programs, products, and projects to make sure they are aligned with the company’s objectives. The director provides inputs to the CIO based on the performance of organizational projects. The director’s main responsibilities are to authorize projects and programs budget to deliver the required outcomes, negotiate resource and capacity issues and resolving problems at the organizational level and help the CIO and other executives appreciate the value of the project and program portfolio and ensuring the work is aligned with the evolving organizational objectives.

From technical positions to management positions requires different knowledge and skills and every transition from one role to another, needs additional trainings with clearly defined roles, responsibilities for these people to be effective.