Becoming a manager might be your chosen career path, or you might have reluctantly agreed to give it a try. In either case, you’ve probably received little education in the arts of project and people management. There’s more to leadership and management (which aren’t the same thing) than simply doing the opposite of whatever Dilbert’s boss does. When I first became the manager of a small software team, I had to think about how best to perform this unfamiliar role.
Want to know who the leader is? Ask him to decide. | Data Driven Investor
One of the most valuable things an effective leader can offer an organization is the ability to make decisions…
As you contemplate your new mission, consider the following early actions to improve both your own and your team’s effectiveness.
Step #1: Set Your Priorities
Start by setting your priorities as a manager. It’s tempting to remain heavily engaged in technical work, but you now have a new set of responsibilities. I propose this priority sequence:
Effective leaders know their top priority is providing services to the members of their team. These services include coaching and mentoring, resolving problems and conflicts, providing resources, setting goals and priorities, professional development, and providing technical guidance when appropriate. Make it clear to your team members that you’re always available to help them. I think of myself as working for the people I supervise, not the reverse.
Your second priority is to satisfy your organization’s customers. As a manager, you have little direct ability to satisfy customers, as you don’t personally provide the necessary products and services. You’re an enabler, creating an environment that lets your team members most effectively meet customer needs.
Your third priority should be to work on your own projects. These could be technical projects or activities your own management requests, such as strategic planning activities. Be prepared to postpone these tasks when they conflict with the two higher priorities.
Explicitly trying to please your own managers should be your lowest priority. In a congruent organization, your managers should be delighted if you succeed at the three more critical activities. Focus on helping your team members be as effective — and as happy — as possible, instead of going out of your way to satisfy those above you on the advancement ladder.
Step #2: Analyze Your Skills Gaps
Take an honest inventory of your strengths and shortcomings in critical people and project skills, and begin closing any gaps. You might wish to enhance your adroitness at handling interpersonal relationships, resolving conflicts, and persuasion. You’ll need to deal with situations ranging from hiring and firing staff, to negotiating schedules, to having someone crying in your office during a performance review.
I found it valuable to begin my management career by taking a listening skills class. Individual contributors often have the luxury of energetically pushing their own technical agendas on the group. Managing effectively, though, demands a more collaborative and receptive interpersonal style. I had to learn how — and when — to skillfully channel my natural assertiveness. The flip side is to improve your presentation skills as well. Enhanced communication skills will serve you well in any future position.
If you’re a project manager, you’ll coordinate the work of others, plan and track projects, and take corrective actions when necessary. Get some training in project management and begin reading books and articles on the topic. Learn how to choose appropriate management approaches for both traditional and agile projects.
Step #3: Define “Quality”
To help steer your group toward success, work with your team members and your customers to understand what “quality” means to them. These two communities often don’t have the same definition in mind, so it’s easy to work at cross-purposes. A manager focused on the schedule might be impatient with a developer who gets mired prematurely in detailed design. Customers who value reliability won’t like a product with lots of seldom-used features, along with lots of defects.
To better understand our customers’ views of software quality, my software group once invited our internal corporate users and their managers to discuss this topic. This forum showed where our group’s ideas of quality did not match our customers’ perceptions. Understanding the differences helped us focus energy for the greatest benefits.
One pragmatic definition of quality I’ve heard is “The customer comes back, but the product does not.” Work with your customers and developers to define appropriate quality goals for each product. I made achieving these objectives a clear priority as our group worked to grow a culture of software quality. Be sure to set high personal standards for the quality of your own work too. I’ve adopted this motto: “Strive for perfection; settle for excellence.”
Step #4: Learn From the Past
Maybe some of your team’s past projects were less than fully successful. Even on successful projects we can often identify things we’d do differently the next time. As you embark on your new leadership role, take some time to understand why earlier projects struggled. You don’t have the time to make every possible mistake on your own. Jump-start your own success by learning from what has worked — and what has not — before.
Conduct project retrospectives to learn what went well and what could have been done better. Your goal is not to allocate blame but to be even more effective in the future. Lead the team in brainstorming sessions or use an outside facilitator to analyze each current project in the same way at major milestones.
Make sure everyone becomes well-acquainted with established best practices for the software industry or whatever field you work in. Your team members may resist new ways of working, but your role as leader is to ensure that the team consistently applies the best available methods, processes, and tools.
Encourage sharing of information among team members so local best practices can become a part of every team member’s tool kit. I have no patience with people who jealously guard their knowledge. We’re all on the same side; let’s act like it.
Step #5: Recognize Progress
Recognizing and rewarding your team members’ achievements is an important way to keep them motivated. Recognition can range from the symbolic (certificates, traveling trophies) to the tangible (gift cards, cash bonuses, company stock). Presenting recognition says “Thanks for what you did to help” or “Congratulations on reaching that milestone.” A small investment of thought and money in a recognition program buys much goodwill and future cooperation.
Talk with your team members to understand what form of recognition they find meaningful. Make recognition events for achievements large and small a standard component of your team culture. Recognition is one way to demonstrate to your team members — and to others outside your group — that you notice and appreciate their contributions.
While teaching a class on creating a software engineering culture for one of my consulting clients, I asked how many of the 70 attendees worked in an organization with a recognition program. Just a few raised their hands. At the next break, a woman came up to me and whispered, “I’m in our Human Resources Department. They all have a recognition program.” I whispered back, “It’s not working.”
Step #6. Set Improvement Goals
Once you’ve conducted a retrospective into previous projects and understood what “quality” means to your group, set some short- and long-term improvement team goals. Quantify the goals so you can select simple metrics to show whether you’re making progress toward the goals.
These goals and metrics make up part of the software process improvement program you should put into place. It’s fashionable among some software people to disdain “process” as the last refuge of uncreative bureaucrats. The reality, though, is that every group can improve its work. Indeed, if you continue to work the way you always have, don’t expect to achieve any better results than you have before. Process improvements can both correct current problems and prevent future problems.
When I became the manager of a small software group, we held a two-session brainstorming exercise to identify barriers to improving our software productivity and quality. In part one, the participants wrote their thoughts on sticky notes, one idea per note. A facilitator collected and grouped the ideas as we generated them. We ended up with a dozen major categories, which we wrote onto flip chart sheets.
In the second session, the same participants wrote ideas for overcoming these barriers on sticky notes and attached them to the appropriate flip charts. Further refinement led to a handful of specific action items we could begin addressing in our effort to help us all achieve our software quality and productivity objectives. We kept in mind that our objective was to improve our technical and business results, not to satisfy the expectations espoused by some book or methodology.
Step #7: Introspection
When I first became a manager I excitedly informed one of my old buddies at another company. “Congratulations,” he replied. “Have you gotten stupid yet?” Sometimes that seems like a common side effect of being promoted to a management position, but it’s not a requirement. Consider the following four actions to help you get your feet on the ground as a new manager.
- Identify two aspects of project management, people management, or team leadership where you feel your skills are not quite up to par. Determine ways you could close these skill gaps and enhance your own effectiveness.
- Identify an experienced manager who might be able to serve as a mentor. What sort of guidance would you find helpful from a mentor?
- Reflect on the managers you’ve had whom you respected. What characteristics or capabilities did they exhibit that you found particularly effective? Try to build some of these same characteristics into your own management performance.
- Think about managers you’ve had whom you did not think were effective. What behaviors or characteristics did they exhibit that you found disappointing? Strive to avoid these in your own performance.
As a manager, you’re responsible for doing more than completing the project on time and on budget. You must also:
- Lead the staff into a cohesive team that shares a commitment to quality;
- Foster an environment of collaborative teamwork;
- Promote and reward the use of superior software practices; and
- Balance the needs of your customers, your company, your team members, and yourself.
It’s a big job. Good luck!
This article is adapted from Practical Project Initiation: A Handbook with Tools by Karl Wiegers. If you’re interested in software requirements, business analysis, project management, software quality, or consulting, Process Impact provides numerous useful publications, downloads, and other resources.