Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming

Ask Slashdot: Have You Experienced Fear Driven Development? 232

nerdyalien writes: A few years back, I worked for a large-scale web development project in southeast Asia. Despite formally adopting Agile/Scrum, development was driven based on fear imposed by managers. Scott Hanselman defines Fear-Driven-Development as having three parts. 1) Organizational fear has "worried about making mistakes, breaking the build, or causing bugs that the organization increases focus on making paper, creating excessive process, and effectively standing in the way of writing code." 2) There's also fear of changing code, which comes from a complex, poorly-understood, or unmaintainable codebase. 3) The most common one is fear of losing your job, which can lead to developers checking in barely-functioning code and managers committing to a death march rather than admit failure. My project ran four times its initial estimation, and included horrendous 18-hour/day, 6 day/week crunches with pizza dinners. Is FDD here to stay?
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Have You Experienced Fear Driven Development?

Comments Filter:
  • Wow... (Score:5, Insightful)

    by DoofusOfDeath ( 636671 ) on Wednesday September 17, 2014 @05:21AM (#47924999)

    Is FDD here to stay?

    It seems like you're extrapolating from that experience, to thinking "FDD" is a current trend. AFAIK it's not. A small number of dysfunctional shops like that has virtually always existed. I'm going to go out on a limb and guess that you've only been doing software development for a few years, so you're working from a limited sample size.

    I have been in a few jobs where the managers were verbally and/or emotionally abusive. In both cases I left ASAP.

    • Re:Wow... (Score:5, Insightful)

      by MadKeithV ( 102058 ) on Wednesday September 17, 2014 @05:37AM (#47925049)

      A small number of dysfunctional shops like that has virtually always existed.

      90% is a small number, right?

      I'm joking, I've never had to work in a truly dysfunctional shop, and yet "fear-driven development" tends to make an appearance whenever stress levels get higher. Pressure makes people take funny decisions that they think are "safe", such as not touching a legacy code base for another 5 years because "it works and we don't want to break it", until it finally collapses under its own weight and technological advancement (in the case I'm thinking of it was the lack of multithreading and 64bit support).

      Often its the fear of other people's reactions if you stick your neck out and get it wrong that will doom you to inaction. It helps to remind yourself and others constantly that you cannot have improvement without change, and the only way to do nothing wrong is to do nothing. Build up trust at detecting and *recovering* from mistakes is at least as important as having a process that avoids mistakes. Mistakes happen. Learn to deal with them instead of expending inordinate amounts of time trying to avoid them.

      • by Taco Cowboy ( 5327 ) on Wednesday September 17, 2014 @06:58AM (#47925321) Journal

        90% is a small number, right?

        TFA talked about a company in South East Asia and I do have business dealings with companies from that region - and I can tell you that many companies from that region are indeed dysfunctional

        They kinda adopt the Western approach of management, but then they add in their own cultural flavor, mainly based on race / religion / language background and when all those things got mixed up, what TFA mentioned wasn't even enough to scratch the surface of the true dysfunctional nature of the beasts down there

    • Re:Wow... (Score:4, Insightful)

      by Z00L00K ( 682162 ) on Wednesday September 17, 2014 @05:44AM (#47925063) Homepage Journal

      And you still forget Management by Confusion.

    • Re:Wow... (Score:4, Insightful)

      by coofercat ( 719737 ) on Wednesday September 17, 2014 @07:57AM (#47925513) Homepage Journal

      ...and also, FDM - Fear Driven Management.

      Eg. "Thou shalt not rework that heap of shit to unblock countless other ideas and projects because it's way too scary".

    • Re:Wow... (Score:4, Interesting)

      by Anonymous Coward on Wednesday September 17, 2014 @09:09AM (#47925937)

      You are damn lucky. There are a lot of shops, if not the majority of them, are FDD driven. However, with offshore companies like Tata whom can be argued to be the best coders in the world by the managers I worked for in dev houses, it is no wonder why there is stiff competition in anything development related.

      In the real world, with managers who are verbally abusive, it would be nice to have the luxury to leave, but there is this thing called rent, and food bills that have to be paid, so running for months without an income (if the employer were any good, they wouldn't be hiring in the first place since they would have positions full by word of mouth and private networks) isn't an option for most. Plus, the abusive managers can always deny that the person worked there (to the point of claiming the person is a mentally ill stalker), and completely hose the ex-employee at a whim. In fact, just being unemployed makes it extremely difficult to find work just because employers who have their H-1B quota will not hire anyone who isn't employed.

      I got introduced to the FDD method at one place. The LAN was down. A co-worker found that it was a cable issue and reported it. Security walked him out at once with a taser to the back of his neck and held him until the police came, claiming that he violated the CFAA. When the police arrived, he was told that he either signed a form that he would release the company from all legal damages, that he was fully paid, he acknologed being fired on the spot for gross misconduct and that he will not be filing for unemployment, and he admitted responsibility for the network outage for civil litigation later, or felony charges would be filed. Well, he signed (later showed me the contract), even though technically he was owed two weeks back pay, since fighting felony charges would take more money than losing that job.

      Another place was a call center for customers to report issues. They required people to be -on a call- when their shift started. Green light on ACD not on? Strike. Three strikes? Immediate termination. If phone stats went below a certain level, the first time, it was a yelling at, second time, a pay dock, third, a walk. Since it was contract work, if one got sick for more than a day, they were promptly replaced by another, as this company has a waiting list for those positions.

      The FDD method sucks, but it does work. It is a choice to working like that, or "enjoying" life with the hobos under a bridge. The days of being able to choose a decent job here in the US are over, as those jobs are in China now.

    • It seems like you're extrapolating from that experience, to thinking "FDD" is a current trend. AFAIK it's not.

      Sure it is. What's happening to programming is what happens to anything when there's more supply than demand: a race to the bottom. Personal computers used to be rare, so programmers could rely on their skills being so as well; now they're ubiquitous, and the industry is entering the same phase others did during the Industrial Revolution. The only known solution is to unionize and bargain collectiv

      • Just because computers are ubiquitous does not mean that programmers are ubiquitous. It's like saying that because everybody owns a car that everybody knows how to fix them.

        I would say that there are fewer people who know how to fix a car/be a mechanic now than who did in the 60s. At least in terms of percentage of the population, if not in total numbers as well. There used to be a lot more people who would change their own oil or do their own brake jobs as opposed to the number of people who would atte
    • I have been in a few jobs where the managers were verbally and/or emotionally abusive. In both cases I left ASAP.

      THIS. Life's too short to put up with loser companies.

      That being said, one needs a financial cushion of 6 months-ish. The easiest way to do that is to skim off 10% from every paycheck [google.com], no matter what.

      Remember, you canâ"and should!â"evaluate the company you work for, daily. If they "fail the interview" (i.e., it is more hassle to work there than to find another job) then it is ti

  • by justaguy516 ( 712036 ) on Wednesday September 17, 2014 @05:30AM (#47925021)

    [2] is a very common problem, not just because of a badly written code-base, but mostly (IMHO) because of people not having the time to understand a complex piece of code. Ends up in 'nearly' the same code being written in a dozen different places. In my knowledge, it doesn't immediately screw things up, but, over time as the garbage accumulates leads to extremely interesting failure scenarios.

    • by jonwil ( 467024 ) on Wednesday September 17, 2014 @05:34AM (#47925039)

      I have also seen/heard of circumstances where "doing the minimum to keep the thing working" is allowed but actually improving the code is not because improving the code counts as "new work" and comes from a different budget than maintanence.
      Seems stupid but that's how some shops operate.

      • by rioki ( 1328185 ) on Wednesday September 17, 2014 @05:55AM (#47925113) Homepage

        Except that "new development" and "maintenance" are just labels. As long as there are no new user visible features (apart from improved speed and smaller memory footprint) all development is "maintenance". I understand the rationale between the maintenance / new development budgeting and can totally work within it's framework. But sometimes you just need to clean up code before you can add this new feature (100% "new development") and sometimes you need to replace a legacy database system with a modern one to keep the application running smoothly (100% maintenance). You try to answer the question "why am I doing this?".

        The "you can't do that because we don't have the budget for maintenance" is just a lame excuse for two situations, either you just don't have the budget to do it or your manager is scared that you will break something. In all cases it is just a failure to communicate properly, which is especially lame when prefixed with "I would like to let you do this, but..."

        • Comment removed based on user account deletion
      • by MadKeithV ( 102058 ) on Wednesday September 17, 2014 @05:57AM (#47925123)

        I have also seen/heard of circumstances where "doing the minimum to keep the thing working" is allowed but actually improving the code is not because improving the code counts as "new work" and comes from a different budget than maintenance. Seems stupid but that's how some shops operate.

        "The minimum to keep the thing working" nearly always implies improving the code. All developers need to realize this and stop this silly false dichotomy between "maintenance" and "refactoring".

      • Depends on what development model you are using. In aviation with software certification, improving the code produces short term nightmares even though it is valuable in the long term. Every time you change a line of code it has to be retested and certified which is expensive. Of course once the patch on patch on patch reaches critical mass and you have to rip off all the band aids, things get worse.
      • I think it is about having a small testing budget. You have budget to test the new feature but not the budget to test the whole application. Testing the feature involves the developer and client doing a day or two of work. Testing the applications involves a team of people running several days worth of formal tests. It is purely rational to push such testing off untill you have a larger release. One problem with Agile is you never get such a release. As everything is done in smaller chuncks.
    • [2] is a very common problem, not just because of a badly written code-base, but mostly (IMHO) because of people not having the time to understand a complex piece of code. Ends up in 'nearly' the same code being written in a dozen different places. In my knowledge, it doesn't immediately screw things up, but, over time as the garbage accumulates leads to extremely interesting failure scenarios.

      What ends up happening in that case is that a bug is found in the "original" (or any subset thereof) code and it's fixed. 11 copies with the bug, authored by three other developers, remain.

  • 3rd world (Score:5, Insightful)

    by goarilla ( 908067 ) on Wednesday September 17, 2014 @05:35AM (#47925043)
    The only thing I will say is that emerging economies need Unions !
    This machiavellian style of management is akin to slave labor.
  • Experience counts (Score:5, Interesting)

    by msobkow ( 48369 ) on Wednesday September 17, 2014 @05:36AM (#47925045) Homepage Journal

    I've seen plenty of "fear driven development" over the years, but the "fear" was usually on the part of incompetent employees who were afraid they'd be caught out as idiots and fired. They'd churn paperwork and documentation rather than touching a line of code, because if they broke something, their incompetence would become apparent.

    Fear is the mind killer.

    But if you're afraid to do your job, it's because you have a problem with confidence in your own skills. Blaming management for such fears just takes the incompetence you exhibit to a whole new level of blame-gaming.

    • by qbast ( 1265706 )
      I would love to have at least one of those fearful devs to handle documentation. But unfortunately we hire only people with confidence to actually code.
      • I would love to have at least one of those fearful devs to handle documentation.

        Could you elaborate a bit on that? Because it kinda sounds like you're a tyrant. Why would anyone welcome fear, without being a tyrant?

        • I would love to have at least one of those fearful devs to handle documentation.

          Could you elaborate a bit on that? Because it kinda sounds like you're a tyrant. Why would anyone welcome fear, without being a tyrant?

          The problem is that there is the other side of the coin to people who spend their whole life documenting and avoiding writing code, that is developers who just churn out tons of code say "hey, i don't need o write documentation as the code is easy to read". The problem with this approach is twofold:

          1) Your are nearly always a poor judge of your own code, in terms of how straightforward it is. Of course, you understand it, you wrote it. It needs to be reviewed and the reviewer should also determine if it nee

    • Re:Experience counts (Score:4, Interesting)

      by Anonymous Coward on Wednesday September 17, 2014 @06:12AM (#47925169)

      I once had a manager ask me to perform a task in a timeframe well short of reasonable. I said "no". He said "with a click of my fingers I can get 5 people just like you who will say yes". I said "go ahead". And ... he didn't. I took the time that the job required, and it worked out OK.

      Sadly, refusing to bite on an unachievable deadline does on occasion lead to threats on your job. At the time, I had no family to look after, no mortgage, very few encumbrances. I felt confident saying "no" because I didn't fear losing my job. Now, I'm not sure I'd be so blasé. I'd probably do what I could, then ask for more time. I'd focus on achieving something visible in the short timeframe I had, to buy that time. At the very least it would give me time to look for another job.

      It's not so often about being afraid to do your job. It's about being afraid of being set up as incompetent when it is not true.

      If it's your job to code and you don't code, then you're not filling the role requirements. But sometimes, refusing to code when coding like fury will not achieve the goal is the better choice. Very often it's the goal that needs to move.

      • Re:Experience counts (Score:5, Interesting)

        by ameen.ross ( 2498000 ) on Wednesday September 17, 2014 @06:47AM (#47925287)

        I have a wife and 2 kids to take care of. I did in fact have to deal with incompetent management. I indicated a number of times to senior management that there were incompetence problems, but was not taken seriously. I've since decided to take the plunge and told senior managment I'd in fact quit my job per october. At that point I hadn't even started to look for a new job yet.
        I might be at risk of being without an income for a month or so, but I couldn't care less about that. I will not be yelled at for deadlines being broken because of mismanagement, or for some obscure bug not uncovered by QA. I'd much rather lose a month of income than putting up with that.

        Of course, I have been without income for months in succession, so I've "been there done that". I also have a strong bargaining position, as the company basically is nothing without me. If they don't do their utmost to make sure I stay (get rid of the incompetent manager, offer a raise, that sorta thing) they will have to hire me as a freelancer or suffer the concequences. But that said, even if they choose the latter, I will enjoy witnessing the company die a painful death from the sidelines. I would never try to squeeze myself through a hole that doesn't fit out of fear of losing my job, even though I have mouths to feed. I'm of the opinion that employees (especially IT workers, as many of us are rather shy) should show some spine and command respect. Of course, the respect you're seeking must be proportional to your actual skills, merit to the company, etc.

        • by Gr8Apes ( 679165 )
          Considering the unemployment rate in our industry, you should never put up with a hostile environment. It is relatively easy to get a job, getting one you might like can take a while. You might have to move, depending on where you live, but that's true of a lot of jobs these days.
        • Wow, you and I did the same exact thing. Start your own freelance IT company, that's what I did. You'd be surprised at how much money you can make, and how nice the clients can be.
        • Of course, the respect you're seeking must be proportional to your actual skills, merit to the company, etc.

          Hmmm.. this is the only statement I find questionable. Everything else I agree with. I think everyone deserves respect. The lowest level employee doesn't deserve to be yelled at for missing deadlines, or having a bug that's missed. That's basic human nature, and you're not entitled to it simply because you're more valuable, it's something all people need. I understand your position, but if the

      • Comment removed based on user account deletion
    • But if you're afraid to do your job, it's because you have a problem with confidence in your own skills. Blaming management for such fears just takes the incompetence you exhibit to a whole new level of blame-gaming.

      Very well said. As I read this summary, I was wondering where this type of "fear" doesn't exist, in any workplace. As a business owner, I have the same sort of concerns, but I dare not fear the result of what the client/management/whatever wants. The best thing that one can do in such a situation, where this type of "fear" exists, is to discuss the things with management prior to doing the work. If they listen, then there's nothing to fear. If they don't listen, it's time to get a new job. Of course I

    • But if you're afraid to do your job, it's because you have a problem with confidence in your own skills. Blaming management for such fears just takes the incompetence you exhibit to a whole new level of blame-gaming.

      Unless it's not just you, but every one of your fellow employees. Then the problem is systematic in that workplace, and thus must be in the system itself.

      The thing is, managers are humans and sometimes have serious issues or even outright mental problems, such as ego too powerful for them to ha

  • by The Evil Atheist ( 2484676 ) on Wednesday September 17, 2014 @05:44AM (#47925067)
    Fear driven development leads to anger driven development. Anger driven development leads to hate driven development. Hate driven development leads to buffering (and security defects).
  • by Chrisq ( 894406 ) on Wednesday September 17, 2014 @05:45AM (#47925075)

    As a software house we were called in many times as a scapegoat, a game we all knew. A project would not be working and have no hope of delivering, so we would be called in. We would then give an estimate for remaining time and be severely berated for it not matching the timescale, but they'd agree to pay for it to be done. We would take full responsibility and the managers would not seem to see anything strange about us having been working on a project for a week (estimating) and in that time got behind by three months. That way nobody was sacked.

    The company programmers themselves did hardly any work. They once had a brilliant young developer who wrote more in three months than their team did in years, before being sacked for delivering code with a bug that caused an outage. The people who survived spent more time covering themselves in case something went wrong tan doing work. For example, I once had a call from a guy who asked "how do you send a block of data to a certain output device". I told him, and years later I saw some code with a comment "IO as specified and recommended by Chris Q of XXX on 03 March 1998", The whole module was covered with comments like this and by the dates it had taken almost a three weeks for this guy to write a program o read a file, and send it in blocks with a maximum length of 256 bytes to an output device with a "continue" flag set for all but the last block. The guy is now in their IT management

    I always warned people never to work for that company!

    • [...] They once had a brilliant young developer who wrote more in three months than their team did in years, before being sacked for delivering code with a bug that caused an outage. [...]

      Please tell me this is an exaggeration. Show me a single developer who hasn't caused an issue of some sorts, in production, and I'll show you a developer that hasn't fully matured yet.

      • by Chrisq ( 894406 )

        [...] They once had a brilliant young developer who wrote more in three months than their team did in years, before being sacked for delivering code with a bug that caused an outage. [...]

        Please tell me this is an exaggeration. Show me a single developer who hasn't caused an issue of some sorts, in production, and I'll show you a developer that hasn't fully matured yet.

        Only slight. He had been given warnings for later delivery previously, and rather than actually being sacked he was told that if he chose to stay he would be held over for pay increases or promotions for two years. And that was a time when two years pay increase would have made a big difference

      • Depends on what you do. I have heard of a person the delivered sql that had no where clause. It quickly choked up all the databases. Slowed all applications enterprise wide. It caused a complete outage in a corporate application the workforce used. Took a few hours to fix during the work day. Of course they were fired. They were lucky they were not sued.
  • So you worked on that project too then?
    Seriously, are some of the fears you mentioned not present in almost every project? My experience is that the more a project goes wrong the more the 'forces' mentioned above tend to make things worse. In that case only strong leadership that holds on to a clear vision and keeps the team away from 'the blame game' is the only way out.
    If not: run. Don't walk away. Run.

  • by Saint Gerbil ( 1155665 ) on Wednesday September 17, 2014 @05:53AM (#47925103)

    As a contractor you don't have a career that loosing your current contract isn't really a big deal. So having FDD you just don't extend your contract in 3 Months.

    I've had plenty of ADD (Asshole Driven Development) I tend not to renew them either.

  • Free market (Score:3, Insightful)

    by Thanshin ( 1188877 ) on Wednesday September 17, 2014 @05:56AM (#47925117)

    If employees stay while working 18-hour/day, 6 day/week, it's because they are unable to find a better job. Thus, they have the best job they can find. So, there is no reason for the corporation to change their ways.

    Therefore, the problem lies not in the current job but in the job offer. Thus, to solve it, the employee needs to find a way to get better offers:
    - Develop new skills/ get new knowledge
    - Switch city/country
    - Self employment

    Solutions based on forcing the current job to become individually better won't usually work as long as the change is local. (A local union, for example, will simply make external corporations more profitable and able to offer a better salary for the same job). Solutions based on forcing ALL corporations to become a better workplace are usually too slow from a personal PoV.

    • Re:Free market (Score:5, Insightful)

      by Princeofcups ( 150855 ) <john@princeofcups.com> on Wednesday September 17, 2014 @10:30AM (#47926737) Homepage

      If employees stay while working 18-hour/day, 6 day/week, it's because they are unable to find a better job.

      That's called blaming the victim.

  • Well (Score:5, Interesting)

    by jaredm1 ( 1620295 ) on Wednesday September 17, 2014 @06:09AM (#47925161)
    Caveat: I speak as a developer, just recently I've been told I should be doing more project management / team leading / mentoring. Everytime I ask a developer how long a piece of code will take I get an answer that I know is ridiculously unrealistic. Most non-techie Project Managers would take a developers 'I can do that in an afternoon' at face value. Instead I've had to have long discussions with my guys so that they begin to think in a way that gives accurate estimates (i.e. accounting for a bit of 'I don't know why this isn't working' and accounting for the fact they may have to refactor a bits of code here and there to make it tidier, etc.). So, now that I'm been on the 'other side' I do understand how estimates can go haywire.
    • Re:Well (Score:4, Insightful)

      by Drethon ( 1445051 ) on Wednesday September 17, 2014 @08:31AM (#47925727)
      For me on the development side when I give an estimate with no accounting for problems along the way the answer is typically, great, here are your hours. When I get an estimate with a realistic estimate of problems that will pop up along the way I'm told, here is a quarter of what you asked for, see how far this gets you. Typically I tend to get less hassle if I ask for the minimum and then ask for more hours as needed (multiple times) with the reason why I need more hours (ex the same reasons I would have given for those hours up front).
  • by sirwired ( 27582 ) on Wednesday September 17, 2014 @06:23AM (#47925201)

    Ask Slashdot: "Aren't most programming projects over-budget, behind-schedule, and eventual failures? Just like countless studies, textbooks, etc. have documented for as long as there has been IT?"

    This isn't some new shocking trend. There was not, in the misty past, some sort of utopia where programmers regularly worked 40-hour weeks, never got laid off, were well-managed, and code shipped on-time, bug-free, and projects never got canceled because of screwups. I'm pretty sure every Software Engineering course ever touches on at least some of this.

    Just about any complex project in any industry has a ludicrously high failure rate. Starting a new business, launching a new consumer product, designing and building massive complex machines, running governments, etc.

    There's always a lot of ways for things to go wrong, and far fewer ways for everything to go right.

    • Ask Slashdot: "Aren't most programming projects over-budget, behind-schedule, and eventual failures? Just like countless studies, textbooks, etc. have documented for as long as there has been IT?"

      This isn't some new shocking trend. There was not, in the misty past, some sort of utopia where programmers regularly worked 40-hour weeks, never got laid off, were well-managed, and code shipped on-time, bug-free, and projects never got canceled because of screwups. I'm pretty sure every Software Engineering course ever touches on at least some of this.

      Just about any complex project in any industry has a ludicrously high failure rate. Starting a new business, launching a new consumer product, designing and building massive complex machines, running governments, etc.

      There's always a lot of ways for things to go wrong, and far fewer ways for everything to go right.

      There was a time when 40-hour weeks were more common, and we got paid "supper money" for exceeding it (being salaried, no actual OT).

      We also had to work fairly hard to get laid off, instead of it being the natural fate of the entire department when the project ended/was terminated. Our pre-existing knowledge of the business was considered a valuable asset, and we were seen as flexible enough to re-assign to other tasks, and even pay for training, instead of pulling in a whole new team who knew nothing about

  • by Gazzonyx ( 982402 ) <scott,lovenberg&gmail,com> on Wednesday September 17, 2014 @06:30AM (#47925223)
    It's ironic, I was literally just reading that blog post.

    I've worked in both environments. Where I currently work we have a daily Scrum (in name only) and we only cover three questions:

    • What did you work on yesterday?
    • What do you plan on working on today?
    • Is there anything blocking you yesterday or today?

    It's a liberating thing. I can literally call someone else out for blocking me, or they can call me out for blocking them. Our manager can say, "I understand you were working on X, Y, or Z yesterday, but Alice, Bob or Carl needs you to work on this today so they can get their stuff done." It's simple, it's effective and it makes the team more coherent and cohesive with nothing more than a 15 minute "stand-up" (we all work remotely on any given day and we do the Scrum via Google Hangouts) at 10 AM. It sets the tone for the day. And it only costs our attention for 15 minutes and willingness to be reasonable with other professionals on our team.

    We don't have:

    • Organizational Fear: You can dial up anyone or schedule a meeting to resolve a problem. If you break the build and no one says anything about it... they can either tell you about it the next daily Scrum, or it isn't a problem for them. Simple as that. You need to talk to someone? Schedule a meeting with them and anyone else that needs to be involved. If you can't make that happen, bring it up at the next daily Scrum.
    • Losing Your Job Fear: We're all paid professionals and are experienced and knowledgeable in our field. Keeping us afraid would only be enough to keep us working, but not enough to keep us innovating and a leader in our field. For more on this, read further.
    • Fear Of Changing Code: Once again, if you have an issue with code, bring it up with the original author of the code or someone familiar with the code base. They won't take it personal (see previous point). If you're afraid of breaking the build, dial up someone and do some pair programming. At worst, you'll check in something that doesn't pass unit tests (or lacking those, code that will not pass code review before it's deployed). You'll feel stupid for at most a full day and you'll survive.

    To be honest, FDD seems like a culture problem more than anything else. You're a professional. Act like it and expect those around, and above, you to act like it. If your culture is so messed up that you suffer from these problems, it's most likely just the tip of the iceberg of the organizational challenges that your company faces.

    "Of course, that's just my opinion; I could be wrong" -- Dennis Miller

    • From my experience: fear usually inhibits creativity. Thus a FDD shop is probably not really innovative.
      This may seem suitable for run of the mill work, even there I wouldn't advise FDD. All your good programmers are going to wise up and get a new job, in a company like Gazzonyx's.

    • My company uses a similar "agile in name only" model and I find it rather terrible. We have the scrum meetings w/ the same three questions. Only, when you're blocked, nobody actually does anything to make sure the person who can un-block you actually does what they need to do to un-block you. Nothing happens if you're working on a feature and it runs longer than it was supposed to, including changing deadline for future commitments. Rather than adjust the schedule to reflect the fact that you were a wee
  • by pla ( 258480 ) on Wednesday September 17, 2014 @06:40AM (#47925255) Journal
    I suspect we've all encountered managers that don't grasp the difference between "managing" and "intimidation". But after your first job out of college, you will discover that you have better things to do with your life than burn the candle at both ends for a crappy job.

    More importantly, the "death-march" style of project management doesn't produce good results. What you describe can't become the norm, simply because any company that uses it will find itself internally paralyzed, completely unable to adapt to a changing market. When individual projects stretch on for longer than the company's strategic plan, the threat of firings doesn't really mean much because none of you will still work there in five years.

    Find a new job today and save your sanity.
    • If you have a deadline, and you can't finish the project within the deadline, you have a problem. If you tell your manager that you can't finish the project within the deadline, your manager has a problem.

      Since managers don't like problems, bad managers try their very hardest to make you not tell them that you are going to miss the deadline. For example, by overriding your estimates. Without realising that overriding someone's estimates doesn't finish the code any faster.
  • Worked at a major software house serving ðe biggest telecom operators all over the world. Ðe company started doing top notch Unix software, even creating its own SQL-like DBMS when Oracle was not good enough. Everyone from ðat era got promoted out of technical oversight over what was produced later, and ðe people who produced software later also got promoted out of technical oversight, so we were left with Microsofties who feared ðe Posix code, did not understand it, and were capa

  • by Ihlosi ( 895663 ) on Wednesday September 17, 2014 @07:33AM (#47925423)
    "Your specifications are 'must not perform worse than the old version', with 'worse' meaning any kind of different behavior."

    I hate this. It's pretty much impossible to test for complete identity with the old product, unless you build an exact copy of the old product (which you no longer can, thanks to RoHS and such).

  • It doesn't matter how much lashing you take from managers, co-workers or senior management. If something is wrong you need to point it out and stand up until it's fixed ( usually meaning you fix it! ). I was a on a project where my boss insisted on outsourcing all the programming to India to save money, it took over a week of arguing with him to make him realize that saving money doesn't make up for quality. I've been on other projects where marketing gets to set the requirements and managers pretty much
  • i've experienced fear driven life.. i think that's a sufficient catchall
  • Fdd isn't a coding thing, it's a shitty-manager thing.

    And that's in every business everywhere.

    I might have said that as coding drops down the labor ladder (ie the margins become tighter, profits less, that such muggy be more common...but at least in my case, some of the tiniest post little companies I worked for had some great managers, and the great wealthy ones had more assholes....So no, I'd guess that it's universal.

  • Lets make some notes about your experience:

    I worked for a large-scale web development project in southeast Asia

    And you don't understand that ridiculous hours and fear driven work style is the norm in this region for many people? Yes, in this region, its not likely to go away anytime soon.

    As far as Scott Hanselman's comments, he's mixing 3 different things into the same umbrella, the first 2 of which are actual things that SLOW development down, not drive it. Only the 3rd is what you're referring to. And really, picking a random dude who blogs a lot and has worked for MS

  • I’d guess that FDX (Fear Driven X) exists in nearly every industry. Google “motivated by fear” or “driven by fear”, and you won't just find a bunch of software development articles. This is a human problem, not an engineering problem.

    Figure out how to stop this type of behavior at a larger scale, and the answer will probably apply to the smaller one.

  • I am an American worker. Fear-driven development is the status quo. Fear-driven work is the status quo. I fear poverty. I fear destitution. I fear being unable to have any time to actually live because the struggle to maintain my continued existence takes all of my time and energy. Getting a new job doesn't help, because I'm still a wage slave. Forming a startup won't save me, because equity doesn't pay the rent.
    • Puh-lease. Your situation isn't as cushy as some places, but it's a damn sight less scary than what folks deal with in developing countries. If you're realistically worried about "destitution" if you lose your job, then you need to start re-training / re-credentialing yourself now so that isn't the case. I might also recommend taking on a supplemental unemployment insurance policy if your state's unemployment benefits aren't very good.
  • by bfwebster ( 90513 ) on Wednesday September 17, 2014 @08:50AM (#47925807) Homepage

    Not to pile on here, but there is nothing new or recent about fear-driven projects of any kind, much less fear-driven IT projects. All you need to do is read some of the classic books on IT project management, including The Psychology of Computer Programming by Jerry Weinberg (1971), The Mythical Man-Month by Fred Brooks (1975), and Death March by Ed Yourdon (1997).

    Back in the early 90s, I was chief software architect for a start-up developing a large, complex and novel commercial software product. After working long hours for years, we had missed our original release date and were struggling to come up with a new date that we could be sure of making. Top management (CEO, CFO) was considering carrot/stick "incentives" to "motivate" the engineering team to make a certain date; one of the senior developers stopped me in a hallway by the engineering offices and asked, "Don't they realize they're dealing with grown-ups back here?"

    P.S. At the risk of sounding like an old fart, I remain appalled at the profound lack of familiarity among far too many IT industry practitioners of the essential books on software engineering and IT project management [bfwa.com]. As I have said ad infinitum and ad nauseum, not only do they keep re-inventing the wheel, they keep reinventing the flat tire.

    • by decsnake ( 6658 )

      ... they keep reinventing the flat tire.

      awesomesauce!

      I am absolutely going to say that in the next meeting I go to

    • by HnT ( 306652 )

      Half way through your post I wanted to scream "It's great we have these books but goddammit, people are STILL making the same mistakes!!!"

  • by Lumpy ( 12016 ) on Wednesday September 17, 2014 @08:56AM (#47925837) Homepage

    Sheeple programmers that dont have the balls to tell their managers. "go fuck yourself"

    Stop letting people roll over you and treat you as a slave. You are the expert, and if you are actually good at what you do you can stand up and say, "no! that is unreasonable"

    • The problem is that *any* IT problem can be solved eventually. And if your colleagues tell their managers that they can do it, where do you stand?

      • by Lumpy ( 12016 )

        Where do you stand? at a better job at a different company.

        you can hide under your desk and hope your master will praise you, or you can demand being treated like a professional and demand the respect and be treated as an employee and not a slave.

  • The opposite of "fear driven development" is a total lack of accountability, excused under the banner of being "agile". Miss a deadline? Who cares! Dragging your feat on a work item that's blocking someone else? Who cares! Break the build because you didn't even run your code a single time before checking it in? Who cares!

    I trust you can see how that sort of environment sucks as well.
  • Have You Experienced Fear Driven Development?

    Is there any other kind?

  • Shops like that end up with a reputation. They work by burning through suckers who haven't heard about them yet. Turnover rate's usually fast and pretty close to 100%, The recruiters for one of the local grind-houses are getting desperate and don't tell you who they're recruiting for until you get to the end of their pitch about the "great opportunity" they have. In the past year I've heard two separate co-workers listen through the whole thing, get to that part and say "Oh, them? No thanks, I'm not interes
  • At least in the US there are countless software/IT jobs because every business relies on software for its continuous existence in some way. Yor may have to downsize and live on lower wages for some time, but you will live.

  • by Shoten ( 260439 ) on Wednesday September 17, 2014 @09:40AM (#47926219)

    From Thoreau, in Walden:

    The mass of men lead lives of quiet desperation. What is called resignation is confirmed desperation. From the desperate city you go into the desperate country, and have to console yourself with the bravery of minks and muskrats. A stereotyped but unconscious despair is concealed even under what are called the games and amusements of mankind. There is no play in them, for this comes after work. But it is a characteristic of wisdom not to do desperate things.

    Based on this, it seems to me that every one of us who has ever been involved in development projects for any significant amount of time has encountered fear as a major force in one or more projects. For that matter, I'd say we've all encountered it as a force in many things we've been a part of.

  • It's not fear driven development. It's incompetent, obsolete management.

  • I once used a word-processor that accidentally opened a pop-up saying:
    "Help! I'm being held in an office in Seattle. Please contact the police!"

  • Intentionally used.

    It happens when someone in management or preliminary design fucks up in the early conceptual stage. So fear and panic are used to keep everyone's head down instead of looking around, asking who made these shitty design decisions.

  • Fear has been effectively used to manipulate and manage humans since before recorded history. It has marshalled armies, driven religious conversions, mass exodus, and chilling human sacrifice. How would you imagine so effective a tool might be abandoned by those who would control their fellow man, for their own gain? Every day we are pummelled with fear-driven political ads and "news" broadcasts. Even our parents use fear to manage their upstart offspring. Fear as a tool of control is, I fear, here to stay.
  • I left development when I saw what you call FDD be used in SCRUM.

    I have recently after 3 years sabbatical started my first commercial development project. It will be a web based database and system manager. I have spent many hours researching the right tools and designing the right database scheme for the entire system. I have begun designing the goals of each sprint while setting realistic expectations for each developer.

    Once the project is started, we will employ SCRUM in a modified form. Test driven deve
  • I worked for a video game company where the new manager ran the QA department like a personal dictatorship. You were either with him or against him. He came down hard on me because I documented EVERYTHING as a lead tester. The previous manager nearly got fired because I documented his decisions that caused two of my projects to implode, and got "promoted" to associate producer to the corporate office in NYC. The new manager didn't want me to document any of his actions (most of which would cause heartburn f

One way to make your old car run better is to look up the price of a new model.

Working...