Making Changes to an IT Business?
everythingeverything asks: "Recently the IT development company I work for has undergone many changes, mostly focused on the streamlining of the development teams. Three people have recently been laid off, and massive pressure is being exerted on myself and my colleagues to develop more efficiently and delivery bug-free code. This is great - very positive changes. However it's blatantly obvious to many of my workmates that the sales and accounts team are not meeting their end of the bargain. They consistently oversell our services, write incomplete and inaccurate project specifications, set deadlines and budgets without consulting a TA or a developer, and frequently give in to clients when they want to change the spec halfway through. Management have agreed that there are problems and we have given them detailed research and documented solutions, but nothing happens. How have other employees in similar organisations brought about an effective, non-hostile and mutually beneficial resolution to the problem?"
Perhaps the best model for an IT company is an old fashioned one -- Start small, don't spend money you don't have, and try to keep your customers happy. If you try to go at breakneck development speeds on a skeleton crew, you wind up overextending the company, becoming unstable, and then falling apart after a few bad quarters.
Slow and low -- that is the tempo.
Got Rhinos?
The only reason they get away with this is the the uppermanagement has let this happen. Your boss should be standing up for you, your projects, and your teams outlook. If you have problems with the salesmen the way you say, you should get them all in a room with everyone involved and figure out who is saying "you guys do this". Why on earth would uppermanagement want to saddle down the salemen, when they sell something and you guys are on salary? If you don't get overtime and someone is making unrealistic goals for you who cares. Not uppermanagement, they are all for the slave labor bit. Sounds to me your in a job that is taking advantage of you, get a backbone, get gone, or bring it to boil. People use people because they don't say anything or standup for themselves. Your scared you might be over payed, or would have trouble finding a job if you got fired. Figure out which it is, face it, and move on.
I say this as a spinless jellyfish that is in the same boat. I recently got a backbone, had it snapped and handed back to me.
Neck_of_the_Woods
#/usr/local/surf/glassy/overhead
>and frequently give in to clients when they
want to change the spec halfway through.
If they are smart they have a clause in the contract for a "change order"
and bill for it.
When I was freelancer , a poorly written spec and a change order clause
was like the client forcing you to take extra money.
Have you considered that "give in to clients when they want to change the spec halfway through" may be part of their sales tactic, and that major changes is already in the budget for the project?
In any case the best you can do personally is keep track of the resources spent implementing a project. This will enable the sales persons to better estimate how much a project should cost. It also enables you to provide much better estimates for future projects.
This will of course not help right now, and it could be a bit delicate to point out that they have problems keeping the customers in line. Do you eat with them at lunchtime? If you do then drop a line like "uhhh... that new feature X in project X will take some time to implement"
If you were an AC asking this question I would have bet money you were someone I worked with.
I feel for ya, man. I really do.
Software Wars
OK, I took some flak for hiding. I admit it, I wrote the anonymous post about working down the hall...
Seriously, though, there are days when I feel like Dilbert.
What is your Slash Rating?
We've gone through a similar transition but things are now getting better.
.com bust, and probably thought they could hide in the glut without any technical knowledge -- not anymore.
The only thing that really works is to cut the problem off at the the root. Get rid of the preppy Ivy-league MBAs who don't know anything about building real software. A lot them are probably hold overs from the
Replace them with seasoned sales/marketing folks who've been burned by over promising before. Best situation is to get some former engineers into the business side who are willing to push back against the unrealistic.
The market ought to be full of good people these days, the trick is to have some software experts on the interview panel, rather than accepting blind recommendations from someone's rich parents' friend (unless you're interviewing prospective US Presidents, rich parents are apparently enough).
Don't blame me, I get all my opinions from my Ouija board.
i actually really liked the consultant... probably because he ended up telling the owners what I'd been telling them for months (the obvious problems mentioned above). everyone was pretty pumped up for a change.
three days later we were all called to a meeting where it was explained to us that "now that all our past problems have been solved...". i was baffled... we hadn't actually implemented anything the consultant had proposed, we merely talked about it. i stood up and said "I don't understand. What have we done to fix the stuff we've been talking about?" to which I got stares and bewilderment. Everyone was thinking the same thing (several folks told me afterwards), but I was the only one with the balls to actually say it.
I was fired within a week for my "attitude problem".
my point is -- real change is hard; 90% of folks would rather just talk about hard stuff than actually do it to improve their situation. don't settle for any Mickey Mouse shit. good luck! :)
A percentage of the cost overruns for a given project comes back out of the commission. :)
This will be perceived as hostile by the sales team but upper management should be fine with it provided you guys keep good documentation.
The flip side is that if you do sign off on something and slip up the sales team will be all over your ass.
After a few months or a year the good sales people will have straightened themselves up and the dead wood will have left voluntarily.
Good luck!
P.S. This is generally easier to implement if you guys have some skin in the game too... Work out a per-project percentage-of-profit (or gross, profit figures are easy to manipulate) for you as well.
First, tell them it can't be done with current technology, but start working on it immediatly.
Multiply all work estimates by a factor of 4, then tell them it's 'iffy'.
Ignore their spec, write your own as generic as possible. When they change it 1/2 way through, you bitch and moan, then write the gui that will give them what they want.
Yes, those first few conversations the sales people have with your clients are part of the design stage. What it took in our company was a discussion with upper management of past failures, with specific examples, cost, etc of where this stuff bit you guys on the ass. Take time to make your case water-tight...and don't focus on INDIVIDUALS that hurt the business process. Focus on where the business process hurt the team.
You've already got 1/2 the answer there yourself. You've got a good idea of the things that typically go wrong. Now, what can you do to make them typically go right? Of course, there are ALWAYS going to be cases where the client is just a "bad client". You may be making profit on those clients in your books...but it may be "bad profit". Consider not doing work with them again if you (collectively) have made every effort to reign them in. And *always always always* have "post-mortem" team discussions at the close of *ALL* projects to discuss successes, failures, and areas of mediocrity. Again, don't focus on the individuals that failed, if at all possible...focus on the process that failed.
And finally, you think upper management only cares about $$$'s? You're right. So put it into terms they can understand. While they probably aren't as technically adept as you would want, they're also probably not TOTALLY clueless. If you can show, on their terms, where your business process needs help, you've crossed the first hurdle. Show them specifically how much money they lost in cases where salespeople oversold, or were unable to filter unreasonable changes mid-way through the development process. Just don't start such a conversation without also having some ideas on how to fix things.
You know, I know you're an AC...and maybe you're trolling...but I'll bite. People these days jump ship too quickly. Change is frustrating, and difficult to implement...but for the few of us that can actually see the failures in business processes, it's a waste to just quit. It does nothing to help the company, or the industry.
If you like your job enough and the people you work with, my advice is to try to make things better.
There must be a balance of power between those who order the work and those who do it.
The best balance of power setup I've seen is part of Extreme Programming. In XP, the suits can ask for whatever they want, and they can change their mind every week. The developers get the final say on estimates, and the suits can only order as much work for the next week as was done last week. The developers deliver a new version every week, so everybody can see exactly how the project is going.
This sounds too simple, but it works really well. Every week, the businessfolk are forced to balance their desires with the reality of the development situation. With only a week between data points, nothing can get too far out of whack.
Of course, some bosses are just unwilling to face the fact that for X dollars, they can only get Y features; they will refuse to implement any system that makes that clear. But most people just want to get good software, so they will come around if you put it to them properly.
Yeah and then management always wonders why the product sucks and the developers stil can't figure out how to make life easier. At least that's what's happening where I work. Problem is usually solved if you have a good VP of Eng or DEv Team Lead that can speak up and not get fired and make people realize why things can or cannot happen and why the deadline will need to be extended.
Only 'flamers' flame!
And my advice is that if you are one of the few people who can see the failures in the business process, you can almost invariably see what caused the failure in the first place, and how almost invaiably those causes will prevent any try you make to help things out.
You are not beholden to the company or the industry. Do what's best for you and your common man. That is never wasting time and money on a sinking ship.
It also does nothing to just sit in a company and watch it destroy itself. Sometimes jumping ship is the best thing you can do.
I just don't get the feeling that's the situation here, though. It sounds to me like the complaint the original poster had was a common one, typical of many industries...not just IT. It's probably aggravated in the IT industry because of the technical lingo and lack of understanding exhibited by many of our clients re: what exactly goes into a software development project...but I don't think the company he/she describes is going down in flames...I just think it needs some fine-tuning.
And, as far as my thoughts go re: not jumping ship -- if everyone who can see failures in business processes jumps ship without making some attempt at fixing the problems, you end up with an industry with a poor repuation for company viability, an industry marred by wasted venture capital, an industry that makes people nervous when considering investment. Turnover rate and rate of improvement within a company are inversely related...the higher the rate of turnover, the lower the likelihood that there are enough employees with enough history with projects/business process to improve them. I am certainly NOT blaming all dot-bombs on employee exodus, but it does not help.
Bottom line, if you personally are unhappy, by all means, get out. There's nothing worse than toiling away at a job that you hate. BUT, just because you can see problems does not make you unhappy. It just makes you insightful and a useful tool to your company's management. If/how you decide to present yourself in that manner is up to you.
invariably those causes will prevent any try you make to help things out.
I forgot to address this. Yes, I understand where you are coming from 100%. I have been there. It is extremely frustrating. And, if that is really the case, then again, by all means, get out. I just don't think that just because a company has problems with its business process, it means that the company is a lost cause. There are lots of reasons companies can have problems with its business processes...not all are unrepairable. And not all managers are unwilling to consider suggestions from those of us who are in the trenches. If, in your opinion, what is necessary to fix your problems runs counter to corporate culture, then you're screwed. But, if it is just not a part of your corporate culture, then there is hope.
In our company's case, we had the salesperson overselling issue too. We eventually came to the understanding that, for all "large" projects, the company's "Ace" Development Team would be involved from day 1...involved in all conversations with the client...and responsible for educating client and salesperson alike about the technical hurdles their project creates. Do we still have the overselling issue? Occasionally...but it's nowhere near the problem that it used to be. Probably because it only happens on the smaller projects (when it happens) and the scope makes it easier to deal with, usually.