4 ms·
Because it tries to fix human problems logically. Humans are not very logically creatures. We love to think we are, but most of us are very emotionally drive
by segmondy 13y ago
Because it tries to fix human problems logically. Humans are not very logically creatures. We love to think we are, but most of us are very emotionally driven. Our emotion comes into play when it comes to drive, motivation, hard work, creativity, and organization. Creating software requires motivation, creativity, organization, etc. Our emotion is behind software and we simply try to manage it with software development methodologies, but that's not enough.
How many people are over weight, who know that all you have to do is eat less, work out and then you will get in shape? It's that simple. Yet because of emotions, eating due to emotion, happy eating, sad eating, or poor self image many people don't get in shape. Likewise many students understand that all you have to do to get great grades is to avoid procrastinating, just start studying on time, study hard, study more, do most of the exercises in your text book, use multiple books and you are most likely to pass with high grades, yet lots of students put it off, poor will power, delayed gratification, it's more fun to goof off.
Same things apply to software, a lot of us know exactly what it takes to make good software, to spec it out, to plan a good architecture, to write good test units, to comment and document the code, to organize the process, to avoid over optimization, to avoid changing and adding lots of new features in the middle.
Yet, a lot of us don't do that, we start writing code before we even code before we spec out, because its exciting! Our emotions in play, we don't practice that delayed gratification of holding off and writing specs. We plan to throw away this prototype, but then somehow, it ends up being what everything is built on. We plan to refactor one day, but feature creep never allows for that. We know we ought to comment, but we understand the code now and don't, then 6 months later we are cussing and kicking the wall. Test units are boring, so we write as little of it as possible.
Until we take into account that programmers are humans, with emotions and different level of discipline, motivations and abilities our software development methodologies will keep to fail us for most projects.
Just my opinion.
- sliverstorm 13y agoBecause it tries to fix human problems logically. Humans are not very logically creatures. We love to think we are, but most of us are very emotionally driven. But there is nothing stopping you from incorporating emotion into your logical models.
- calinet6 13y agoBut people don't...
- mcguire 13y agoTemporal and modal logic, E. Allen Emerson: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.92.5289 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.92.5... (I've been told that I have been using "yeah, good luck with that" too frequently lately, so I'm trying to branch out into different phrasing.)
- dethstar 13y agoBecause: "if you feel sad take the day. if you feel stressed take a break" probably doesn't sound great to employers.
- seren 13y agoI agree with your fundamental underlying opinion, but unfortunately it can't be reduce to a "programmer"'s problem. More often than not, it is to the whole organization you have to show "something" that is horribly coded but will convince someone from upper management than it is doable in a few months. And then you'll spend some years debugging the horrible mess you have created in the first place just to "show something". Pretty much anyone agree this is bad, but you can't sell a project by showing test coverage statistics.
- Consultant32452 13y agoThe success of dieting programs is that people change their habits from unhealthy behaviors to healthy behaviors. The most successful ones are done in groups that offer emotional support in addition to health education. The point of these methodologies is to help replace unhealthy development behaviors with healthier ones and to use groups that offer reinforcement of the healthy behavior as part of the process. Of course, much like diets, not everyone is really going to "buy in" to the new "healthy" habits. They will drag their heels, whine, and generally continue their unhealthy behavior.
- SomeCallMeTim 13y agoI think diets are just a poor metaphor here. A big part of the lack of success of most diets is that the diets themselves change your emotional state. Not to mention that most actually encourage less healthy eating habits. The American Heart Association for years recommended a low fat diet for heart health, when the studies they were using to justify this decision showed a higher overall mortality for people on low fat diets; they just died of fewer heart-related problems. (If I'm remembering correctly, there were a LOT more suicides in the low-fat group.) The people who say "just eat less and exercise more!" are also completely full of it. It simply doesn't always work -- handled wrong it can lead to really bad emotional states brought on by the lack of food. Like the above example, you could end up with a lot more suicides, which are pretty bad for your health, no matter how you slice it. Presumably most people who make this claim are not fat or have never tried it, but it's frustrating to see it repeated over and over by people who exercise less than and eat more than a lot of "fat" people. On the other hand, maybe the metaphor does work: We're recommending or enforcing practices when we really have no clue as to their efficacy. We don't always know what is healthy and what is unhealthy; we have guesses, but then we latch onto them like religion.