When a programmer becomes a Software Project Manager

Source: Internet
Author: User

The day you expected, perhaps the day of fear, finally came: from the engineer team you were promoted to the position of the software project leader or team leader. This may be your career path, or you may be reluctant to give it a try. In either case, you may lack education related to engineering, personnel management, and leadership.
This requires more leadership and management (they are not the same thing), rather than simply fighting against the boss like Dilbert. When you consider a new target, consider the following list of activity plans. It's impossible to capture every highlight at a time. However, this suggestion can help you focus on activities that can improve the performance of you and your team.
Set priority
As a manager, the first and most important thing you need to do is to establish a priority consciously. When you are still stuck in heavy software development activities, you need a new set of responsibilities. Too many new managers cannot resist the attraction of technology and get involved in such activities, which will lead to other staff in the project team not getting help from the manager.
Effective leaders know that their primary task is to provide services to other members. These services include training and guidance, Problem and conflict resolution, resource provision, project goals and priorities, and appropriate technical guidance. You can always help every team member clearly. I found it very meaningful to position myself as a person under my supervision, not the opposite. In what you do, the group members should have a non-blocking interruption priority for asking you to help them.
The second important thing is to satisfy your customers. As a manager, you are not directly able to satisfy the customer because you are no longer providing products and services as an individual. On the contrary, you must establish an environment that allows your team members to meet the customer's needs to the maximum extent possible. Managers provide powerful methods to effectively improve customer satisfaction.
The third important thing is to work for your project. Because there may be many other technical projects, or other managers asking for help, such as working for the steering committee. When these conflicts with the two advanced levels, you must be prepared to quit.
Obviously, the most important thing to satisfy other managers is yours. In an orderly organization, if you succeed in more than three major stages, other managers will be excited. We are not all lucky enough to work in a good environment, but we must do our best to fulfill our responsibilities for the tasks listed at the top of the list. Focus on helping your team members effectively, happily, and as much as possible, rather than focusing on satisfying your superiors.
Analyze your skill gaps
Unless you are ready for the new position, you will feel a gap with your current leadership and management skills. An outstanding technical background may be a factor in your selection as a leader, but if you want to do well, you need more skills. List your strengths and weaknesses based on others' comments and projects, and then reduce the gap.
Software personnel are not well known for their satisfying interpersonal skills. You will want to enhance your experience in dealing with interpersonal relationships: resolve conflicts, persuade, and instill ideas. You also have to deal with tasks such as recruitment, dismissal, negotiating schedules, and commenting on a person's performance in your office to make him sad.
I found that my management career started from a listening skill class very well. We often feel comfortable when we, as individual advocates, actively submit our own technical agenda to a group. Effective management requires more cooperation and acceptable interpersonal relationships. It takes some time to learn how to (when) cleverly guide your own natural judgment. The listening skill class provides a communication mechanism that I have found useful in many occasions.
Next, go to the other side of the podium to improve your speech ability. If you really don't adapt to public speaking, it will be helpful to study the Dell Carnegie program. You will find that the experience gained through such training and improved communication skills can help you better adapt to future work.
The day you expected, perhaps the day of fear, finally came: from the engineer team you were promoted to the position of the software project leader or team leader. This may be your career path, or you may be reluctant to give it a try. In either case, you may lack education related to engineering, personnel management, and leadership.
This requires more leadership and management (they are not the same thing), rather than simply fighting against the boss like Dilbert. When you consider a new target, consider the following list of activity plans. It's impossible to capture every highlight at a time. However, this suggestion can help you focus on activities that can improve the performance of you and your team.
Set priority
As a manager, the first and most important thing you need to do is to establish a priority consciously. When you are still stuck in heavy software development activities, you need a new set of responsibilities. Too many new managers cannot resist the attraction of technology and get involved in such activities, which will lead to other staff in the project team not getting help from the manager.
Effective leaders know that their primary task is to provide services to other members. These services include training and guidance, Problem and conflict resolution, resource provision, project goals and priorities, and appropriate technical guidance. You can always help every team member clearly. I found it very meaningful to position myself as a person under my supervision, not the opposite. In what you do, the group members should have a non-blocking interruption priority for asking you to help them.
The second important thing is to satisfy your customers. As a manager, you are not directly able to satisfy the customer because you are no longer providing products and services as an individual. On the contrary, you must establish an environment that allows your team members to meet the customer's needs to the maximum extent possible. Managers provide powerful methods to effectively improve customer satisfaction.
The third important thing is to work for your project. Because there may be many other technical projects, or other managers asking for help, such as working for the steering committee. When these conflicts with the two advanced levels, you must be prepared to quit.
Obviously, the most important thing to satisfy other managers is yours. In an orderly organization, if you succeed in more than three major stages, other managers will be excited. We are not all lucky enough to work in a good environment, but we must do our best to fulfill our responsibilities for the tasks listed at the top of the list. Focus on helping your team members effectively, happily, and as much as possible, rather than focusing on satisfying your superiors.
Analyze your skill gaps
Unless you are ready for the new position, you will feel a gap with your current leadership and management skills. An outstanding technical background may be a factor in your selection as a leader, but if you want to do well, you need more skills. List your strengths and weaknesses based on others' comments and projects, and then reduce the gap.
Software personnel are not well known for their satisfying interpersonal skills. You will want to enhance your experience in dealing with interpersonal relationships: resolve conflicts, persuade, and instill ideas. You also have to deal with tasks such as recruitment, dismissal, negotiating schedules, and commenting on a person's performance in your office to make him sad.
I found that my management career started from a listening skill class very well. We often feel comfortable when we, as individual advocates, actively submit our own technical agenda to a group. Effective management requires more cooperation and acceptable interpersonal relationships. It takes some time to learn how to (when) cleverly guide your own natural judgment. The listening skill class provides a communication mechanism that I have found useful in many occasions.
Next, go to the other side of the podium to improve your speech ability. If you really don't adapt to public speaking, it will be helpful to study the Dell Carnegie program. You will find that the experience gained through such training and improved communication skills can help you better adapt to future work.

Learning past
Some projects undertaken by your group in the past may not be completely successful. Even on successful projects, we often think that we will do better next time. When you enter a new leadership role, you need to take some time to understand why the early project failed and plan to avoid making the same mistake. For software development, it is very difficult for each manager to take the time to handle every possible error. Learning the past successes and failures is the beginning of success.
You can start with a project that has not been inspected and evaluated by your group in the past, regardless of whether it is successful or failed, and review after the project is implemented (sometimes called post-event investigation and analysis ). Your goal is not to determine responsibility, but to do better in future projects. In this way, you can understand what has been done well and what should be done better. At present, the main milestones of each project are analyzed by a group discussion or fair organizer in the same way.
In addition, you need to understand the best practices of the existing software industry. A good start is Steve McConnell's award-winning jolt Award: Part 3 of rapid development (Microsoft Press, 1996), which describes 27 best practices. Avoid 36 Common Software Development errors described by McConnell. Your team members may be opposed to the new way of working, but your role is to be a leader and ensure that the team uses the best available methods, processes, and tools in a consistent and continuous manner. Actively promote information sharing among members, so that a single local best practical experience can become part of the toolbox of every developer.
Establish Improvement Objectives
Once you review past projects and establish the significance of quality to the group, you need to set up short-term and long-term improvement goals. The goal should be quantified as much as possible, so you should divide several simple stages to indicate whether you have taken the appropriate process toward the goal.
For example, if you believe that the project is frequently postponed due to unstable demand, you can set up a goal to improve the stability of the demand by 50% in six months. Such a goal requires you to know exactly the number of changes required per week or month, understand their sources, and take action to control those changes. This may require you to change the way you communicate with those who submit changes.
Your goal and stage are software process improvement Program To make it orderly. As the final refuge of creativity-less bureaucracy, ignoring the "process" is very popular. Although in fact, each group can find ways to improve their work. Of course, if you always work in an existing way, you should not expect you to get better results than before.
There are two strong reasons for the improvement process: correct the problem and prevent the problem. Ensure that your improvement efforts focus on known or predictable problems that may threaten project success. Lead your team to find out the strengths and weaknesses of the method currently in use and the risks faced by the project. Software Development Network
My group held a "two-stage Brainstorm" exercise to identify the stumbling block to improving software productivity and quality processes. In the first meeting, participants wrote their thoughts on the subject of the meeting, one note and one thought. The organizer collects and groups the ideas they wrote on the notes. Finally, we will get a dozen major categories and record them to the activity graph.
At the second meeting, the same participants wrote ideas on the notes to solve these obstacles and pasted them in the appropriate positions of the picture. Further refining and summarizing detailed activities can be part of our efforts to clear obstacles and help our team members achieve the goal of software quality and productivity.
Establish measurable and achievable goals so that you can focus on improvement. To give the target a clear priority and periodically monitor the process. Remember that your purpose is to improve the technical and business success of your project and Company, and do not satisfy the expected details mentioned in some process improvement books. Improvements should be considered as mini-projects, with small projects that can be distributed, resources, plans, and responsibilities. Otherwise, process improvement activities will always be at a lower priority than attractive technical work.
This article Article I have provided many suggestions to help you, a new software manager, lead your group to great success. In the face of daily new work pressure, you should try to keep your mind clear. You have been a very important role in building the culture and habits of software development groups for a long time. You don't have to finish it all at once. You can select the environment-related start points.
As a software manager, in addition to completing projects on time and on budget, You have to shoulder a lot of responsibilities. You also need to: Lead technicians to form a cohesive team, establish an environment for collaborative team work, encourage and reward Senior Software Engineers for their practical applications, and balance customers and companies, team members and your own needs.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.