- Using XP Values to Run Your Project
- Trusting Your Team
- Leading Your XP Team
- Building Your Team
- Summary
- Q&A
- Workshop
Leading Your XP Team
Most development methodologies have an extensive list of managers: project managers, product managers, program managers, QA managers, and the list goes on. In XP, we are more interested in leading rather than managing. What is the difference between these two? Leadership is focused on direction (where we are going), whereas management is focused on speed (are we getting there the fastest way). Management works fine when the process is consistent and repeatable. Unfortunately, software development isn't that clear-cut, hence the reason to use an Agile approach such as XP! Table 7.1 lists the different aspects of leadership and management.
Table 7.1 The Difference Between Leadership and Management
Leadership |
Management |
Focus on vision, direction |
Focus on speed |
Effectiveness |
Efficiency |
Derives power from values and principles |
Organizes resources to secure objectives |
NOTE
Table 7.1 was developed, in part, from Principle-Centered Leadership, by Stephen Covey, Fireside Books.
Your role in leading XP projects is to give direction, guide relationships, and grow synergy. Empowerment is an overused word nowadays, but it is exactly what you need to do for your team; enable them to be their best. Clearing blockages that hinder team members, giving them both the freedom and power to create. Empowering individuals on the team doesn't mean removing the safety harness, and then saying "jump!" By using XP practices you're placing real, workable tools into the hands of the team.
Keep in mind that your authority is, in one sense, given to you by the team, and they can just as quickly take it away. Using the title on your business card as a form of authority will ultimately leave you as a lame-duck manager, ignored by the team. A leader is someone people follow. What will it take for the team to follow you?
Being a Leader Your Team Will Follow
For project success there should be cooperation between leader and team. Leading by virtue of your title or sheer presence isn't going to cut it in the long term. There is a period of time at the start of your engagement, where you must win the right to lead. The team is asking the question "should I follow you?" How does the team size you up? By what criteria are you being judged? The bottom line is that they want to know why they should trust you. What are your motives, values, and skills? Let's look at each of these aspects in turn:
MotivesWhat are your real motives? Are you interested in your own success first? Do you think in terms of the team's success or your own?
ValuesWhat are your core values? Is your commitment to the XP values and principles more than just skin-deep? Do you influence others around you to work by principles? Do you stick by your principles when the heat is on?
SkillsAre you creative? Do you have technical skills that are relevant to the problem domain? Are you able to offer the team practical help toward achieving the project vision?
Assuming, you're a new leader to the team these questions may take time to answer. A more likely scenario is that you are known as part of the wider company, and therefore they might have at least a secondary view on you're character. In the final analysis, the team decides to follow you after you've proven to have integrity. Time will tell.
Intolerance
Leading your XP project isn't all group hugs and snacks, there is a form of rigor. XP rigor is the passionate adherence to its core values of feedback, communication, simplicity, and courage. Process-heavy development enforces strictness around the approach; we are interested in the values and principles. David Maister in his book Practice What You Preach, studied successful, high-performing companies and found a number of common success factors. One of these factors is the complete intolerance that these successful companies have for core value infractions.
Here is a list of some things that should not be tolerated:
Abuse of power
Disrespect of any kind
Anyone who is abusive
Backstabbing
Bullying
People who call in sick when they're not
Cruising
Dealing in blame
Gossiping, whining, and complaining
Lack of teamwork
Management through intimidation
Screaming
People who try and make their own rules
NOTE
For the complete results of David Maister's survey read his book Practice What You Preach, The Free Press, 2001.
The interesting thing to note about the list of intolerable acts is that they are primarily concerned with relationships. Gathering a group of individuals, and then fashioning them into a team, is an intensive, time-consuming process. Protecting your team relationships and its adherence to core values is vital to your ongoing success.
The question is in light of your values as a team, what will you refuse to tolerate? If you're a leader, the team will learn more from watching how you live out your values than a thousand emails, words, or presentations. Building a team without this integrity is simply not possible.
What Kind of Leader Are You?
There are numerous different styles of leadership and management. What kind of leader will your XP project thrive on? We've already covered some of these: integrity, technical astuteness, and humility are all aspects of leadership that will gain the respect of your team. Let's go ahead and review three styles of a leader.
The Uninvolved Manager
The uninvolved manager relies on hackers or experts to meet impossible deadlines. This manager might put her trust in a single "super-developer" who also has extensive business experience. The team assists or supports the prime developer as she leads the charge. This is a very abusive and negative environment where promises are made to upper management, and then are imposed on the team. Somehow the work gets done by either long work hours, reliance on key people, or luck. This is a workplace where turnover is high and developers exit as soon as possible. The manager is also likely to be nontechnical and have no understanding about what the team is doing and the challenges it faces.
This manager can never lead an XP project and in fact would have no interest in the level of commitment XP calls for.
The Controlling Manager
The opposite of the uninvolved manager is the manager who must control every aspect of the project. He views his role as dictator and demonstrates complete lack of trust in the team by his attitude. He forms the hub through which all communication must flow; he setup all kinds of processes to ensure he remains the center. Even worse is when this kind of manager has some degree of technical skill and insists on rubber-stamping the team's decisions. The manager quickly becomes the bottleneck, by then the team has already established its own secondary lines of communication, otherwise work would grind to a halt.
Strange to consider is that from their viewpoint the controlling manager is acting in a perfectly reasonable manner. Control on this scale might have functioned in a waterfall project, but is destined to fail with XP.
The Team Member Manager
The team member manager is seen as part of the team and not the center. The manager has probably come up through the ranks, has clearly recognized development skills, and a proven track record. She sees her role as just that, a role and doesn't confuse that with position or power. In fact, she delights in empowering team members because she remembers how it felt to be sidelined while decisions were made about her future.
The XP leader who is secure in her own technical skills and is also aware of her own shortcomings will be readily accepted by her colleagues. If you're a leader, how do you galvanize the team as a unit? Team building is your new focus.