Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
News

Making Changes to an IT Business? 47

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?"
This discussion has been archived. No new comments can be posted.

Making Changes to an IT Business?

Comments Filter:
  • Old Fashioned (Score:3, Insightful)

    by zpengo ( 99887 ) on Friday September 20, 2002 @04:33PM (#4299688) Homepage
    The best way to run a software company is not to do what all the other software companies have done in recent years, since those generally turned out to flop miserably.

    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.

  • Fire the salesmen. (Score:3, Insightful)

    by Neck_of_the_Woods ( 305788 ) on Friday September 20, 2002 @04:34PM (#4299698) Journal

    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.

    • I agree! I hate to say it, but salesfolk are a dime a dozen these days. For all of the bs this guy puts up with there are probably 50 great sales people who are hungry to sell and would perform well. Sales Reps for IT shops are infamous for milking a few accounts and doing nothing more. Cut their commissions on accounts after 60 days and send them off to hunt for more business. If they have no backbone...Can em and move on.
    • I agree. If upper management fails to clean up the situation quickly, start looking elsewhere. Having been in tbe same situation for many years, I wish I had bailed out earlier. In addition, consider the market your sales folks are selling to. Is that market in bad shape? If so, it explains their behaviour.
  • by HughsOnFirst ( 174255 ) on Friday September 20, 2002 @04:34PM (#4299700)
    >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.
    • Google came up with this [216.239.35.100] as one of its hits for "change order" clause in the search field. It seems like a reasonable starting point.
      • Naw...

        What you want it something like this.

        1. Wewill do the work specified by the date specified for the amount
        specified.

        2. If you change the specifications of the work, or the schedule, we will
        change the price on a time and materials basis.

        3. stuff happens ( because the spec was bad, and the spec is always
        bad, or there is a management change at the client, or they just change
        their mind, or their competition does something and they need to respond ... )

        4. Profit !!!!!

        4. Profit !!!!!
        • Why is that submit button so closed to the preview button?

          "Wewill" get an extra "4. Profit !!!!!" I guess

          Hmm...

        • The problem is that if you try and put in a clause that rigid, it WILL scare your clients. The best way to approach it is looking at an acceptable level of change in specifications and schedule, with the understanding that the specification will develop through the course of the project.

          If your goal is to profit off your client's stupidity... that's easy. Long-term relationships require profiting off of meeting their needs!
          • That's never stopped the Software and Entertainment industries.
          • Well there was an attempt to inject some humor into the comment, note the riff on the numbered lists which show up in Slashdot with the second to last item being "?????" and the last item "Profit!!!!!"
            And there was an attempt to grossly simplify the whole idea.
            But mostly it was a reaction the the comment it was commenting on, which had a link to an example contract that was more or less the opposite of what I had in mind.
            The smart contractor frames the whole exercise as bending over backwards to accommodate the customer, thereby saving the customer's ass, and only asking for reasonable compensation for the time the contractor is taking away from other billable projects.
            This gets you a steady stream of jobs, because you are flexible, reasonable, and can get the job done, even if you have to make a lot of changes.
            I should also point out that usually the person I was dealing with had had the changes dumped on them by their boss.
            The subtle form of "you can make changes in the middle of the project work to your benefit" didn't seem to get the point across.

            A simple "changes will be billed on a time and materials basis" buried in the bid is all you need, and it doesn't scare anybody.

            Actually , that protects the client more than it protects the contractor who could otherwise renegotiate the entire job if the changes are big enough.

            Oh, and one more thing, don't get conned into writing the spec yourself.
  • A few suggestions (Score:2, Interesting)

    by isj ( 453011 )

    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"

  • by mshiltonj ( 220311 ) <mshiltonj@NoSPaM.gmail.com> on Friday September 20, 2002 @04:41PM (#4299756) Homepage Journal
    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.
    • 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.
  • by Anonymous Coward
    How have other employees in similar organisations brought about an effective, non-hostile and mutually beneficial resolution to the problem?

    In my experience, management fires the techies who speak up the most, leaving nothing but a week-knee'd devel department who cave in to the endless demands of the Marketing department.

    See? No conflict!
    • 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.
  • I'm guessing that your sales teams do not contain an engineer (I'm including IT guys in my definition of "Software Engineer). This may or may not be possible, depending on the size of your company, developments teams, and projects, but here's my suggestion: Always have an engineer at every meeting between your company and the client. Ideally, a project manager or head coder (Even better if those are the same person).

    At my company, (granted, we're smaller than you appear to be...), our engineers deal with their engineers. No salespeople to get in the way, and it works very well.
  • We've gone through a similar transition but things are now getting better.

    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 .com bust, and probably thought they could hide in the glut without any technical knowledge -- not anymore.

    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).
  • That's an organizational misstep. The sales team should NOT be writing spec. The sales team should NOT be estimating hours. The management, having realized the problem, have the responsibility to restrict the authority of the sales department.

    'course, in our company, the project managers are highly involved with sales, and it's worked well. I don't think we have a full time salesman that isn't our CEO.
  • here's what i did... (Score:4, Interesting)

    by pizza_milkshake ( 580452 ) on Friday September 20, 2002 @05:18PM (#4300020)
    the first company I worked for out of school a couple years ago was *gasp* a web shop. After struggling through about 6 months with major project management problems (none of the owners, who functioned as project managers, knew anything about project management), major development problems (floating specs, zero QA) the company brought in a consultant *groan* to help us iron out our problems.

    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! :)

  • is to outsource your sales team.
  • by itwerx ( 165526 )
    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.
  • Here is how it works in the REAL world...

    SALES drives the company, you can't change that, get over it. Execution is everything, and we (IT) wind up with our asses cashing sales' checks... thats just the way it works in this fast paced industry.

    You have to find a balance and a system, if they are cutting back on people then you will have a tough time, but for developers you ABSLOUTLY MUST have 1 dedicated person for QA. I have tried and seen developers "test" their own code....we try, but we subconciously can't catch the easy stuff.

    Here is how it breaks down:

    Developer is hired by the company.

    Developer maintains legacy code left by previous employee.

    Developer gets ancy and an opportunity to perform new development.

    The new project is released.

    Developer has to maintain "his" project for sales while performing other duties to bring in money and gets burned out.

    Developer finds another company, and the whole cycle starts over again for both parties.
  • I once had a salesman at my old Wells Fargo job, tell me that there was going to be a change in the way I did my processing. I told him it wasn't possible due to time restraints and the fact that I had no plan to put a cot in my vault. He said I had to. I asked why the sudden change and why the boss let him promiss. The best answer he could come up with was that it was what the customer wanted. He also hadn't told management yet. I told him he could shove his bonus up his ass the next time he decided he was going to sell me down the river. It's been four years. They still haven't done it. I've been gone for three. :P
  • 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.
    • Multiply all work estimates by a factor of 4, then tell them it's 'iffy'.
      The problem is that they will not believe you. A realistic estimate sounds horrendous enough. If you multiply it by four, it simply will not be approved.

      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
      I actually tried this, except I didn't bitch and moan. Let me tell you, they were really impressed when I used the last month just pulling extensions out of the sleeves, and implementing things they were only dreaming about. I told them about the lazy programmer, and they just kept repeating: "not lazy! smart!".
  • by clearcache ( 103054 ) on Friday September 20, 2002 @06:00PM (#4300225)
    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.
  • by Anonymous Coward
    There's been a lot of good advice, but all of it assumes that the sales people will try and change which happens sometimes, but sometimes doesn't.

    When things get busy where I work (2 developers) and they come in and ask for more or changes or this or that or the other thing we tell them how long it will take and point to a board with a list of all the other things they said they wanted and make them decide where to put it.

    This makes them realize that this new request of theirs is going to push out someone else's request (or even one of their own).
  • 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 [extremeprogramming.org]. 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.
  • I've had a single experience like this... sales was making promises, and then coming back to engineering and saying "is this possible? Whew! Cause it has to be done by X".

    The VP of sales (co-owner) and the vp of engineering (not a co-owner) almost came to blows.

    Adobe eventually bought us out and said VP was gone in a remarkably short amount of time.

    No one missed him much.

    Thats more a war-story than advice... advice... hmmm.

    Try to get the sales guys and eng in a boxing match? Heh.

    Seriously though. We actually managed to get the prez (the other owner) to read Rapid Development by Steve McConnell (though there are several books that cover similar territory, I personally swear by anything McConnell writes). Half the 'bad examples' in that book should sound Very Familiar to you and yours.

    The problem has been identified. RD contains numerous suggestions on how to make fixes. Then it's "just" a matter of putting those processes into place.

    Heh.

  • Is common practice in 99% of companies. if you see any real change, they'll be eliminated when another company buys you out or some other factor dictates a change.
  • It is necessary to train the sales force as to what is actually achiveable - this can be difficult. You are helped greatly by the simple fact that if the product is not on time, or stable, the salesperson looks bad too.

    The single hardest thing to do is to find out what the customer really *needs*. To define it correctly, both you and the salesperson have to meet with the customer. This can be a three step:

    1) Decide with the sales person what is the information that is needed from the customer meeting. The customer will have a whole bunch of wants, but he will not articulate his needs at all well. You will have to coax it out of him. The summary of this premeeting will be a table - features -> benefits to the customer -> costs. While you are with the salesperson, ask him what he feels will be the next step in increasing his business in the account. This is an unusual question from a techie, and should score you business points which you can negotiate with, later.

    2)The customer meeting, itself. Have a presentation as to what areas are do-able, and a relative idea of the costs ( especially elapsed time). If possible, try to block the project up into smaller deliverables, so that there is continued involvement with the customer. At this point you are negotiating what gets built, when. Add feedback loops and kill points so that the risky items are clearly marked out. Don't ever commit to calendar time at this point - the analysis is not done, yet. Formally, this is scoping the project, and is an important part of success in project management.

    3) Post meeting: document early and often, and now let the salesperson earn his keep by keeping close to the customer. The salesperson is your interrupt mask - make sure that he is the point man for the effort. Appreciate him, preferably in front of his boss. Sales is a people job.

    Most of the grief I have been witness to has been squarly the problem of poor project manangement, unstructured, unprepared meetings, and general cluelessness. You can mitigate cluelessness, and the other things are either under your control, or can be influenced by encouraging the right questions to be asked, or asking them yourself.

    Hope this helps. It's my personal opinion that the developers should not live in a cave, but should rub elbows with the outside world, from time to time. Large organizations have special people to act as technical bridges, but in a small company, you get to do this yourself...I like small companies for that reason.

It is easier to write an incorrect program than understand a correct one.

Working...