Slashdot Mirror


Ask Slashdot: Have You Experienced Fear Driven Development?

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?

232 comments

  1. Wow... by DoofusOfDeath · · Score: 5, Insightful

    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.

    1. Re:Wow... by MadKeithV · · Score: 5, Insightful

      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.

    2. Re:Wow... by Z00L00K · · Score: 3, Insightful

      And you still forget Management by Confusion.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    3. Re:Wow... by Anonymous Coward · · Score: 0

      Yes STD is here to stay. It is for everyone, not just for a few. So get back in there and take your STD like a man.

    4. Re:Wow... by Anonymous Coward · · Score: 0

      IMHO, AGILE development tends to encourage that sort of behaviour. It is also poor at preventing marketing from feature stuffing a product when beginning an update to an existing project or a new project. There is only so much work that can be done. Unfortunately, when the people who decide that all features are must-have, also have no freaking idea of how long it _really_ takes to reproduce in production-ready code.

      Agile is a pretty toy for small things. Once a project becomes very large, the process kills itself via overeating.

    5. Re:Wow... by coofercat · · Score: 3, Insightful

      ...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".

    6. Re:Wow... by Unknown74 · · Score: 1

      I completely agree with DoD. This is NOT a new trend....I left such a place almost two years ago. It was FDD plus liberal amounts of intimidation by a certain senior engineer, who thought his way was the only way to do things. When you identify an FDD shop - in the words of Commander Keen, avoid, avoid, avoid!!

    7. Re:Wow... by SQLGuru · · Score: 4, Interesting

      Agile itself has a process for this (marketing can request all of the features they want, stack rank them, and pull into the sprint what can be done in the sprint --- keep working on the project until the budget is gone or everyone agrees it's complete). However, most people doing "Agile" aren't really doing Agile......they're doing more of an iterative-waterfall with the overhead of certain Agile processes. I've worked at places that do both and where they followed a truer Agile process, they got more done and the staff was less stressed.

    8. Re:Wow... by Anonymous Coward · · Score: 4, Interesting

      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.

    9. Re:Wow... by knightghost · · Score: 2, Interesting

      A good Waterfall approach gets 4x more done than any version of Agile - on a complex project that can be understood well enough to design before most coding. Agile is good for reporting and projects where a client just wants to throw money to "get somewhere" but really don't know what they want.

      Agile is not a development method. It's a client control method. The client (business) sees something tangible and imagines that they can follow along and have some control. It's mostly an illusion, as is most management.

      The actual development methods to make Agile successful (at least from a technical perspective) are Regression Testing and Code Refactoring. Most Agile projects that fail are because of one or both of those areas failed.

      As for FDD... standard on the east coast USA and many other parts of the world. It works for unthinking peons but utterly fails for jobs that require imagination.

    10. Re: Wow... by Anonymous Coward · · Score: 2, Funny

      Here's a conversation I had two years ago, before quitting my job:

      Boss: we're doing agile from now on. We'll be using Scrum.

      Me: That's great! So we're doing one month sprints with provisional specs, and fine tuning the design as we go? Who are we working with on the user side?

      Him: No, you don't understand. They're not going to be involved at that point. They're signing off on a hard spec, then we'll take over and do Scrum with it. You'll understand when you go for the training.

      Me: Wait. There's a hard spec?

      Him: yes.

      Me: and it can't be updated once they sign off on it?

      Him: yes. (Beams with pride.)

      Me: and we're going to build to their spec, exactly, with no deviations?

      Him: yes!

      Me: that is not Scrum. It's waterfall.

      Him: no, you're wrong. We're using Microsoft Scrum management software, it's Scrum. You'll understand once you've had the training.

      Me: I understand now. You keep using thst word, "agile", but I don't think it means what you think it means.

      Him: (annoyed stare.)

    11. Re:Wow... by ultranova · · Score: 1

      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 collectively, but of course that requires giving up the cherished illusions of being able to make it on your own.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    12. Re: Wow... by Anonymous Coward · · Score: 0

      Oh fuck this is awesome. Oh how I wish I could figure out how to apply such an experience into my fsckng career. I hate Agile with the passion of 1000 burning suns; which means even more than I hate The Oracle Corporation.

    13. Re:Wow... by Anonymous Coward · · Score: 0

      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.

      I have been running a very busy custom development shop for a large bio-tech for the 3+ years. When I started, all the big custom development service providers we use: Cognizant, Deloitte, Slalom, Microsoft, etc., all use "Agile (make shit up as they go)' approaches and FDD to achieve the dates... it was terrible in all ways. If one were a cynical type, one might say it was entirely by design by the development services providers to trap the business in a constant, never-ending development cycle that bleeds budgets dry.

      1) The end-product was inferior (almost never fully meeting business objectives) and we were in constant post-production clean-up mode
      2) Aggregate spend for projects when considering post-production clean-up, overtime, etc., was outrageous.
      3) Developers got burned out and quit (work-life balance was terrible).
      4) Business customers were pissed about what they got for what they paid, along with the fact that they had to be constantly be involved in "corrections" to the application
      5) Infrastructure groups (Security, Platform Admins, etc.) were pissed about all the troubleshooting and late nights poor development causes them.

        We have been working diligently to correct the insanity since I arrived and have basically eradicated the FDD behaviors. And things have improved dramtiacally! There was no silver bullet, just good old-fashioned in-depth requirements analysis, documentation, quality design, planning, code reviews, QA testing, scripted deployments, etc....

      Classics approaches are classics for a reason... THERE ARE NOT SHORTCUTS TO GOOD SOFTWARE!

    14. Re:Wow... by Anonymous Coward · · Score: 0

      This. I was thinking the trend was going in the other direction, but that's just my experience.

      My first encounter with FDD was an investment company in Boston. We were a small shop where each developer owned an App used by the business. I was working late one day when all hell broke loose. One of the Apps broke, blocking millions in trades and the Dev owner wasn't there, so I went down to help. As I was trying to find out what I could do, some VP stood at my shoulder screaming over everyone I was trying to talk to - I'm not sure how I didn't get fired for ignoring him. Then the idiots tried feeding their corrupted data through my App and of course it broke so now VP thought he had a reason to yell at me ... until one of the guys got up the courage to say it would have processed trades two orders of magnitude too high and really screwed us over.

      tldr; VP screamed at me for working late and trying to help the team above and beyond my responsibility

    15. Re:Wow... by CastrTroy · · Score: 1

      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 attempt such a task today

      The same goes for programming. There are a lot more people who own computers, but very few of them actually know how to program them. And of the people who can "program" them, for many their knowledge does not extend beyond writing a simple PHP page.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    16. Re:Wow... by ultranova · · Score: 1

      As for FDD... standard on the east coast USA and many other parts of the world. It works for unthinking peons but utterly fails for jobs that require imagination.

      If you treat your employees like unthinking peons, they will respond by behaving like that - and that means turning a blind eye towards the innumerable small irregularities and problems a workforce that doesn't actively hate you could easily correct before they have a noticeable effect on production. That is the difference between workplaces where everything seems to work as if by magic and one that does a passable impression of being haunted by an evil spirit because it is, specifically yours.

      There are no jobs that don't benefit from thinking about how it fits to the bigger picture.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    17. Re:Wow... by plopez · · Score: 2

      And Faith Based QA.

      --
      putting the 'B' in LGBTQ+
    18. Re:Wow... by Anonymous Coward · · Score: 0

      The actual development methods to make Agile successful (at least from a technical perspective) are Regression Testing and Code Refactoring. Most Agile projects that fail are because of one or both of those areas failed.

      Most of the ones I see fail are because they try to jam waterfall into it. They quickly decide 'skip ranking stories' then they skip costing it out as 'they already did that months ago'. Then they skip testing 'as the developers can test each others code' with no extra time for the dev to do that. They usually fail for the same reasons waterfall fails. Because they do not do the up front work. As it is a boring slog.

      Almost *ALL* processes work including waterfall and agile. Where they fail is because people get bored and start skipping steps. Skip the steps and you break your cadence and you are then screwed.

      Waterfall usually suffers from coasting for months with no changes to timelines as business goals change.
      Agile usually suffers from people getting tired of the same old slog and start trying to put waterfall like process back into it.

    19. Re:Wow... by LordWabbit2 · · Score: 1

      Or "the system is unstable and keeps breaking, massage the data to get it working again, we don't have the source code anymore and to rewrite it will take too much money/time". Some days I feel more like a goddamn dba than a programmer.

      --
      There are three kinds of falsehood: the first is a 'fib,' the second is a downright lie, and the third is statistics.
    20. Re:Wow... by Anonymous Coward · · Score: 0

      ... and TDD - Testosterone Driven Development

    21. Re: Wow... by Anonymous Coward · · Score: 0

      What most managers take out of Scrum is two week deliverables and a status meeting every morning. Everything else gets tossed.

    22. Re:Wow... by flargleblarg · · Score: 1

      A good Waterfall approach gets 4x more done than any version of Agile

      Citation needed

    23. Re:Wow... by aminorex · · Score: 1

      In my experience, teams with south asian ex-pat managers are always FDD, always have massive cost overruns, and always have massive attrition.

      --
      -I like my women like I like my tea: green-
    24. Re:Wow... by aminorex · · Score: 2

      that actually works.

      --
      -I like my women like I like my tea: green-
    25. Re:Wow... by JohnFen · · Score: 1

      most people doing "Agile" aren't really doing Agile......they're doing more of an iterative-waterfall with the overhead of certain Agile processes.

      I always hear this from Agile proponents, and maybe it's true. All I know is that I've worked at four places that use Agile (three of them had been using it for a long enough time that they aren't new at it), and in all four of those it has made development a living hell, delayed production, and reduced the quality of the end product. It amplifies the fear factor, not reduces it.

      The place I work for now is in the process of adopting Agile, and so far it's going about as well as I've experienced before. In fact, it's inspired me to move on to a different company.

    26. Re:Wow... by arglebargle_xiv · · Score: 1

      I've never had to work in a truly dysfunctional shop,

      You really need to distinguish between cases where this is endemic and where it's caused by certain individuals. The linked article 10 Sure Shot Ways to Lose Your Team describes at least some behavioural traits that would correspond to one of the group of personality disorders for which the people who exhibit them are popularly referred to as sociopaths, and in their more extreme forms, psychopaths (unfortunately Hollywood has pretty much mangled most people's understanding of what that really means). This is why some companies specifically screen any management-level interviewees for psychopathic tendencies, they may appear to be (that is, create the illusion of being) effective managers, but they're actually very destructive to the company in the long term.

    27. Re:Wow... by david_thornley · · Score: 1

      For the companies that screen for psychopathic tendencies for managers, how many screen out psychopathy and how many screen out non-psychopathy?

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    28. Re:Wow... by david_thornley · · Score: 1

      That looks like a political issue. When Development has sufficient respect, it can insist on the fact that there is a limited amount of time available until a specified deadline, and force stakeholders to prioritize. ("The wibble feature you asked for will add about X sprints to the project. Should we push back the deadline, or drop other things you've asked for?" approach works if the stakeholders either know Development is doing their best or Development has a bit of clout over its own operations.) It has nothing to do with doing up-front work or not doing up-front work.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    29. Re: Wow... by david_thornley · · Score: 1

      Actually, you can use some Agile techniques even with a rigid spec, and no rigid spec I've seen has everything nailed down (except for "specs" that are simply programs written in a non-compilable language). Note: my belief in rigid unchanging specs in general development comes somewhere between my belief in unicorn raising by Bigfoot and my belief that alien spaceships visit Earth now and then.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    30. Re:Wow... by david_thornley · · Score: 1

      If a company I was working at pulled the felony-charge threat, I'd put finding another job as top priority, and in the meantime I'd be pretty much useless. ("Have you found where the problem is?" "No, not yet" is then the proper answer if it's a hardware problem).

      I have never had to work at a company like that, and I'm in the US. I've worked at ones I disliked, and ones that got fast and loose and somewhat dishonest at severance time, but I've always had alternatives. Why don't you?

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    31. Re:Wow... by arglebargle_xiv · · Score: 1

      For the companies that screen for psychopathic tendencies for managers, how many screen out psychopathy and how many screen out non-psychopathy?

      Why would you screen out non-psychopathy? Any company clueful enough to be aware of this problem certainly isn't going to want to hire managers with psychopathic (strictly speaking, antisocial personality disorder and related disorders) tendencies.

    32. Re:Wow... by Ihlosi · · Score: 1
      Why would you screen out non-psychopathy?

      Managers with antisocial personality disorder can deliver impressive short-term results. This happens at the cost of long-term results, but since when did shareholders ever care about those?

    33. Re:Wow... by arglebargle_xiv · · Score: 1

      Managers with antisocial personality disorder can deliver impressive short-term results. This happens at the cost of long-term results, but since when did shareholders ever care about those?

      Ah, OK. I'm guessing it would also depend on the degree, since it's not black-and-white, someone with a score of 10-15 on the Hare Checklist (PCL-R) would probably be an effective (if perhaps not very popular, depending on how high-functioning they are) manager, but once you're getting into the 20+ range you're asking for trouble. Mind you that would also depend on the job, in the financial industry (banking, share trading) a 20-25 or more would probably just make you one of the gang, while a manager in the services industry with that score... shudder.

  2. Fear of changing code.... by justaguy516 · · Score: 5, Insightful

    [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.

    1. Re:Fear of changing code.... by jonwil · · Score: 5, Interesting

      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.

    2. Re:Fear of changing code.... by rioki · · Score: 3, Insightful

      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..."

    3. Re:Fear of changing code.... by MadKeithV · · Score: 5, Insightful

      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".

    4. Re:Fear of changing code.... by Anonymous Coward · · Score: 0, Troll

      > 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"

      Nonsense like this is why we don't allow idiots like you to check in new code without process and code review. You're the mechanic who says "hey, I didn't touch your paint job, it doesn't matter that I replaced your speakers and replaced your battery, drained the air conditioner fluid, and replaced your generator with 3 gerbils in a habitrail".

    5. Re:Fear of changing code.... by Gazzonyx · · Score: 1

      [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.

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    6. Re:Fear of changing code.... by rioki · · Score: 4, Insightful

      No it compares to: You told(1) me to inflate the front left tire, but the tire was worn and had a hole, so I needed to change the two front tires. You should also consider changing the back tires and the brake pads look worn, but it's your car.

      (1) "I don't care how, make it work!"

      I am a lead developer and bill against two accounts when developing (a third account when I tell people what they should do). I resolve the issue by simply looking at why I started working on something. Did I start working because bug or performance issue forced me to improve the bit (maintenance) or did I start adapting a piece of code because of a feature request (new development). By keeping the "boy scout mentality" (leave the code in better shape than you found it) my peers and I are able to keep a body of software running that was originally written in 1993. Just because you are slightly bending accounting nitpicking does not mean you go gung ho hacking though the code. By the way we are going to release V8.1 next month.

    7. Re:Fear of changing code.... by Anonymous Coward · · Score: 0

      Doing the minimum in fear based work environments is the norm. Most people don't have the morale do to anything more than the minimum to stay out of trouble. Compound that with the fact that the first people forced out are usually the independently driven, creative, and competent workers, especially the ones with a knack for keeping groups working together and projects on track.

      The Machiavellian management in such toxic work environments quickly identifies such people as a threat to their hegemony and singles them out. The preferred methods seem to be mobbing, harassment, and holding such people to near-impossible standards, the later so that if anyone actually looks into what is going on, they can use their contrived disciplinary record and alluded psychological state as an excuse.

    8. Re:Fear of changing code.... by justaguy516 · · Score: 1

      That may be, but there are other issues as well. As a tech lead, I frequently hear from a developer, "for feature X, we can either create a brand new state machine, or add to that for existing feature Y; its not too big a deal." Which we finally do also depends on my judgement of this person's capability to make changes to the code-base (it can break a new guy's confidence to be given something too big for him/her to chew, even if they volunteered for it), how much additional testing (regression testing) will be required, whether I need to tell the customer or not (I work in communications software and we can barely test 50% of our feature set in the lab; there are always things happening in the field we don't anticipate).

      If we write a new state machine, there may be subtle things that the old state machine handled, which we haven't thought of. On the other hand, if we modify the existing state machine, we may break existing stuff. In either case there is a chance of getting it wrong, but fear causes you to suspend judgement and replace it by paranoia or wishful thinking. Worse, your developers get infected by the same fear and start suspending their judgement.

    9. Re:Fear of changing code.... by Drethon · · Score: 2

      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.

    10. Re:Fear of changing code.... by Anonymous Coward · · Score: 0

      ...And they're in different shared libraries with the same function name and your dlopen() order determines which one you get today, except the one defined in *this* source file is preferred over the one everyone else gets. Let's not forget some instances of the function use statics defined per file instead of globals and the developer-users expect them to affect each other's values. The best is when somebody changes the argument type ever so slightly (say, off_t with and without -D_FILE_OFFSET_BITS=64).
      Code standard, what's that? Welcome to the last 6 months of my life.

    11. Re:Fear of changing code.... by SomeoneFromBelgium · · Score: 1

      No it compares to: You [...]

      No No NO! Nothing compares to you. NOTHING!

    12. Re:Fear of changing code.... by ZombieBraintrust · · Score: 1

      How do you revert 10,000 employees not being able to do thier job for 8 hours becasue someone pushed untested sql to production? Fear of changing code is countered by testing. If you know your changes are going to be tested there is nothing to fear. If your not testing then your going to fear changes to code.

    13. Re:Fear of changing code.... by Anonymous Coward · · Score: 0

      Woop-dee-do.

    14. Re:Fear of changing code.... by BronsCon · · Score: 3, Funny

      You mean version 9?

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    15. Re:Fear of changing code.... by worf_mo · · Score: 2

      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..."

      I work on FDA-relevant software for production lines; any change brings a whole series of extra work with it. Some changes require the production line in question to be taken offline for one or multiple days so that proper testing can be done, QA can have their word, an official validation can be performed, a maintenance crew can check whether hardware and software still work together as expected and so on. While not rocket-science and certainly feasible, cleaning up code in absence of problems/bugs is usually frowned upon when production lines are supposed to be active 24/7 and maintenance windows are rare. The cost of maintenance is not only that of the developer/engineer writing the code. Factor in man-hours from other departments like documentation, validation, proper testing, and - most of all - the cost of taking a productive equipment offline for some serious time, and you might see that "we don't have the budget for maintenance" is not alway a lame excuse.

    16. Re:Fear of changing code.... by Coffeesloth · · Score: 1

      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".

      IMO, developers know there isn't a difference but management does not.

    17. Re:Fear of changing code.... by Anonymous Coward · · Score: 0


      I work on FDA-relevant software for production lines;

      Most of us don't work in an industry where a mistake could literally kill someone. I'm not sure what the right solution is for medical devices, but I'd expect it's different than the rest of us since the cost of failures is MUCH higher, so the caution level as well as the "spread the blame around" level is far higher.

      So while your experience is interesting, it doesn't really apply to the rest of us where a minor failure might inconvenience someone, not kill them.

    18. Re:Fear of changing code.... by swillden · · Score: 1

      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".

      IMO, developers know there isn't a difference but management does not.

      Does management review the diffs?

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    19. Re:Fear of changing code.... by rioki · · Score: 1

      No that version is stated for beginning of 2016 and I am not working for Microsoft.

    20. Re:Fear of changing code.... by rioki · · Score: 1

      Funny that our software is used to engineer and operate FDA approved production lines. Food & Beverage and Medical are harmless in comparison to continuous Chemical. If a contentious chemical plant fails, you don't just have loss of production, you may need to scrap part of the installation. With some processes the reaction happens in the piping and the material may harden in the pipe requiring the replacement of said piping. Not to mention the operation and control of nuclear reactors.

      But since we build the engineering and run-time software for industrial installations, we are decoupled from their narrow and seldom maintenance windows. Nevertheless there is little margin for error. I would rather have a body of software that is properly maintained than a collection of band aid. (Some bits actually are in that state.) To counter that we normally have a ratio of 1-1 developers to testers and in cases of major versions 1-2. Just because I gloss over the budget allocations of new development (80%) vs. maintenance (20%) does not mean we are not committed to quality. Rather the opposite, cleaning up code so a feature fits better in the total architecture is right thing (tm) to do than to try to wedge a the square into a round hole.

      But my point stands "we don't have the budget for maintenance" is a lame excuse. Either the maintenance is important and it will be done or it is not and then the developer needs to get his priorities adjusted with the business requirements. Actually "we don't have budget for X" within company that make billions of revenue always a lame excuse. If it is important it will be done, regardless of budget allocation; if not... well then it is not important.

    21. Re:Fear of changing code.... by Ihlosi · · Score: 1
      Food & Beverage and Medical are harmless in comparison to continuous Chemical. If a contentious chemical plant fails, you don't just have loss of production, you may need to scrap part of the installation.

      Yes, um, killing people by zapping them with too much ionizing radiation is "harmless" compared to having to scrap large pieces of machinery.

      And "not killing our customers" isn't a business case if you don't kill too many of them.

    22. Re:Fear of changing code.... by eric_harris_76 · · Score: 1

      A nice turn of phrase: "extremely interesting failure scenarios".

      --
      There's no time like the present. Well, the past used to be.
    23. Re:Fear of changing code.... by rioki · · Score: 1

      The "harmless" was in relation of the effort and care needed to take case of failures. I know of no food production lines that can not be put in emergency stop. The same is with medical, at most they operate a batch process and in the worst case they need to inject a stopping agent and loose one reactor. The difference with chemical plants or power plants is that there is no "emergency stop". You need to continue operation in the case of a fault and try to slowly get it to a safe state. The alternative is basically "BOOM".

  3. TDD FDD by Anonymous Coward · · Score: 0

    Having some experience with both FDD and TDD, I can attest that test driven culture where automated testing is fully integrated into the dev process pretty much addresses all three of your conditions.

  4. Exploitation of Ethics and Morals by Anonymous Coward · · Score: 1

    This topic is basically just an open invite to bitch but I'll bite. I worked for an asian defence contractor and they basically used "fear driven development". They exploited our ethics and morality because they knew we wouldn't compromise on quality assurance and reliability because it would end up killing or maiming people, so they pushed us as hard as they wanted when it came to hours, requirements and deadlines.

  5. Typical manipulation by ortiooo · · Score: 1

    Typical urgency-based development. Unfortunately it is a very common manipulation mechanism at the workplace. Here's a thorough article just about it http://outofscopeexception.wor...

  6. 3rd world by goarilla · · Score: 5, Insightful

    The only thing I will say is that emerging economies need Unions !
    This machiavellian style of management is akin to slave labor.

    1. Re:3rd world by Anonymous Coward · · Score: 1

      Says the third world anonimous coward.

    2. Re:3rd world by PolygamousRanchKid+ · · Score: 0

      So you end up with replacing Machiavellian Managers . . . with Machiavellian Union Bosses . . .

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    3. Re:3rd world by goarilla · · Score: 2, Insightful

      Democracy Yuk. You end up with replacing machiavellian dictators with machiavellian (popular) politicians.
      But as long as the union bosses stand up for their members then yes a little fight fire with fire is acceptable.

    4. Re:3rd world by Anonymous Coward · · Score: 1

      "But as long as the union bosses stand up for their members"
      HAHAHAHA so naive that it is almost cute.

    5. Re:3rd world by goarilla · · Score: 4, Insightful

      I'm a European, we've had fairly decent unions over here.
      That your unions were run by maffia front-man for decades reflects on them personally
      not on unions as a concept. I accept that you're skeptic.
      But somebody (unions, governement) does need to reach for and uphold a decent quality of living and good working conditions are crucial to that.

    6. Re:3rd world by Anonymous Coward · · Score: 0

      "I'm a European"
      Yes it shows.

      That unions can work in a country where most people have jobs and everyone is educated is not what is at dispute here.
      What is at dispute is your contention that the same thing is a good idea for the third world, which shows a fundemental lack of understanding for how things work in the third world and the problems we face.

      Huge percentage unemployment, mass uneducation, what this creates is a breeding ground of desperate people who will believe what ever they will tell, this inevitably leads to union bosses who tell people exactly what they want to here and then exploit them for their own political power. The end result is a disaster.

      Let us get to a point where most of our people have jobs, and then we can discuss more unions, until then unions are just yet another problem keeping us back in the dark ages.

    7. Re:3rd world by dcw3 · · Score: 1

      Says the third world anonimous coward.

      Oh the irony.

      --
      Just another day in Paradise
    8. Re:3rd world by Anonymous Coward · · Score: 0

      Doesn't a significant portion of the EU have, like, MASSIVE unemployment?

      I'm talkin' over 25%.

      I don't think that unions cause unemployment, or prevent it.

      However, when you have unemployment figures like that, companies tend to do everything they can to take advantage of the situation (i.e. enslave their employees), so unions could be extremely helpful.

      Disclaimer: I'm not a huge fan of unions in the US East Coast, where they are little better than gangsters.

    9. Re:3rd world by goarilla · · Score: 3, Insightful

      Let us get to a point where most of our people have jobs, and then we can discuss more unions, until then unions are just yet another problem keeping us back in the dark ages.

      And you believe that disbanding the unions will make everyone happily employed
      In the midst of the Industrial Revolution we were in exactly the same position you are now
      And it took unions and other righteous men to break the situation.
      There has actually been a movie about this situation http://www.imdb.com/title/tt01.... See it and learn from it before you call me ignorant and pompuos.

    10. Re:3rd world by PolygamousRanchKid+ · · Score: 1

      I'm a European,

      Monty Python: "African European Swallow or European European Swallow . . . ? "

      In the case of Germany, I would tend to agree with you. The German unions try to reach a reasonable consensus with management which is acceptable to all parties involved.

      In the case of France, I would tend to disagree with you. They kidnap company executives, and generally make the place appear toxic for business.

      The French rail workers' unions have a simple rule when to strike: Whenever I am in France. Normal Slashdot Dogma states that correlation does not equal causation, but in the case of French rail workers . . . I just need to get near the French border, and a strike will break out.

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    11. Re:3rd world by goarilla · · Score: 1

      In the case of France, I would tend to disagree with you. They kidnap company executives, and generally make the place appear toxic for business. The French rail workers' unions have a simple rule when to strike: Whenever I am in France. Normal Slashdot Dogma states that correlation does not equal causation, but in the case of French rail workers . . . I just need to get near the French border, and a strike will break out.

      Hehehe, true. Same here in Belgium. There needs to be a balance on both sides.
      And these national rail unions as it is have too much leverage. Being able to
      disrupt public transport is immense power and they do abuse it.

    12. Re:3rd world by Salgat · · Score: 1

      Unions are great but they do not fix managers who are abusive and can't properly run a project. Unions mainly make sure you are guaranteed certain hours including how overtime is handled and protect your job from being done by others not in your same position.

  7. Experience counts by msobkow · · Score: 4, Interesting

    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.

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:Experience counts by qbast · · Score: 1

      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.

    2. Re:Experience counts by Anonymous Coward · · Score: 4, Interesting

      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.

    3. Re:Experience counts by ameen.ross · · Score: 4, Interesting

      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.

      --
      $(echo cm0gLXJmIC8= | base64 --decode)
    4. Re:Experience counts by Gr8Apes · · Score: 2

      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.

      --
      The cesspool just got a check and balance.
    5. Re:Experience counts by BringsApples · · Score: 1

      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 say that sitting here at my house in America. In Asia I know that there's probably a more competitive job market, and it may not be so easy to just quit your job. But when you start to look for a new job, it tends to lessen the worries while at the shitty job. Just one man's opinion.

      --
      Politics; n. : A religion whereby man is god.
    6. Re:Experience counts by BringsApples · · Score: 1

      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?

      --
      Politics; n. : A religion whereby man is god.
    7. Re:Experience counts by Anonymous Coward · · Score: 1

      Respectfully, I'll disagree. In one of my jobs, I spent more time on documentation than coding, not because I want to, but because I had to.

      In short, the people who owned the code did nothing to document or share information, instead insisting upon "conversations" to solve everything. Perhaps that made people feed good, but 10 seconds after any meeting and ideas of the solution diverged quickly.

      I've gotten tons of flak from my peers for writing things down, saying that I wasn't smart enough to comprehend their perfect work. But at the end of the day, I could explain to others how things worked, and about the pain points that existed, and that gave my non-diva peers and management more confidence in my abilities.

    8. Re:Experience counts by BringsApples · · Score: 1

      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.

      --
      Politics; n. : A religion whereby man is god.
    9. Re:Experience counts by Ash+Vince · · Score: 2

      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 needs any additional documentation. Also, big pieces of work should actually be designed beforehand, at least in broad strokes, and the design should be included in the documentation and kept up to date with any changes during implementation.

      2) It requires someone to look at the code in depth to understand what bits they need to change if any future amends are required. You should always be aiming to write code that is as straight forward as possible for a developer who is new to the project to pick up. A large part of that is making sure they can start looking at the right bit of code they need to change when given a project easily without it taking up your, or another developers time. If you give them a head start by having things like design diagrams, database schema and other documentation then your team becomes more productive as a result, even as people rotate into and out of it.

      Having someone who loves writing documentation of your team can be very valuable if the documentation they produce is good.

      (Disclaimer: I hate writing docs, if someone else wants to do it for me and the docs they produce are half decent I will cover for them and say how great they are to management. If I don't have anyone like that on my team I just slog through them bitching about how much I hate documenting stuff, even though I know it needs doing)

      --
      I dont read /. to RTFA, I read /. to offend people in ignorance.
    10. Re:Experience counts by Ash-Fox · · Score: 1

      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.

      I have encountered similar issues, except, I get the person to sign off on the risk before doing it. So, if it fails, it's on their head for doing a bad estimation, not mine since I raised the risk.

      I do admit, sometimes it can be hard to get people to sign off, so CC'ing stakeholders in follow up e-mails usually helps.

      --
      Change is certain; progress is not obligatory.
    11. Re:Experience counts by ultranova · · Score: 1

      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 handle. And sometimes they're simply afraid of their superiors. Competence only matters in a healthy organization where everyone is trying to meet its goals; in an ill one they concentrate on covering their ass, not just against mistakes but also against backstabbing.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    12. Re:Experience counts by Vellmont · · Score: 2

      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 only way you can gain "respect" is through fear (fear you'll leave), that's still an indication of a sick organization.

      Long term, you should still leave if everyone doesn't deserve respect, not just "valuable" people.

      --
      AccountKiller
    13. Re:Experience counts by kammermusik · · Score: 0

      Of course, you understand it, you wrote it.

      Not necessarily. Haven't you ever found yourself in the situation that you're reading through a piece of code you have written yourself and you just can't figure out what you were thinking back then when you wrote it? If not – lucky you! I have. And I know many other coders have. I hate citing xkcd but this strip nails it: Future self. Documentation is not only good for newbies or colleagues, but also for yourself. As soon as I realized that, I started writing much more meaningful function descriptions (doxygen) and comments. I frequently have to analyze strange program behavior or crashes and I always hate it having to read through a whole function to see and understand what it is doing (because just assuming it does something by reading just it's name hardly ever is enough). A brief explanation would be such a time saver! Coders re-stating that 'good' code documents itself so there's no need for additional documentation, in my opinion, are either short-sighted or antisocial (i.e. no team players). Either way, I disagree with them heavily.

    14. Re:Experience counts by ameen.ross · · Score: 1

      I'm not sure if respect is the right word, but I'll explain what I mean with an anecdote.

      One of the issues we had is that a newly hired dev (a friend of the incompetent manager) would not push his code to Github in a timely manner, rather he would keep his code on his machine for a week or even 2 weeks. This resulted in the rest of the team not knowing what the hell he was up to, and also in unnecessary huge merge commits. I wrote down my concern in an email and sent it to the entire team. No reply, no action taken. So I then raised it with senior management along with some other issues. "I'll look into it."
      Next time we talked about it, turns out he asked the incompetent manager about it, and his response was that my concern was "exaggerated" and even a "non-issue", and they decided the idiot manager was right and sided with him. I pointed out that I've been with the company for far longer, I've already proven my worth and we've built up trust and a good relationship, and the same cannot be said about that manager. No budge.

      There was no rational explanation why they sided with the idiot manager. He just has big talk, and I suppose that makes senior management "respect" him somehow. That is the "more respect than a person deserves" thing I was trying to illustrate and that's the thing that you should beware of. If you start talking big yourself and cannot substantiate it, you're no better than the idiot manager.

      --
      $(echo cm0gLXJmIC8= | base64 --decode)
    15. Re:Experience counts by Vellmont · · Score: 1

      I think you said the words you're talking about in your anecdote. Worth and trust. Both those are earned, and can be over-valued. The developer in question shouldn't be trusted.

      --
      AccountKiller
  8. Re:TDD FDD by BiggerIsBetter · · Score: 1

    Having some experience with both FDD and TDD, I can attest that test driven culture where automated testing is fully integrated into the dev process pretty much addresses all three of your conditions.

    Or combine them. I've seen amazing things happen when the developers are fearful of the testers.

    --
    Forget thrust, drag, lift and weight. Airplanes fly because of money.
  9. What does fear driven development lead to? by The+Evil+Atheist · · Score: 5, Funny

    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).

    --
    Those who do not learn from commit history are doomed to regress it.
    1. Re:What does fear driven development lead to? by SomeoneFromBelgium · · Score: 5, Funny

      The dark side of the source they are...
      Once you go down that development path, forever will it dominate your release destiny.

    2. Re:What does fear driven development lead to? by Anonymous Coward · · Score: 1

      "The dark side of the source" is a great name for a book that focuses on programming outside of academia.
      The things that happens with code when the problem that should be solved is a real world problem with real world use-cases that involves special cases.
      All those things that makes everyone think that other peoples code is bad until they have re-factored it and learned why the code wasn't neatly isolated and followed a clean path.

  10. I've seen a place like that by Chrisq · · Score: 4, Interesting

    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!

    1. Re:I've seen a place like that by Gazzonyx · · Score: 1

      [...] 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.

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    2. Re:I've seen a place like that by Chrisq · · Score: 1

      [...] 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

    3. Re:I've seen a place like that by ZombieBraintrust · · Score: 1

      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.

    4. Re:I've seen a place like that by Anonymous Coward · · Score: 0

      Hey, I think I know this company...

    5. Re:I've seen a place like that by Anonymous Coward · · Score: 0

      I have heard of a person the delivered sql that had no where clause. It quickly choked up all the databases.

      Could have been worse. They could have done it on an "INSERT" or "DELETE" rather than a "SELECT".

    6. Re:I've seen a place like that by david_thornley · · Score: 1

      Why would you sue an employee for a mistake? Wouldn't that reduce everybody's effectiveness by making them afraid to do anything?

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    7. Re:I've seen a place like that by Salgat · · Score: 1

      The sad thing is that doing all that work exposed the programmer to a lot more risk, even if his productivity was incredibly high. Oh well, at least as zero productivity (0 lines of code) there is no risk for bugs in the code.

  11. Do I know you? by SomeoneFromBelgium · · Score: 2

    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.

  12. Run, run now! by Anonymous Coward · · Score: 0

    I've worked in places like that, I left - in part because they weren't interested in improving themselves, I was becoming a poor developer as a result of the methods and constraints they forced upon us, and I generally hated it

    I've since worked in a few places (contracting now, not permanent - you get to learn a ton more this way I find), and while FDD certianly isn't a large majority, it's not a minority either. I'd say at least 35-40% of the places I've worked have had some form of FDD affecting their projects.

    All I can say is get the hell out, now - leaving that position I was in (for 5 years!) was the best thing I ever did, there are far better opportunities out there almost always (even when you think you've got it great, it's amazingly rewarding learning completely different fields, experiencing different work environments, and generally getting a feel for what's out there) - you'll come to realise what matters in your day job, and from there if you have the skills you'll likely end up hitting a company that fits you perfectly and they'll do their best to keep you.

    It gets better.

  13. Asshole Driven Development by Saint+Gerbil · · Score: 2

    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.

  14. Stack ranking = fear driven development by Anonymous Coward · · Score: 0

    Someone has to be in the bottom 10%....

  15. Free market by Thanshin · · Score: 2, Insightful

    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.

    1. Re:Free market by Anonymous Coward · · Score: 1

      Very sensible post, I'd mod up if I cared enough about /. to ever make an account.

      I'm in AU, unemployment is rising and national news covers 'unemployment' as an ever increasing issue more and more (especially with slash and burn style national budget cuts going on).

      Yet here I am getting contract extensions AND pay raises.

      Why? Skills. If you can position yourself with desirable skills where demand exceeds supply, you've got yourself a job - often a well paying one, with more than adequate job security.

      Unfortunately it's easier said than done and requires quite some work and preparation. Finding these fields is difficult without prior knowledge (note: I hate their business practices, but recruitment agencies will get your foot in the door - at a hefty % of your salary - but you can drop them after your first contract/job in such a field). Looking at your typical job advertising routes is going to be 90% .NET, Java, and webdev (massively over-supplied) - and you could be sifting through months worth of job ads to find a reasonable field to tackle.

      On top of that you have to skill up, but once again under-supplied fields tend to be less popular for one reason or another - and as such, typically have few (if any) avenues for training. It's really going to be up to you to skill up and prove yourself to an employer here, rarely will you be able to find a course that will get you anywhere near desirable for employment. This will take man months. (probably a year or two in your spare time while working your crappy job, contributing to some FOSS project or working on your own hobby project).

      When you get there though, you get to give yourself stupid titles like consultant or specialist - charge ridiculous rates, and interviews tend to be you judging if the company is worth 3-12 months of your time, instead of vice-versa.

      Happy hunting.

    2. Re:Free market by mnooning · · Score: 1

      Over my 30 years as a SW engineer I have seen project managers get their projects by promising unrealistic time and costs to the president. They are under the gun to push an unrealistic schedule from the very start. Everyone knows it, including the president, but they also know that forcing 12 hr/6d work weeks is the great way to get a lot of free work from their employees. Saying that the schedule has slipped yet again actually does make workers think that somehow they themselves had a hand in the slippage, and the slight feeling of guilt shuts them up. That means you agree, by default to doing a tremendous amount of charity work for your company.

      The worst thing you can do is acquiesce. If you do that for any length of time you will be pigeon holed into only having only the exact skills you are using, which will make you unemployable anywhere else. I am very capitalistic, but I have to say the company will own you if you let that happen. Your real shock will come when you are let go for a new person who has the updated skills they need!

      You cannot let your family go. The precious little home time you have must spend time with them. So what do you do?

      You must be fair to the company and work hard for them, at least 8 hours a day. However, your first loyalty is your family, and for them you must spend at least 4 hours a day honing your skills. Do your charity work at church where it belongs. Keep up or, eventually, become unemployed and unemployable.

    3. Re:Free market by linuxrocks123 · · Score: 1

      I'm sorry, did you say "four hours a day honing your skills"? Are you nuts? What do you do, learn a new programming language every week and make flash cards to memorize library APIs?

      It's hard for me to gauge exactly how much time I spend "honing my skills", because a lot of it mentally falls under "playing" and "cool hobby projects", but I'd guesstimate more like 10 hours a month. If you have a family and your "first loyalty" is to them, spend some time with them on weekends instead of shutting yourself in a room and filling your brain with useless knowledge that 90% of you'll never use and the other 10% you could pick up when you actually had a need for it.

      --
      vi ~/.emacs # I'm probably going to Hell for this.
    4. Re:Free market by Princeofcups · · Score: 5, Insightful

      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.

      --
      The only thing worse than a Democrat is a Republican.
    5. Re:Free market by mnooning · · Score: 2

      You misinterpret on at least two counts, but you bring up yet another good point

      First the good point. If you just learn random things in general you will never use 90% of it. I agree, that would be a great time waster.

      One cannot learn a real language in a week, though. Python or Perl can be learned enough for a small script in a week, yes, but beyond trivial subroutines there are stacks of advanced books in each language. Take the time to read them. Go through the examples line by line. Mastering a language will save you and your company untold hours a month because you know what can be done and, instinctively, how to approach things.

      One cannot learn a technology in a short time, either. If you don't know TCP/IP or symbol tables or hashes, and you are a programmer, learn them. If you are a programmer in the coal or nuclear industry, for example, learn different aspects of it the steam cycle. Look into the marketing aspects. What do salesmen encounter? What are the competing technologies? Learn something about them.

      I am not suggesting doing any of this using the company's money, either. If you work 12 hours and get paid for 8, then make sure you put in an honest 8 hours work.

      I believe there is a strong payback for both the company and the workers if the workers have kept up. Companies show they agree with this in actual practice because it is not the worker who has kept his nose to the grindstone all 12 hours that gets the rewards. It is the one who has kept up and can therefore contribute more in the future.

    6. Re:Free market by linuxrocks123 · · Score: 1

      I'm firmly in the camp that you can pick up a language in a weekend. I was once given an interview question to implement a hydrocarbon naming application in Ruby. This was a take-home question, btw, I emailed them my answer:

      Given a diagram of a hydrocarbon, give its (algorithmically generatable) name. Trivial? Not really. I didn't know Ruby. I didn't know enough organic chemistry to really understand the question. They knew I didn't know either of these things (they asked).

      In the span of a week, working about 2 hours a day and keeping them up-to-date on my progress as I went, I researched hydrocarbons, their naming scheme, and Ruby, and implemented a pretty awesome little program that named hydrocarbons. You needed graph theory (which I /did/ know) to do the solution, and the algorithm was, as usual, much more intellectually challenging than the programming language or vagaries of the problem domain. The question would have been a little easier if I'd known the implementation language or the hydrocarbon naming rules beforehand, but not by much.

      The only languages worth learning if you don't foresee using them immediately are ones that expand your brain. Those include your first functional language, Prolog, APL, the first language you learn with pointers, and the first assembly language. You should ideally get those in college, although I missed out on Prolog and APL and never did pick them up (ONE of these days...). Perl 6, Ruby, Python, C#, Java, COBOL, FORTRAN, Octave/Matlab, PHP (ugh), Pascal, and other "normal" languages do very little to really expand your cognitive model of programming.

      The first functional programming language with garbage collection was released in 1958. The fundamentals of CS change slowly. VERY slowly. It's important to keep up with them when they change. That's not hard, though.

      My attitude toward jobs and training is this: I will know the fundamentals, meaning the basic concepts and building blocks in the field. I will remain current with them because I'm working in the field and, even if not, I enjoy doing relevant stuff in my spare time. You get that when you hire me. You also get whatever skills I happen to know because I needed them for something in the past.

      You need me to start coding PHP? COBOL? Visual Basic 6? Whitespace? Fine. But you'll have to pay me to flail around for a week or so while I figure a few things out. Languages and libraries are "learned" through memorization. Memorized facts go away when you don't use them. I'm not going to waste my time learning COBOL. I'll forget it before I need it.

      Something fundamental changes? I'm on it. Nothing fundamental changes? I'll pick up whatever suits my hobby.

      --
      vi ~/.emacs # I'm probably going to Hell for this.
    7. Re:Free market by david_thornley · · Score: 1

      In what way is that blaming the victim? The victim, in this case, has to put up with abusive treatment due to a lack of alternatives. I've seen victim-blaming happen in such situations, but it isn't anywhere near universal.

      If management was threatening the employees with firing unless they provided sexual favors, it would be the same sort of thing (only the ones who needed the jobs and couldn't replace them would give the BJs), but we'd refer to the employees as victims of sexual harassment, and blame management.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    8. Re:Free market by Anonymous Coward · · Score: 0

      Oh jesus fucking christ, not everyone is a poor little victimized child.

  16. Experience counts by Anonymous Coward · · Score: 1

    And what if the management is actually the incompetent part?

  17. Re:TDD FDD by Anne+Thwacks · · Score: 1
    I've seen amazing things happen when the developers are fearful of the testers.

    Do you have videos of the blood on the carpet?

    --
    Sent from my ASR33 using ASCII
  18. Yep by Draugo · · Score: 1

    I'm in the midst of one right now. My depression sure doesn't help the matter either.

  19. Well by jaredm1 · · Score: 5, Interesting

    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.

    1. Re:Well by Anonymous Coward · · Score: 1

      This.

      Correctly implemented agile practices pick up on this, in a totally traceable way. Combined with procedures for dealing with such events, you tend to deal with it well - in one way or another... (usually in a constructive fashion).

      In one place, people were literally fired for not keeping up with the productivity of the rest of the team. Not so great, nothing gained, and in fact probably something lost.

      In another place developers were accountable for their own estimates, in the most constructive way possible - this mostly worked well, developers didn't want to have to explain 'why' their estimates were wrong all the time, and deal with the reporting/management overhead - eventually they learned to make more realistic estimates, and as a result also worked together to improve our development processes (sprint planning meetings became a lot more in depth, everything was deconstructed better, everyone got more visibility, and we all got on the same page).

      I think the problem is most places simply have poor management and planning, or worse - as a result of most places historically having had this, developers see it as a universal truth - management is obviously bad, planning is obviously a waste of time, cowboy code all the things! right..?

      With that kind of historical mentality and war stories, it's hard to get developers and management out of bad habits, and into improving themselves and doing things in better ways.

    2. Re:Well by Drethon · · Score: 3, Insightful

      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).

  20. Consultancy in Italy... by Anonymous Coward · · Score: 0

    ...is mainly FDD!

  21. Is FDD here to stay? by Anonymous Coward · · Score: 0

    Are abusive relations between managers and developers here to stay? Are deluded managers here to stay? ... guess what, those things have repercussions, don't they?

  22. May I Translate? by sirwired · · Score: 2

    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.

    1. Re:May I Translate? by RabidReindeer · · Score: 1

      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 how the company ran just because they were alleged to come pre-supplied with certain skills.

      Projects did run late, fail, etc. just as much then as now. But morale issues weren't endemic back then. You didn't live in daily fear of layoffs the way people do now. It was a whole different millenium.

      I only worked at one company where Management By Intimidation was the general rule. It was the worst job I ever held. I'd recommend them to no one. And their attitude towards employees leaked over to customers as well, I found out some years later. They were the only option in a vertical market I was involved in, so we had our customers buy their product. And our customers hated them. Fortunately, after a year or 2 we'd changed platforms so that we were able to tie in to more civil vendors instead.

    2. Re:May I Translate? by Anonymous Coward · · Score: 0

      Sorry, but you are wrong. There was 1 instance for 2 yrs when I worked on GN&C code for space shuttles where
      * we worked 40 hrs a week.
      * we were on-time for all deliveries
      * Management was great, competent
      * We weren't threatened with job loss

      Of course, after that there was the 50% layoff period which I made it though, then I left 2 months later because the workload increased, we were told to work 50 hrs/week (required) to map to other government contracts, etc. My new job sent me to X/Windows programming classes for 6 weeks and 18 months later, I left to work at a startup.

      After earning my "FU" money, I just needed an excuse. In 2007, AT&T provided it - I said "FU" and have been semi-retired since.

      So ... my single example proves your statement wrong. ;) It was nice work, except the pay.

  23. Agile/Scumm was written not by develop by Anonymous Coward · · Score: 1

    Developers did not write Agile/Scrum. It was made by some MBA's who wanted a way to try and evaluate a project. Not an unworthy goal. However they didn't realize that the people who would be using this system would frequently be idiots. People who don't understand how coding works, will while away your time on stupid story driven development. They love moving their tasks from one column to another, and watching the burn down chart. This ends up happening, because people who can't see coding, say it can't be managed, or made visible to people on the outside. So you are going to end up with something or another, Scrum is not so horrid, it is actually more or less what you are doing already. WIth a little more overhead. Agile is a fucking sick joke. I met the guy who made that, my company paid him some $5k to come talk to our developers for 2 hours. He went on and on about his family for 2 hours. Afterwards, I bought him a few drinks at the place across the way. The guy was nuts, but he did tell me that he wished he'd never written the Agile system. Though I am sure it continues to make money for him. Selling is his damn book.
    When it comes to Agile, you'll find that it slows down the very good developers, and pretty much brings to a halt any work by the dumbest ones. The dumb ones however have the advantage. They will generate the numbers instead of doing the work. And that 2 minute task will end up taking 2 days. But you see, it's written down! The very good developers will be at a loss to explain how they only got one task done, as their task was truly a 50 hour task.
    In the end Agile, rewards bad developers, and either breaks down, or pisses off the very good developers (to the point where they leave.) Also Agile can be used to target "undesirables" for termination. Those developers are given many tasks truly long development times, but their development time is like 10%. When that developer cannot explain why it will take longer, people just say "we'll just go with the original estimate then." Then those people don't get the tons of work done, and the whole project failure is pinned on them. Then they are fired. I've seen it happen a number of times.

    1. Re:Agile/Scumm was written not by develop by Ash-Fox · · Score: 1

      Your implementation of agile wasn't done very well. It works quite well at my company for the pure Agile, Scrum projects. When people don't do the full agile methodology, that's when things start going awry. Of course, if everyone is inexperienced in programming and agile, you're not going to get very far (not much different from waterfall).

      The very good developers will be at a loss to explain how they only got one task done, as their task was truly a 50 hour task.

      Something is very wrong at your company if this happens where they can't explain why it was a 50 hour task.

      When that developer cannot explain why it will take longer, people just say "we'll just go with the original estimate then." Then those people don't get the tons of work done, and the whole project failure is pinned on them.

      I've never been in a situation where I couldn't explain why, I have been in a situation where I have been overridden. In those instances, I go out of my way to get the overriding decision signed off (risk based approach) so if it blows up; I'm absolved, since I did raise the risk and got the risk signed off.

      Then those people don't get the tons of work done, and the whole project failure is pinned on them.

      I've been on late projects, never been on any that were cancelled and people fired.

      --
      Change is certain; progress is not obligatory.
    2. Re:Agile/Scumm was written not by develop by Anonymous Coward · · Score: 1

      According to wikipedia: "In February 2001, 17 software developers (see below) met at the Snowbird, Utah resort, to discuss lightweight development methods. They published the Manifesto for Agile Software Development[1] " So after doing some digging, I think you are referring to Scrum (I don't want to mention names) not Agile.

      In the scenarios you mentioned, what methodology would have been better or more appropriate (having "bad" developers, etc.) ?

  24. Why Do You Accept This? by Gazzonyx · · Score: 3, Interesting
    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

    --

    If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    1. Re:Why Do You Accept This? by Neil+Boekend · · Score: 1

      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.

      --
      Well, I might have a way, but it only works on a semi spherical planet in a vacuum.
    2. Re:Why Do You Accept This? by Anonymous Coward · · Score: 0

      > It's ironic, I was literally just reading that blog post.

      Like rain on your wedding day.

    3. Re:Why Do You Accept This? by Gazzonyx · · Score: 1

      > It's ironic, I was literally just reading that blog post.

      Like rain on your wedding day.

      Fair enough. At least I didn't use the term "literally" to mean "figuratively". :s/It's ironic/Strangely enough/

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    4. Re:Why Do You Accept This? by buddyglass · · Score: 1

      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 week late getting Feature #1 done, it's expected that everything else you're scheduled to work on will get done in the time originally scheduled minus one week. So there's always a mad scramble at the end of every release since we're almost always one or two weeks "behind" when we get close to the release date. To combat this, management adds a sprint to the end of every release with no work scheduled. But work does get scheduled in these sprints because new features are almost always added to the schedule mid-release (without changing any of the dates, of course).

      Also, exactly opposite the agile model, we have almost no QA taking place during the development phase. So usually during the first half of development for release N we're spending time significant time fixing bugs found during the QA testing of release N-1. And, frequently, modifying how features work because the customer waiting on that feature didn't like the way it worked once they actually saw it. Since our release cycle is longish, though, we can't just tell the customer "it'll be fixed in release N"; no, we have to fix it in release N-1 and merge the changes forward.

      It's a bad scene. :)

    5. Re:Why Do You Accept This? by Tronster · · Score: 1

      We do this too; we have a "producer" (akin to a manager in the non-game software development) in the stand up. If someone takes an inordinate amount of time or goes off topic, the producer snaps the stand-up back on track. If a pattern of this occurs, they'll talk to the individual after the meeting to work out a solution.

      I agree with those who talk about FDD being a cultural problem as the arrangement outlined above could transpire poorly if the standup meetings repeatedly derail and/or the manager has horrible soft skills when requesting a developer to be more succinct.

    6. Re:Why Do You Accept This? by Gazzonyx · · Score: 1

      At some point you just say, "let's discuss this after the Scrum". Usually when people get off track, it's because they need to talk to someone specifically instead of the group. We don't usually have a problem with this, but we don't mind if a Scrum goes half an hour or so once or twice a week. Sometimes we just decide to break out and brainstorm and let others go about their day. You've got to deal with it on a case-by-case basis.

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

  25. Yes, and "just say no". by pla · · Score: 3, Informative

    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.

    1. Re:Yes, and "just say no". by gnasher719 · · Score: 1

      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.

    2. Re:Yes, and "just say no". by Anonymous Coward · · Score: 0

      Managers have an interesting job. If they don't keep their foot down on the pedal, at least a little bit, then staff slacks off. If they press too firmly, then there can be multiple, negative repercussions from their staff. It's easier to tell, for a manager, if you're not pushing hard enough. Nothing is getting done. People groan, stretch, and eventually shrug when you ask them what they're working on. They're reading chinese comic books during the day instead of working. Things like that. It's very difficult to tell if you're pushing too hard, outside of people quitting en masse.

      What's the answer? Do yourself and your manager a service by providing poignant, honest feedback. "You're asking too much of us. We're getting burned out, and the project is suffering for it." or "You crossed the line when you raised your voice at Steven, today. He won't say anything to you, but you should apologize to him when you get the chance." or "There's no way in hell we're making the due date. We need at least three more weeks just to get to alpha" or "I haven't gotten anywhere on project X in 3 days. Maybe if I spend some time on project Y, I'll be able to come back to project X next week with a new perspective?" and let your manager do with your feedback what he wants. You see, if the team is so miserable that they hide their misery and problems from the management (a natural response for an introverted herd of programmers), the management will feel like they're flying blind, become more frustrated, and likely push harder than before in an impotent attempt to regain ground with their "lost" team.

  26. Re:TDD FDD by tlambert · · Score: 0

    Having some experience with both FDD and TDD, I can attest that test driven culture where automated testing is fully integrated into the dev process pretty much addresses all three of your conditions.

    The wrong kind of TDD leads to FDD of the type where you're afraid to break the build.

    The problem with TDD that leads to this is that TDD is almost totally reactive; that is, you find a bug, you write a test for the bug so you can tell when it's gone; you get rid of the bug, and now you have this test which is going to be run on each build, as if you are not already hyperaware, having both experienced and fixed the bug, of the conditions leading up to the bug. The annoying part, of course, is when you start taking longer and longer amounts of time to get through the build to an acceptance of the build, for each test you add. Then to make things even worse, add to that the occasional false failure because the test is flakey, but it's someone's baby and it "usually works" and the failure is "timing related", and now you're testing the test, and rejecting a perfectly good build because you're unwilling to either rip out the test completely, or make it non-fatal and assign the bug on it back to the person who wrote the original test.

    TDD with test cases written up front, and not added to without an associated specification change: Good.

    TDD with test cases written to cover historical bugs identified through ad hoc testing: Project Cancer.

    The second worst thing you can possibly do is write tests for no good reason because you're able to write tests, but unable to contribute to the core code, and you still want to contribute somehow. The worst thing is being the code reviewer and letting that type of mess into your source tree because you want the person submitting the tests to not feel bad about them not getting accepted.

  27. No by Anonymous Coward · · Score: 0

    But I've read about it enough. For example for the development of Starcraft they followed similar hours.

  28. Yep by Anonymous Coward · · Score: 0

    Going through it right now at work...a major telecom company.

  29. Depends on which country by Taco+Cowboy · · Score: 5, Interesting

    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

    --
    Muchas Gracias, Señor Edward Snowden !
    1. Re:Depends on which country by Anonymous Coward · · Score: 0

      I can second that. We have a testing team in SE Asia, and they behave very much like this.

      One example that comes to mind is when a bug was logged as critical when in fact it was a minor UI issue. We raised this with them, and asked that they only log genuinely critical bugs at the highest severity. This came through as "stop logging critical bugs," and so they would log genuine application-destroying problems at the level below critical.

      That might be a language issue, but it seems like their English is fairly good. I think it's the treatment of ground-level workers as idiots who can't understand a refined concept like "choose an accurate severity level" that screws them over. They feel like they have to dumb everything down all the time.

    2. Re:Depends on which country by nikkipolya · · Score: 1

      >but then they add in their own cultural flavor

      You mean the curry flavor? :)

  30. change work by Anonymous Coward · · Score: 0

    Sounds like a good time to start looking for new work, eh?

  31. Happens all the time by leandrod · · Score: 1

    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 capable only of implementing overdue business requirements, not of any technical improvement or even technology updates.

    --
    Leandro Guimarães Faria Corcete DUTRA
    DA, DBA, SysAdmin, Data Modeller
    GNU Project, Debian GNU/Lin
    1. Re:Happens all the time by Anonymous Coward · · Score: 0

      I appreciate your use of thorn, but may I ask why you have made this bold typographical move?

  32. I've had legacy-product-driven development. by Ihlosi · · Score: 2
    "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).

    1. Re:I've had legacy-product-driven development. by jsrjsr · · Score: 1

      Marketing -- Make it work just like the xxxxx.

      Developer -- But that feature never worked in the xxxxx.

      Marketing -- That's OK. Our customers expect it to work that way.

  33. So, never be afraid by Murdoch5 · · Score: 1

    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 adhere to "If marketing wants it, they will have it". In all cases the role you have to play is the same, stand up to people and tell them they need to fix the steaming piles of shit now before it snow balls. If you get fired for being right and standing up then good, it proves you have more integrity then the company did, if you get verbally beat down then it usually means you're right and should keep pushing back until something is done.

    1. Re: So, never be afraid by EstherGretel · · Score: 1

      This can get you a constructive dismissal

  34. does this count? by Cardoor · · Score: 1

    i've experienced fear driven life.. i think that's a sufficient catchall

  35. it's not a coding thing by argStyopa · · Score: 1

    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.

    --
    -Styopa
  36. Now I've had.. by SomeoneFromBelgium · · Score: 1

    ..the time of my life. No I never felt like this before..
    Welcome to the world of consulting!

    1. Re:Now I've had.. by bobdawonderweasel · · Score: 1

      ..the time of my life. No I never felt like this before.. Welcome to the world of consulting!

      ...where there is money to be made by prolonging the problem.

      --
      "We'll cross the minefield under the cover of daylight..." -A. Rimmer
    2. Re:Now I've had.. by SomeoneFromBelgium · · Score: 1

      Well, contrary to what you would have thought we are quite picky...
      We only clean up YOUR shit. Never our own!

  37. Dave Cutler by miller701 · · Score: 1

    I thought Dave Cutler was still at Microsoft..

  38. Common Sense by BitZtream · · Score: 1

    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 for a few years probably isn't the best place to quote. He's got nothing really that impressive to make him an expert on properly managing development practices that most people don't have as well.

    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?

    Yes, your single experience is an indicator of how the whole world is going to operate for the rest of eternity.

    Or not. Your experience is indicative of local culture, be happy they let you off one day a week and gave you pizza, most won't get that.

    In the rest of the world, no FDD is a rare thing that usually is one of the last things a company does before it collapses into a heap of rubbish and ceases to exist because the only people working at it are unqualified people who can't get a job ANYWHERE else, so they HAVE to stay there.

    FDD is the result of managers not having any clue about how to manage people, nothing else. The solution is to go somewhere else. In the case of southeast Asia, you probably will have to physically move somewhere else to get away from it, but thats better than jumping off the roof in a year or two.

    The fact that you're posting on slashdot means you don't live in a country that will prevent you from changing your situation, only that you have not bothered to change your situation and seem to think your one experience is how they all are.

    That or you're just Scott Hanselman trying to drive traffic to your blog in a slashvertisement ... which seems more likely, because otherwise your post is kind of dumb ... just like Hanselman's blog entry on the subject.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    1. Re:Common Sense by GlucoPilot · · Score: 1

      Thanks. It's true, the page views from Slashdot will definitely help me hit the rent this week.

      - Scott Hanselman

      --
      http://hanselman.com
  39. Metus est plenus tyrannis by micromen · · Score: 1

    The last place I worked for has a CEO that made the office thrive on conflict. Everyone was afraid of not writing the very best code possible. If you turned in something that wasn't 100% perfectly written and would get anything less than a 4.0 from CI you'd take heat for it. It made it impossible to work on any fast paced innovation. On top of that, the CEO was one of these people who read every single leadership and team building books he could find. He's change up our scrum focus every month, have us rearrange the office layout every 2 weeks, etc. He'd give you new responsibilities on the next cycle to make you feel more in charge and then hold it over your head like the sword of Damocles. It never left me in a comfortable place to work. My true fear was that this was how offices were evolving.

  40. Yeah, at bad shops by Anonymous Coward · · Score: 0

    I worked (shortly) for a company, that quite frankly, had a great product. However, all the very hard technical parts had been written and those who wrote that had moved on. What was left was a team of developers working on the ui and fixing bugs.
    It was an Indian (like, from India) owned company that hired a lot of Indians. The problem was that they would get these workers in, who were leashed to the company, and then, as the OP stated, used FDD to get work done.
    So, say it's monday, and we need to have the product ready by Friday. We can honestly say it REALLY needs to be complete by next Monday, since no one is going to demo it on Friday, and since we could work the weekend if need be.
    They would have a meeting and say we have 50 bugs that need to get fixed by Friday, that's 10 a day, we 10 developers, so if each of you closes out a bug a day, you wont have to work this weekend. What they don't tell us is that they have 50 bugs at a certain priority, and 400 at lesser priority's. If we finish 50 of the bugs, and none reopen, they just take more bugs (from the 400) bucket, and make us work the weekend anyway.
    They did this seven wekends in a row. I flat out quit. I went home at lunch and never came back, I was so pissed and I just wasn't gonna take it anymore.
    I mean, I saw some of my peers literally cry because they had their weekend taken away from them AGAIN. And like I said before, some of my peers cant quit or they would get exported back to their home country, and their families would be shamed.

    If you work for a company that uses what op calls FDD, you have two choices; stand up, make the problem known, works towards fixing it
    Or, you quit, that's a broken business and you don't want to support it, its not Terry Shiavo, its a business, its okay to let them die.

  41. Why Do You Accept This? by Anonymous Coward · · Score: 0

    We do this too, however Eric always talks about non v15 stuff, and Seth talks about (i dont even know, when seth talks i usually start reading slashdot)

    How do you keep people staying on track?

  42. FDX not FDD by yorgo · · Score: 2

    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.

  43. Re:TDD FDD by justaguy516 · · Score: 1

    Till the point where the 'automated' is considered more important than the 'testing' part and people stop tinkering with the software anymore ; oh, the automated tester will test __everything__.

  44. Fear-Driven Development is How America Works by Lilith's+Heart-shape · · Score: 1

    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.

    1. Re:Fear-Driven Development is How America Works by buddyglass · · Score: 1

      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.

  45. Does not depend on country. Stupid is all over. by Anonymous Coward · · Score: 0

    I once worked for a large U.S. based company. They used to make computers but have sold off most of the PC and Server business to Asia. I worked in the Software Division. Fear of loosing your job was routine. This was also true in the hardware end of the company. Fear of breaking the build and the punishments for making anything new or novel were a daily constraint. The company now makes much less software and the only viable revenue stream is a Services business that depends on how hard the older software is to use. They used to pretend to use Agile at my location. We had fake scrums and so on to document the waterfall development that was the real process. I am a happy ex-employee as are thousands of others. The MBA ROI and cost cutting culture along with a Don't Report Bad News Up policy will, I think, kill this and other Western corporations. The only way to create is to fail over and over.

    1. Re:Does not depend on country. Stupid is all over. by Anonymous Coward · · Score: 3, Funny

      I once worked for a large U.S. based company. They used to make computers but have sold off most of the PC and Server business to Asia. I worked in the Software Division. Fear of loosing your job was routine. This was also true in the hardware end of the company. Fear of breaking the build and the punishments for making anything new or novel were a daily constraint. The company now makes much less software and the only viable revenue stream is a Services business that depends on how hard the older software is to use. They used to pretend to use Agile at my location. We had fake scrums and so on to document the waterfall development that was the real process. I am a happy ex-employee as are thousands of others. The MBA ROI and cost cutting culture along with a Don't Report Bad News Up policy will, I think, kill this and other Western corporations. The only way to create is to fail over and over.

      Gee...

      I'm Banging My head, trying to think of which company that is...

    2. Re:Does not depend on country. Stupid is all over. by real_b0fh · · Score: 1

      naaaah. you can't get fired for buying that crap.

      --
      "Contrary to popular belief, UNIX is user friendly. It just happens to be selective on who it makes friendship with"
    3. Re:Does not depend on country. Stupid is all over. by tlhIngan · · Score: 1

      I'd say Apple was like that during the Jobs era - Jobs' tantrums are rather famous, and he's one of the assholes that got stuff done.

      Maybe his RDF helped couch that fear into a positive by turning into energy to move you forward (Jobs hated behind handed crap, especially if he knew you could do better so your fear of handing him crap made you a better coder by raising your expectations).

      Maybe.

      All we know now is since Tim Cook knows he can't be an asshole and get stuff done, FDD has relaxed somewhat.

    4. Re:Does not depend on country. Stupid is all over. by Anonymous Coward · · Score: 0

      I once worked for a large U.S. based company. They used to make computers but have sold off most of the PC and Server business to Asia. I worked in the Software Division. Fear of loosing your job was routine. This was also true in the hardware end of the company. Fear of breaking the build and the punishments for making anything new or novel were a daily constraint. The company now makes much less software and the only viable revenue stream is a Services business that depends on how hard the older software is to use. They used to pretend to use Agile at my location. We had fake scrums and so on to document the waterfall development that was the real process. I am a happy ex-employee as are thousands of others. The MBA ROI and cost cutting culture along with a Don't Report Bad News Up policy will, I think, kill this and other Western corporations. The only way to create is to fail over and over.

      Gee...

      I'm Banging My head, trying to think of which company that is...

      [H]ardly [P]roductive

    5. Re:Does not depend on country. Stupid is all over. by plopez · · Score: 1

      Wow, your original post fits my experience in my Blue days to a "t". I was going to swap serial numbers with you. I am now working at a Huge Plant and while Agile is badly done, partly due to the huge geographic nature of the projects, the environment and culture is very different.

      --
      putting the 'B' in LGBTQ+
    6. Re:Does not depend on country. Stupid is all over. by ColdWetDog · · Score: 1

      No, you just got all confused because of the Hocus Pocus sprouted by the OP.

      --
      Faster! Faster! Faster would be better!
  46. Seriously? This is a post? by bfwebster · · Score: 5, Insightful

    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. As I have said ad infinitum and ad nauseum, not only do they keep re-inventing the wheel, they keep reinventing the flat tire.

    --
    Bruce F. Webster (brucefwebster.com)
    1. Re:Seriously? This is a post? by decsnake · · Score: 1

      ... they keep reinventing the flat tire.

      awesomesauce!

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

    2. Re:Seriously? This is a post? by HnT · · Score: 1

      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!!!"

      --
      "Only one thing is impossible for God: To find any sense in any copyright law on the planet." - Mark Twain
    3. Re:Seriously? This is a post? by bfwebster · · Score: 1

      Yep.. Many years ago, I said in testimony before a Congressional committee (yeah, I went there):

      "Humanity has been developing information technology for half a century. That experience has taught us this unpleasant truth: virtually every information technology project above a certain size or complexity is significantly late and over budget or fails altogether; those that don't fail are often riddled with defects and difficult to enhance. Fred Brooks explored many of the root causes over twenty years ago in The Mythical Man-Month, a classic book that could be regarded as the Bible of information technology because it is universally known, often quoted, occasionally read, and rarely heeded."

      Software is hard, and it gets harder the larger the project. Stupid human behavior just compounds the problem. ..bruce..

      --
      Bruce F. Webster (brucefwebster.com)
  47. FDD exists for only one reason... by Lumpy · · Score: 2

    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"

    --
    Do not look at laser with remaining good eye.
    1. Re:FDD exists for only one reason... by StripedCow · · Score: 1

      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?

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
    2. Re:FDD exists for only one reason... by Lumpy · · Score: 2

      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.

      --
      Do not look at laser with remaining good eye.
    3. Re:FDD exists for only one reason... by Anonymous Coward · · Score: 0

      That kind of attitude always works! Never fails!

  48. Anonymous Coward by Anonymous Coward · · Score: 0

    MBA management, they know nothing but tell you to do everything for them. FDD for me is management run by people who knows nothing about what you are doing. Just like users, saying i just ask for this simple change. They don't realize it may take hours, days, or even could break the whole thing. They don't realize you'll have to do all tests again for this 'simple' change. But those are users, you can appologize, is not be the same when managers play the same game, but it happens, just too often.
    Run by FDD, think of getting another job, find an umbrella, or another role in the company, or better run your own company, if you have enough skills.
    But be sure, they may have trained you to be real efficient, in time and all, now is time to run your own business, with long time innovative ideas you built in mind, in your own company.
    The best you'll get from them, is discipline, and fill your stomach. The best you'll get to have another job, in a better company or your own company, is the sky the limit, and your first employer 'a bad souvenir'. You must start somewhere. But as experience improves, you become unvaluable, if not recognized, just go away.

  49. there should be some fear by buddyglass · · Score: 1

    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.

  50. Answer by codeButcher · · Score: 1

    Have You Experienced Fear Driven Development?

    Is there any other kind?

    --
    Free, as in your money being freed from the confines of your account.
    1. Re:Answer by Anonymous Coward · · Score: 0

      Have You Experienced Fear Driven Development?

      Is there any other kind?

      Mortgage-driven development. Successful company, high growth, low employee turnover, blows itself up because the founder turned it into a lifestyle company. Turnover goes through the roof because the people that owned early shares built the product are now being managed to death by people who own no shares and only want to keep their cushy gigs. Eventually, all that was left was the manager-types. Happy customers, happy managers (whose job it is to keep the founder happy by telling him everything's fine and start new projects/increase headcount because OH LOOK A SQUIRREL!), and founder blissfully content while the early employees either got fucked, or got subsumed into the morass of mortgage-driven "just gimme muh paycheck" livestylers.

  51. Nah, just poor control and insecurity by Anonymous Coward · · Score: 1

    When someone uses low emotions such as fear and force to manage with it simply says they have very poor, or no control at all, and no doubt lots of incsecurities. They cannot control others, and probably not themselves. Not being of management quality they use what is real to them, in other words how they view life which for them is a life full of fears. Others, like bullies, try to hide their insecurities by pushing attention onto others through the use of force. Of course all it does is a reverse effect, it really only puts more attention onto them.

    Where you able to sit down with these type of people on a one on one, you will usually find just another scared person trying to make it, however poorly they go about it. I've been face to face with cop killers, murderers and gang members. Underneith it all they are all just like us, just not very successful in winning in our society. Their emotions got the better of them, their own values and solutions not really being in their own best interest, all put them on what is more or less a one way street. (Not to say that I in any way condone their criminal actions, but having lived life and seen the upper side and the under belly, and all the nooks and crannies of life I've developed an understanding of life and people.)

    I once worked for a company who during 9/11, when no air cargo was flying, came and threatened to fire me if I did not come in and work on the Saturday following the reopening of the airways. I immediately said "OK, good bye then!"

    Her response was utter amazement mixed in with dispair. I told her that she just walked in and threatened me, did not even bother to ask if I would mind coming in, which I incidentally had no problems with. I told her that I don't work under threats, but if you take the time to consult me you will find a person very willing to help. She took that in for a bit and then asked me if I would mind coming in, and I said "Sure, happy to!".

    I long ago settled with myself that if I cannot be myself in any situation and this kind of things would occur, it was not a place for me, and that I will be better off somewhere else. (I like to work because I pretty much choose what I want to do. My daily actions are of my design, however good or bad. I'm at the helm of my life doing what I want to do.) Being true to myself has brought about an inner peace which I prefer over trying to be someone others may want me to be. Which I probably cannot be successful as anyway.

    Obviously my recommendation is to move on. Find a person who is competent, someone who has warmth and compassion in their eyes. Though having money can, it does not have to equal competence, and you want to be part of a compatent group. They will value you and realize that people are important. Remember that the attitude of the owner will shine through the rest of the company.

  52. Shops Like That Get A Reputation by Greyfox · · Score: 1
    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 interested."

    Funnily enough, contractors are usually get a better work/life balance at the grind-houses I've seen lately. The companies will abuse their salaried work base for as many free hours as they can get, but contractors put in their 40 a week and are done. You can tell when they're actually desperate to get something out the door because that's when they ask the contractors to work paid overtime.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  53. Some Advice by Anonymous Coward · · Score: 0

    I've had some decent software development jobs, and some really lousy ones. I looked at each one as a learning experience, and the lousy ones I just stuck with until I found something better. The thing is too, you can always speak up about things to your manager. If they're decent they might do something if they're not decent all well you didn't lose anything for trying. Be prepared that you might not have a job; however, most companies don't like to lose people who've been on a project over a year since it costs them way more to lose someone experienced than to train someone new. The only exceptions are people who just can't get with the program. Hang in there, and if you're working crazy hours ask to work from home occasionally with the excuse that you will be more productive, and then take some time out to interview on your work from home days. Once you land a new job, leave the old one because 18 hour days are not sustainable by 99.9% of people in the world. Good luck in your search, there's plenty of IT gigs out there so you should be fine.

  54. You're funny by publiclurker · · Score: 4, Funny

    One of the best laughs of the week was when you managed to talk with a straight face about complicated projects being understood well enough. Most peop0le would have lost it after describing such a made up scenario, but you managed to keep going with what looks like perfect seriousness.

    1. Re:You're funny by Anonymous Coward · · Score: 0

      It's kind of an arbitrary, subjective thing to distinguish agile from waterfall based on the period of the iterative process and planning. Some projects simply need more investment to get to a new functional state that can be meaningfully demonstrated or tested. Large-scale projects do happen, and sometimes they get it right (or right enough) to accomplish things a pure agile process can never deliver.

      Imagine setting out to build an aircraft carrier by first building an inflatable raft and then doing sprints until it is done. That's how some people expect software development to work, and it is just as absurd for large-scale software as for a large-scale shipbuilder. There actually is architecture and design (not to mention analysis and simulation-based test) that can and should be done before attempting to build such a thing or making major investments. The software equivalents of these include programming languages, compilers and run-times; operating systems and major subsystems like filesystems; and relational database systems. In spite of lifetimes of study, these projects still involve large investment to accomplish and do not readily yield short incremental milestones.

      Some people address this by saying agile only starts after you have a minimum viable product. But this evasive mindset still makes the false assumption that all subsequent improvements to such a system can be done in bite-sized pieces. At a certain scale, the amount of work a sprint can accomplish is not sufficient to allow assessment and feedback, as it won't be able to demonstrate anything other than standalone units tests which are not really meaningful to assess system-level goals. So, you end up with an epi-cycle of many sprints before the next milestone where the customer can really understand the change being made, and finally introduce corrective feedback for getting it wrong. Are they really sprints at that point? Except for the high-touch meetings, it sounds like every waterfall project that ever existed.

    2. Re:You're funny by minstrelmike · · Score: 1

      And some projects should not be done Agiley/
      Management consultant Bob Lewis pointed out that Obamacare would not have been fixed by an agile development path (one of the myriad suggestions). In fact, it was a prime candidate for straight up waterfall methodology. The requirements were right there in The Affordable Care Act passed by Congress.

    3. Re:You're funny by david_thornley · · Score: 1

      Acts of Congress are usually not functional specifications. (I remember one time we got a change request form with a xerox from the Congressional Record attached. Way insufficient information to implement, but we went on a best-guess version and guessed pretty accurately. In other words, we did our own requirements analysis in a fear-driven way.)

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  55. Yes, but you usually have a choice by iamacat · · Score: 1

    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.

  56. Thoreau already covered this by Shoten · · Score: 3, Insightful

    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.

    --

    For your security, this post has been encrypted with ROT-13, twice.
  57. Have You Experienced Fear Driven Development? by ubrgeek · · Score: 1

    As a parent I experience it every day.

    --
    Bark less. Wag more.
  58. Re:Yephey by Anonymous Coward · · Score: 0

    get the hell out of there...

  59. Not unique to to tech by Anonymous Coward · · Score: 0

    Many jobs and even volunteer work or life in general can be fear-driven if those in power want it to be or if they just don't see a better way of doing things.

  60. Culture Matters. A Lot. by salesgeek · · Score: 1

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

    --
    -- $G
  61. Have I? by Anonymous Coward · · Score: 0

    Try every day of My current job. I only stay because I am at that awkward level of expertise where Nobody wants to pay enough for Me to support My family while not being qualified enough to get a comparable job. My Employers insist on doing things the old fashioned way (e.g., My Boss insists on using Windows 98SE machines and insists Windows XP, Windows 7, Windows 8, Mac OS, etc., are just fads), My paychecks are often late, randomly reduced whenever My Boss feels like it, if paid at all. One of My Bosses talks constantly about how People of My ethnic background should be rounded up and shot, how all science is a fraud except when it "validates" white supremacy, and how Anyone expressing any form of disagreement will be immediately fired with extreme prejudice. How long have I been here? Too long. So much so My Physician says the stress has shortened My Life expectancy to about another 15 years and I'm not even 40. So, yes, I have and do.

  62. Fear of changing code.... by Anonymous Coward · · Score: 0

    "Fear of changing code" is countered by a revision control system. If someone indeed breaks the build - revert!

  63. Try Working for a Top Game Company... by Anonymous Coward · · Score: 0

    I can tell you form experience that working for a top game company (multiple Game of the Year titles) is pure FDD: huge tangled codebases, "you break it, you've bought it" looming doom, and a revolving-door approach to employment. It's why I tell people that, yes, making games is fun but working for a game big game company is anything but. I'm know other game developers out there have had similar experiences--I've heard some of their horror stories too.

  64. Re:TDD FDD by ebh · · Score: 1

    One way to slow that bloat down is to put a limit on the number of test cases.

  65. Budget by ZombieBraintrust · · Score: 1

    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.

  66. Wow by Anonymous Coward · · Score: 0

    Yea I would never, ever work for 18 hours for Anyone.

  67. Giving me nightmarish flashbacks! by Anonymous Coward · · Score: 0

    Nice to have the name for this now - it was my last job experience however and does seem like the trend I've seen. Quality seems taboo while schedule and features are the real tyrants . And Agile seems like the path to hell paved with good intention. Coders increasingly seem like commodities instead of human beings with feelings and concerns who may want and deserve to have lives beyond the workplace. I don't see things getting any better before getting worse; far worse - for the 99% of us.

  68. 4x Estimate by Anonymous Coward · · Score: 0

    I know a company that would take their initial estimate on a small project and then multiply it by four to get the actual cost. It seems pretty standard actually. By comparison I take my initial estimate as a programmer and multiply it by two and after I'm done with the client hand-holding and revisions I'm right on mark. To me that just means management just needs to get out of the way and let their devs do the work.

  69. Fear Driven Documentation by mrhippo3 · · Score: 1

    The logical outcome of Fear Driven Development is Fear Drive Documentation. I once had the great misfortune to work for a "vanity" software firm created by an industry legend as a nice place for his kid to work. The "standard" work week was a mandatory minimum of 50 hours, getting paid for 40, of course. I never worked less than 60 and the usual was around 70. Working in docs (solo under ten developers), my job was to fix the paper to match the latest suite of changes. If the developers worked in fear, then I worked in stark, raving terror. To match the shipping schedule, I issued 12,000 pages of docs in a year. Adding to my joy, one project manager had the temerity to complain about 3 typos in a 1,000 page document set. The conversation that given the choice between a few typos and missing documents did not go over well. And yes, the company did fade away, but not before I was replaced by a manager and three worker bees that promised less than half of what I had done and missed even that low bar.

  70. FDD? That explains it! by StripedCow · · Score: 1

    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!"

    --
    If Pandora's box is destined to be opened, *I* want to be the one to open it.
  71. Yeah, I've seen it by PPH · · Score: 1

    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.

    --
    Have gnu, will travel.
  72. Jenga by aoism · · Score: 1

    Sounds like Jengaphobia to me.

  73. FDD aliv and well in FDA regulated Industries! by Anonymous Coward · · Score: 0

    My last job I worked as a System Admin for a Pharmaceutical Manufacturer.
    I had 7 NT SERVERS (in 2012) because of FEAR of the paper work and the validation process because they were touching the manufacturing process of OTC Drugs.
    I wasn't allowed to install CUPS on our AIX 4.3 Server out of FEAR of the paper work and the validation because they were touching the manufacturing process of OTC Drugs.
    I had a brand new 2008 R2 Server sit on a bench out of FEAR of the paper work and the validation process for 2 years because they were touching the manufacturing process of OTC Drugs.
    I had a new Firewall sit in a box for 1 year out of FEAR of the paper work and the validation process because they were touching the manufacturing process of OTC Drugs.

    I haven't gotten a raid for 4 years out of FEAR of the paper work and the validation process.

    I'm so happy I left!

  74. Yup... Pretty Messed Up by LittleITthatcould · · Score: 1

    I got to work on a project for a few months, with a government organization. The previous manager, who had since left his position, was highly abusive, and did not understand the code base. I heard (second hand accounts) about how the organization would hire truck loads of developers, throw them into the project, with no explanation or training, or even time to learn the code base, and expect them to perform from day one. If they did not perform by being able to develop a single app page within their limited time, they would be excoriated by the manager, then summarily released and fired. It was a "code or die" situation. The developers would be in a constant panic, and I heard that several of them broke out in tears from the stress. By the time I got there, there were only five people on the team, but the "fear" in the air was so palpable you could walk into it and break your nose if you weren't watching where you were going. The remaining team was evidently traumatized, and the new manager, the former lead developer, would panic whenever I would attempt to discuss the large database code that needed to be addressed as part of my tasks. It was amazing what a mismanaged structure and fear of losing your job or getting sued can do to the psyche of a human being. I didn't stay there more than four months. That sort of fear, with its entrenched demands for "survival", was extremely damaging. I'd recommend that if you ever run into one, just get out of there. Your sanity and mental health will thank you for it later.

  75. Of course it is. by Rambo+Tribble · · Score: 1

    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.

  76. I've had legacy-product-driven development. by Anonymous Coward · · Score: 0

    Excuse me, what are the Requirements?
    Oh, you don't have any.

    Where are the Design docs?
    Oh, Joe knew, but he left.

    The test cases?

    What is reverse engineering? Where do I buy reverse engineers?

  77. Not sure... Good people can grow up by LostMyBeaver · · Score: 1

    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 development is a minimum requirement. Three people will write tests and two people will implement code.

    I will use mediocre developers which are inexpensive and instead of writing code myself will constantly adjust the project to adapt to the resources on the project. I will use no "Star Developers". I'll trim out dead weight too. Everyone will pull their own weight. If I end up with a Star Developer", I'll trim him/her as well. I believe "Steady wins the race". I always want people who are happy just to code and get paid. I'm not interested in artists or creative people. Implement the code.

    I didn't get creative with the design. I used methodologies that date back to 1969 and work. No fancy thinking... It was boring as hell. The point is simply to create a project with top quality and high maintain ability and a low cost in a reasonable period of time.

    This is 2014... We have done it already. We don't need to write a new language, design a new method, invent a new management system... We need to build programs or tools which work. Creative people can make games. Weaker people can go back to school or change printer ink. Average is best.

    1. Re:Not sure... Good people can grow up by Anonymous Coward · · Score: 0

      I almost can't tell if you're trolling or if you really think this will work.

  78. Re:TDD FDD by Anonymous Coward · · Score: 0

    Tests need to be fast and repeatable (among other characteristics). Tests must be of high quality as your production code. If you would fix "timing related" issues in your production code, there is no reason your tests suffer from the "timing related" issues either.

  79. Try Fear Driven Testing... by __aaclcg7560 · · Score: 1

    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 for HR) and thought I was out to get him like the last manager. The truth of the matter is that I didn't care about these paranoid basketcases.

    Wasn't long before I got a written warning for "insubordination" by not following his directions that would have a negative impact on my project. He followed it up with his infamous "my way or the highway" speech. So I took the highway and left the company after six years in 2004. I was the third out of a dozen senior testers who left the department that year. A decade later, the QA department is no more as the company stopped selling PC and console games, started making FaceBook games with limited appeal, and rehashing past products for online distributions. I became an IT support technician who no longer had to deal with fear driven management.

  80. That's why Detroit... by Anonymous Coward · · Score: 0

    ...is the economic powerhouse it is today...

  81. Wow... by Safety+Cap · · Score: 1

    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, 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 time to Let Them Go.

    --
    Yeah, right.
  82. Re: Does not depend on country. Stupid is all over by Anonymous Coward · · Score: 0

    Yes, I experienced this at SanDisk all India caste company and Futurewei. I will never buy sandisk because it it. Terrible people there.

  83. Re:TDD FDD by tlambert · · Score: 1

    Tests need to be fast and repeatable (among other characteristics). Tests must be of high quality as your production code. If you would fix "timing related" issues in your production code, there is no reason your tests suffer from the "timing related" issues either.

    There's no reason they *should*, but they do unless you correct the test. The problem is in the test code, or in the wrapper that runs the test code. But consider an automated login test on an isolated network with a credentials server that races to come up with the browser that's attempting the login in the test case. If the login happens to start before the login server gets up and stable, then your login fails, and so does your test case, even though it's not a problem with the browser you are nominally testing.

    This is/was a pretty common failure case with the ChomeOS build waterfall because Chrome was considered an "upstream" product, and therefore changes in Chrome, when they occurred, could throw off the timing. There wasn't a specific, separate effort to ensure that the test environment was free from timing issues. And since you can't let any test run forever, if you intend to get a result that you can act upon it in an automated way, you get transient failures.

    Transient test failures can (sort of) be addressed by repeating failed tests; by the time you attempt to reproduce, the cache is likely warmed up anyway, and the transient failure goes away. Problem solved. Sort of. But what if everyone starts taking that tack? Then you end up with 5 or 6 transient failures, and any one of them is enough to shoot you in the foot on any given retry.

    Now add that these are reactive tests: they're intended to avoid the recurrence of a bug which has occurred previously, but is probabilistically unlikely to occur again; when do you retire one of these tests? Do you retire one of these tests?

    Consider that you remove a feature, a login methodology, a special URL, or some other facility that used to be there; what do you do with the tests which used to test that code? If you remove them, then your data values are no longer directly comparable with historical data; if you don't remove them, then your test fails. What about the opposite case: what are the historical values, necessarily synthetic, for a new feature? What about for a new feature where the test is not quite correct, or where the test is correct, but the feature is not yet fully stable, or not yet implemented, but instead merely stubbed out?

    You see, I think, the problem.

    And while in theory your build sheriff or other person, who's under fire to reopen the tree, rather than actually root-causing the problem, doesn't have time to actually determine a root cause. At that point, you're back to fear driven development, because for every half hour you keep the tree closed, you have 120 engineers unable to commit new code that's nor related to fixing the build failure. Conservatively estimate their salary at $120K/year, then their TCO for computers and everything else is probably $240K/year, and for every half hour you don't open the tree back up, that's ~$14K of lost productivity, and then once you open it up, there's another half hour for the next build to be ready, so even if you react immediately, you're costing the company at least $25K one of those bugs pops on you and you don't just say "screw it" and open the tree back up. Have that happen 3X a day on average, and that's $75K lost money per day, so let's call it $19.5M a year in lost productivity.

    This very quickly leads to a "We Fear Change" mentality for anyone making commits. At the very least, it leads to a "We Fear Large Change" mentality which won't stop forward progress, but will insure that all forward progress is incremental and evolutionary. The problem then becomes that you never make anything revolutionary because sometimes there's no drunkard's walk from where you are to the new, innovative place you want to get to (eventually). So you don't g

  84. that's how Amazon does it by Anonymous Coward · · Score: 0

    eom

  85. Measurement Dysfunction by coverclock · · Score: 1

    I spent years working for organizations whose upper management thought forced ranking (where each employee is placed on on scale relative to others) was a good idea, and, later, instituted periodic layoffs (first annually, then semi-annually, then quarterly). When you work in that kind of environment, you've implemented FDD whether that was your intent or not. It's just another example of what Robert Austin refers to as "measurement dysfunction" in his book MEASURING AND MANAGING PERFORMANCE IN ORGANIZATIONS (Dorset House, 1996), a short, easily read classic that is still worth picking up. -- Chip Overclock

  86. Back when there was a Salomon Brothers by gelfling · · Score: 1

    The application development shop management didn't feel it was a productive use of anyone's time to have to go home and sleep and eat, reproduce and what not. So they brought in cots and all the comforts of home so no one had to bother with that. While they don't do development, Gartner does that too. Hire valets and such to do all the living stuff for you so you don't have take yourself away from work.

  87. Re:TDD FDD by Phrogman · · Score: 1

    The only time I can recall doing TDD, we started out with unit tests for everything but as time went on the managers grew upset with how long things were taking to develop and the only choice was to abandon writing the tests and just plow on.

    --
    "The first time I got drunk, I got married. The second time I bought a chimpanzee, after that I stayed sober" Arian Seid
  88. Different experience by Anonymous Coward · · Score: 0

    I was once working in a company where I was given a project, but they didn't give me a deadline nor did they even ask when will it be ready. The customer was a technical person (but not a programmer) and if I said that I needed a couple of weeks for refactoring the code I got the permission to do that. Customer was happy with what I had done and I was quite happy also.

    Unfortunately I had other problems with that company, so I had to leave.

    Some people claim that if there are no deadlines, it won't ever get ready. Or if deadline is too big, people will invent work to fill that. I can only say that it isn't true for me. I also have experienced a project that was ready few months before the deadline. The deadline was estimated by one other developer who didn't continue with the project.

    I have also experienced the dark side. Unrealistic deadlines cause panic and make the project twice as delayed as it would be without deadlines.

  89. Culture by EmperorOfCanada · · Score: 1

    100% of companies that I consulted with had their cultures defined by upper management regardless of what upper management intended. One company that I did work for was all about sports competition. The entire management turned everything into a sport with points, rules, and Winners and Losers. They played tennis, golf, swimming, running, biking, and a variety of high risk sports intended to get people to chicken out. This behavior then carried on with how they dealt with regulators, competitors, suppliers, etc. Needless to say then drove the company into the ground and a few ended up in jail.

    Another company had a bit of an absent minded leader who was great at starting things but not really caring how they went. This created much confusion among the ranks who discovered that starting exciting projects was a great way to get praise. Oddly enough this company did fairly well.

    But my favourite was a company run by a few stodgy types who had been there and done that. This company cooked along being boring and profitable. Then the main leader got sick and was replaced by a total douchebag who was all about the testicle joke. About a year later the company cratered, but they had a fratboy good time doing it.

    The companies that drive me around the bend are technology companies run by boomers though. I have been to at least a dozen engineering companies where all the senior people are in the ballpark of 60 and man-o-man they have their heads solidly planted in 1950's style engineering. Computers at best can be viewed as drafting tables with electrons. I am not only talking about the 60 year olds but even the 25 year old new engineers. They want to do things that are innovative solutions and are shot down and have solutions that a WWII engineer would barely admire implemented. This results in 40 year old engineers who work at these firms not even using tools like autocad in any thing more than a pencils and rulers on a screen sort of way. Magical.

    One last company is has a leader who is all about the next big deal. This company has a bunch of employees who take themselves way too seriously.

  90. What I'd do... by Anonymous Coward · · Score: 0

    In short if that was happening then I expect the developers would either push-back or leave. As someone who has worked in technical and management roles I can tell you that it's very short-term thinking of management to do that.

    You've already identified some of the problems pushing staff like that means that they are more likely to make mistakes, they will hate you (which means when you really need them to go above and beyond if they can get out of it, they will). Also it means if they do leave you need you have a bigger hole to fill because they're working more hours and it's going to be harder to find and retain someone who's willing to work extra hours and is actually good. It also sets a bad culture so that people who are good and get a job there don't stay they leave because they're good enough to get a job elsewhere. What you're left with is the barnacles who are there for the ride or people who are there for experience and then leave.

    If I was a developer in your situation I would manage upwards by note your concerns and flag them with management. I would also use metrics to support your case (e.g amount of commits of code that had bugs, hours worked, sick and stress leave taken?). I would check into health and safety regulations or workplace agreements to see if what they are doing breaks any of those rules, if it does then I would notify management and measure and report on that too.

    Reporting on more things, collecting metrics and managing upwards takes time and effort but it's a good way to try to change things. Alternatively I would be looking for other jobs.