TV

Showing posts with label introduction. Show all posts
Showing posts with label introduction. Show all posts

Sunday, 25 May 2008

Marine Corps Leadership Secrets Part VI

Know Your Team and Look Out For Them

As team lead, you need to know what the strengths and weaknesses of each team member are. For example, if one person is strong on writing backends and another is strong on UI, assign them to tasks that play to their strengths. If you need to cross-train members, put a strong member with a weaker member. The better you know your team, the more effective they will be. Likewise, if you don’t know or ignore team members capabilities and preferences, you will soon run into difficulty. Use your judgement to make the right choices for you, your team, and your organization.

Also, watch out for your team’s welfare. If a project sponsor insists on your team developing a 12 month project in 6 months, have the moral courage to stand up to them. Don’t just roll over and let your team suffer under an unrealistic schedule.

Keep Your Team Informed

In the Marines and Navy, scuttlebutt was originally the term for a cask of water. Of course, as men drew water they talked and thus the term came to mean exchanging rumors and gossip. The ‘water cooler’ rumor mill is strong in some organizations. As a team lead, it is your job to make sure that you keep your team well informed about your organization and that they aren’t depending on rumors. Playing “I’ve got a secret” with your team is a sure way to damage morale. Have the integrity and dependability to keep your team correctly informed.

Certainly, there will be times you have confidential information. In those cases, show your loyalty to your organization by keeping it secret. However, you should also look out for your team in this case, particularly if the news is bad.

Set Goals You Can Reach

How many team leads have gotten into trouble by agreeing to schedules that they couldn’t keep? A lot, I would wager. It is your job to only accept work that your team can accomplish within the time frame given. Read up on project estimation and negotiation tactics to help protect your team from futile death marches. Your team may be good but don’t ask the impossible from them. Likewise, giving little make-work assignments one after another to a team of crack developers will frustrate them. Set the right goals for your team.

Make Sound and Timely Decisions

Knowledge and judgement are needed to make a sound decision while initiative is needed to make it a timely one. If you’ve made a bad choice, have the courage to change it before more damage is done. While you should avoid changing your mind frequently, sticking with a failing plan or development tool decision will only bring more trouble upon you and your team. Part of making good decisions is knowing when to make a change and when to stick with it despite the odds.

Know Your Job

Honestly, if you don’t know programming well you really don’t need to have a team lead job. This should go without saying but many organizations promote faces and personality over technical skills. As a technical team lead or IT manager it is your job to stay informed on the latest trends. You don’t want to be the kind of manager who says something like, “Oh, Ajax, I clean my kitchen with that” or “Orcas? Yeah, I saw one of those at Sea World.” Instead, you want to be in the know on all the latest trends.

If you don’t know, then have the courage to admit it. Don’t try to fake it in a ‘pointy haired boss’ fashion. Instead, learn from your team when you can. This not only improves your knowledge but improves the morale of the team too.

Teamwork

Encouraging teamwork seems like a no-brainer, doesn’t it? However, I’ve seen a number of teams fail because of interpersonal problems, cliquish behaviors, backstabbing, work hogging or avoidance and other such problems. Make sure that the people on your team are getting along. If they aren’t, find ways to help them deal with each other and, as a last resort, find a way to restructure your team. Ignoring these kinds of personal problems will only make things worse for your team. If you find one member is hogging all the work or avoiding taking on work, make an effort to better distribute the work. Whatever you do, don’t entertain gossip about a team member from another team member. This is a major morale killer.

Also, try to schedule social time together for the team. This might be as simple as lunch or drinks after work as a team once a week or so or something more elaborate on a less frequent basis. Be careful not to exclude some team members from these activities and try your best to schedule them in such a way that everyone can attend easily. While people may not show it, being ‘disinvited’ from such gatherings can be quite a morale killer

Marine Corps Leadership Secrets Part V

Take Responsibility For Your Actions

As the leader of the team you are the one responsible not only for your own performance but that of the team as well. If your team makes a mistake, you are the one who is accountable for it. You don’t pass the blame on to a subordinate. Nobody above or below has much respect for a leader who does this.

You’ve been given the authority to manage the team so exercise it using the traits of judgement, tact, and initiative. Have the moral courage to be loyal to your team and your organization. Ultimately, your goal is to be responsible for success, not failure, so use these leadership traits to bring in a successful project. Even if things don’t always go 100% according to plan, you can still extract a degree of success through good leadership.

Sadly, some organizations may not give you a lot of authority as a team lead. In a situation like that it can be difficult but do your best using what little you have to bring about positive results. That too is good leadership.

Seek Self Improvement

I’ve seen a number of people allow their technical skills to deteriorate as they moved into a lead or management role. This isn’t a good thing. Even worse, they don’t make an effort to improve their leadership and management skills. Don’t be that kind of person. Instead, choose to stay current with your technical skills while improving your project management, general business or other related skills.

Take the time to examine where you’re at to see if you measure up. If you find yourself lacking in any area, seek to improve it. If you honestly think your skills are up to date and strong, seek new areas to learn about. For example, if you know VB.NET well, spend some time learning C# or Java. If you know project management, learn some accounting methods. Just don’t stay static.

Set the Example

A big part of leadership is setting the example. This not only applies to how you do your work but the way you do your work. Which do you think will inspire your team more, coming into work late, half doing tasks and making excuses or arriving on time or early, doing excellent work and taking responsibility? When it comes down too it, setting a strong example does more than any instruction or discipline will ever do.

Ensure That Work is Understood and Completed

A common problem in software development projects is poor communication. If your team doesn’t understand what is to be done, it is likely that what they do won’t be right. As the team leader it is your responsibility to see that the work to be done is understood by all. If there are missing pieces, it’s your job to seek them out from your management or project sponsors. It is also your job to clearly communicate the project goals and timeline to the team. They’re looking to you for this information and if you don’t provide it, you’re almost guaranteeing something will go wrong.

You’re also responsible for seeing that the assigned work is being done correctly and is moving toward completion. However, you don’t want to be a micro-manager. After all, these are supposed to be professionals you’re working with, not ditch diggers. Avoid asking for daily status reports or (shudder) holding daily staff meetings. Instead, use email, source control, and other tools to keep an unobtrusive finger on the pulse of a project. If you note a problem, quietly take it up with that team member in a positive manner. You’ll find this approach puts you in closer touch with the status of a project than any make-work status report ever will.

That’s all for this part. I’ll be wrapping up this series in the next day or so when I go over a few more principles of leadership. If you have any questions or comments about this series, please feel free to leave me a comment.

Marine Corps Leadership Secrets Part IV

In this fourth article in my series on applying United States Marine Corps leadership traits and principles to software development team leadership we’ll be looking at the last 4 leadership traits: Endurance, Unselfishness, Loyality, and Judgement.

Endurance

Physical endurance plays a big part in the Marines but mental endurance is also important and that’s what we’ll concentrate on here. Endurance is defined as the ability to sustain a prolonged stressful activity. While you probably won’t be leading any 50 mile forced marches we’ve all heard software development projects referred to as ‘death marches’. Quite often a project can become a stressful mental exercise and, in some cases, a physical one as well as long hours are worked. Your ability to endure this misery will test your team leadership ability.

As a team leader the rest of the team will be looking to you to help get them over the hump on these tough projects. If you slack off, what do you think the rest of the team will do? They’ll follow your lead. If you decide that extra hours or even an all-nighter is needed, you’re the one toughing it out to get the job done, leading by example. I’ve known mid to upper level IT managers who’ve worked through the night and into the next day to fix a problem, helping when and where they could, and I’ve also known some who thought making it to the country club early on a Saturday was more important than being in the office for a weekend release. Can you guess which ones I respected as a leader more?

Unselfishness

It is a Marine tradition that in a chow line the lower ranking Marines are served first, then the squad leaders, then the staff non-commissioned officers. This is unselfish leadership in action. How can you show this kind of unselfish leadership in your role as a team lead?

An unselfish leader doesn’t grab all the perks for themselves. Sure, you’ll get some of these due to your position but you don’t need to flaunt them. One good example would be the computer system you’re using. If you have a top of the line system and the rest of your team is struggling by on poor performing systems, how do you think they’ll feel about that. As tough as it may be to you, make sure that your team is well supplied with the tools they need to do their job before you are. If you shortchange them, they’re likely to return the favor.

Another key area is in giving and taking credit for work. Nobody likes to work for a manager who takes personal credit for someone else’s achievements. You should always recognize the hard work and great ideas of your subordinates both to them and their peers and to your management as well. Not only does this behavior make them look good but it makes you look good as well.

Loyalty

The Marine Corps motto, Semper Fidelis, a Latin phrase meaning ‘Always Faithful’. This phrase embodies the loyalty Marines have to each other up and down the chain of command and even after they leave active duty in the Corps. Loyalty is a two way street and your words and actions should always reflect your loyalty both your team and to your managers. What are some ways you can show loyalty?

One is to back your team when they’re right and tell them they’re wrong when they’re wrong. A poor team lead will tell the team one thing and their management another and thus, show disloyalty to both. Sometimes it takes moral courage to be loyal in a situation. Have the courage to be loyal.

Another opportunity to show loyalty is when you pass on orders to your team, particularly ones that are distasteful. Don’t be disloyal by blaming the person above you for the situation. To do so only weakens your standing with the team. If you can’t change the situation, make the best of it. If it is something you can fight for, do so. Either way, it’s being loyal to your team and organization.

Never criticize your company leadership or your management peers in front of your team and discourage your team from doing the same. Nor should you allow gossip about personal lives be passed around. Stay loyal to your company and to your team by avoiding this trap.

Another way to show loyalty is to help out your team members if they’re having a problem, personal or professional. Hopefully your company isn’t a real world version of a reality show where you get points for throwing team members under the bus when they’re not up to par for some reason. Instead, help them out. By showing your loyalty this way they’ll have greater loyalty toward you, the team, and the company when the situation has past.

Judgement

Our last trait, Judgement, is all about applying the other leadership traits and your experiences to make the best decisions. You should avoid thinking rashly and, instead, think through a situation so that you can make a good decision.

Of course, there will be situations outside your experience. In the best cases, you will have someone else you can rely on to give you the benefit of their experience in your organization. This could even be someone who is technically junior to you within the organization but who has more experience there. If there isn’t anyone available to you, which is not the best of situations, you may have to rely on sources further removed or even a book or article. But, if you need help, seek help. This too is good judgement.

That covers our discussion of the leadership traits. Next in this series we’ll be looking at how to apply these traits. As always, feel free to leave a comment or question if you have one.

Marine Corps Leadership Secrets Part II

In this second article in my series I’ll continue my explanation of how to apply United States Marine Corps leadership traits and principles to software development team leadership. In this part I’ll be discussing the traits of Decisiveness, Dependability, Initiative, and Tact.

Decisiveness

Nobody likes to work for someone who leaves important decisions up for debate by the group or who simply leaves them up in the air, unmade. Nor do they like to work for someone who is inconsistent or wishy-washy. Managers who publicly vacillate over making key decisions usually lose the respect of those underneath them. However, people will respect a leader who can make a decision, tell everyone the decision in clear, confident, terms and then stick to it. They’re a person who says what they mean and means what they say.

This doesn’t mean that you should be inflexible about the decisions you make though. Situations change and, when they do, a leader is required to decisively act upon the new information. For example, a development tool a lead decided upon isn’t working right due to serious bugs that the vendor isn’t going to fix anytime soon. Instead of muddling on toward failure, the decisive leader takes steps to fix the problem quickly and save the project.

Being decisive also means be accountable for your decisions. If you make the call, you are responsible for it. Don’t pass the buck to your team members, peers or your management.

Dependability

Can your team depend on you? Can your management depend on you? Dependability works both ways.

To be dependable to your management is really basic Work 101 stuff. It means you show up on time, that you don’t make excuses or complain without a good reason, and stay on the job until it is completed. If you aren’t doing these things for your management, then why should you expect those you’re supposed to be leading to do the same for you?

How can you be dependable to your team? You do this by first of all being an example as I mentioned above. You are the role model they’ll look to, for good or for bad. However, it goes beyond just that. It means that you are willing to stand with them if there is an emergency that needs to be handled or if there is extra work needed to complete a project. If the team is coming into the office over the weekend to work you should be there too if at all possible. If there is a disaster, like a failed database, you are there working to correct the problem, even working through the night and into the next day if necessary. Your dependability will inspire those working for you while shirking your responsibility will, over time, demoralize your team.

Initiative

If you only do what you’re told to do and wait for others to take action, well, you aren’t much of a leader. Take a look around and see what needs to be done to either help you reach your goals or that’s keeping you from reaching them. For example, if someone on your team is having a problem with their PC, take the initiative and help them get it fixed. If there is a new tool that would greatly speed the development of your project, take the initiative and get it in for testing. Are there classes you and your team could take? Get them signed up.

Don’t be satisfied with the status quo. Learn to think outside the box and to solve problems in new ways.

Tact

Tact. It means a sense of what to do or say in order to maintain good relations with others or to avoid offense. You may be surprised that this is on a Marine Corps leadership list after seeing movies or TV shows about boot camp. You see a lot of insults and screaming and yelling there. But, courtesy and respect plays an important role within the chain of command once a Marine leaves boot camp. Likewise, the courtesy you show to your team and to your management is important as well.

When you assign work, do it in a courteous, direct and personable manner. This helps insure the work will be understood and will be carried out correctly and with enthusiasm. If you give out assignments in a careless or brusque manner it might very well have the opposite effect.

Tact also applies to how your respect your team member’s time, property, and feelings. Wasting their time in useless meetings, not respecting their property, or hurting their feelings, intentionally or unintentionally, will hurt your authority within the team.

The simple management axiom is to praise in public and reprimand in private. This is one of the key ways to be tactful with your team. A public reprimand or even one that is private in name only can seriously damage your credibility within the team and harm morale. If you must reprimand, make sure that you are fair, firm and friendly about it.

With your managers, you should approach them in the manner that you would want to be approached if you were in their position.

Wednesday, 16 January 2008

Preamble

Everyday I come across a number of 'ponderables' - in emails, on sites, in books, and in conversations. Through this blog, I will attempt to collect them in one place so that I, or anyone else who is interested, can access them easily from any place. I will also upload some of my collection of 'points to ponder' over a period of time.