With software projects it’s rare that a failure can be pointed a single cause, or a certain person. Usually it’s a culmination of many smaller mistakes. With technology and formal project management, best practices are usually well documented and available, but one thing that isn’t talked about as much is attitude. The attitude of persons in your group or your group as a whole is one of the biggest factors of your success.
As a volunteer firefighter my training often intersects with my career in development. It happens more than you might think, and today while taking a class (L-180 Wildland Fire Leadership Development) I learned about a set of “hazardous attitudes” that can often get teams in trouble. Reading through it I could see the parallel with software development very clearly. These attitudes on the fireground can get yourself or others killed, so they’re especially important for everyone to keep in mind, but why not apply them seriously to software development?
Here is the list of some hazardous attitudes from the class, and this is what we’ll be applying to software projects.
- Macho (competitive)
- Complacency (casualness)
- Escalation of commitment (target, fixation, mission-itis)
- Other ( sexist, racist, agency bias )
If you’ve ever worked on a group project of any type, you’ve seen these. These types of attitudes also tank software projects just as bad.
“This would never happen to us”. Very common especially with teams who have had some level of previous success. They know of the pitfalls, know the risks and still take chances thinking the worst won’t happen to them. While this might work for a while or even a long time, the backfire can be devastating. Because you took a risk you know you shouldn’t have it looks very bad when it fails. You are guaranteed to hear the phrase “You should have known better”.
“Those guys are a bunch of idiots!” These words are often uttered about executives, directors, VPs and other forms of upper management. While it may be true that you know more details about your job, there’s a really good chance you don’t know what they know about the business, and the reasons behind their leadership decisions. While it’s healthy to question policy and ask questions of your leadership, willful denial of their rules or requests can be detrimental to your project, and your employment status. When this attitude gets carried away bad things tend to happen.
“Let’s just do it! Shoot from the hip!” This attitude is sometimes disguised well as a “can do” attitude. Often times impulsive managers and staff are referred to as “go getters” who really get work done. While that may often be the case, truly impulsive decisions that aren’t well thought out lead you down paths that are very difficult to get out of. Remember it’s not just the immediate decision that can backfire, it’s often the subsequent actions and decisions that really get you into trouble with this attitude.
“We’ll really show them how it’s done”. This attitude gets you in trouble mostly because you are using a bias, and it’s another dangerous road to go down. You may get overconfident and step on a lot of toes thinking you’re going to hit a home run, and then everyone will forget earlier transgressions cheer your victory. This rarely happens in practice. What usually happens is you alienate people who could be collaborating with and destroying your reputation when you fail.
“This is never going to work anyway, so why try?”. While the downsides to this attitude is pretty obvious, what most people don’t consider is how well this can take hold and spin out of your control. A single team member who possesses this attitude can eventually infect the whole group. If not corrected, this attitude becomes a self fulfilling prophecy very quickly.
“I’ve done this a million times”. Many folks possess this attitude after getting good at something. When working at a lumber mill I was told the people who get injured the most are the ones with the most repetitive jobs that they’ve been doing forever. They simply quit caring and become complacent to the point they aren’t paying attention to what they’re doing. In the business world this can lead to serious bugs and security problems being introduced. Complacent team members are among the most well known.
Escalation of Commitment
“Well, we’ve come this far so we as well keep going!”. This attitude may have the best of intentions, but we usually end up in projects that are over budget and way beyond the deadline. Remember Brooks’ law? Adding more programmers to a late project usually makes it later. And usually the action taken with a failing project is to start throwing money, time and programmers at it until it finishes and nobody is happy with the final product.
Sometimes you just have to know when it’s time to go back to the drawing board.
Other (sexist, racist, agency bias)
Remove “agency” and replace it with “group” and you have a problem that’s extremely common in today’s business environment. “Those marketing idiots! Those salespeople!”. This kind of bias doesn’t help anyone involved. You should be sharing a common goal not fighting against each other.
Racism and sexism? Remember you’re a professional, and it’s 2013. These views are antiquated and ignorant. These views towards your coworkers only creates a bias that harms everyone around you, and your decisions should never be based on them. Not only should you not harbor this bias but you should not allow others to do it. There’s a reason people can be fired immediately for racist or sexist comments, it’s a poison that destroys groups, companies, and morale. It inflicts personal damage to others. Be better than that.
Reading through these hazardous attitudes it’s very likely you’ve already seen it in action. If you have any of these attitudes you’re contributing to the destruction of your project and group. If you see these attitudes in others and take no steps to correct it you’re also doing harm. Their is no single recipe for guaranteed software project success, but attitude is a key element. If you have the problems, fix them. If you see it, say something. Lead by example and remember success favors the prepared.