Live data from Hacker News

Why don’t software development methodologies work?

typicalprogrammer.com

71–80 of 201 posts

Re: Why don’t software development methodologies work?

#71

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 developme…

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. But there is nothing stopping you from incorporating emotion into your logical models.

Temporal and modal logic, E. Allen Emerson: 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.)

Re: Why don’t software development methodologies work?

#72

It's fun to watch observations like the following re-discovered again and again. From the NATO Software Engineering Conference in 1968: Ross: The most deadly thing in software is the concept, which almost universally seems to be followed, that you are going to specify what you are going to do, and then do it. And that is where most of our troubles come from. Fraser: One of the problems that is central to the software…

The 1968 NATO SE conference is also the earliest reference I know of discussing software reuse (page 79 of the PDF, "Mass Produced Software Components"). Interesting to see how some of the problems then are still problems today.

Some?

Re: Why don’t software development methodologies work?

#74

Earlier quoted context omitted.

I left my last job because my time had degenerated from doing cool stuff to fixing the stupid errors that my colleagues were making because they were lazy. Allowing some coders to be lazy in terms of adherence to coding standards and methodology has to be one of the best ways to get rid of your good programmers. For example, we had coding standards requiring a comment explaining the contract for each method written,…

That sort of thing has an obvious problem. Take a fairly simple class: class Shape { public: void SetAbsolutePosition(uint x, uint y, LengthUnit units = LengthUnit::PIXELS); void SetRelativePosition(int x, int y, LengthUnit units = LengthUnit::PIXELS); void SetXAbsolutePosition(uint x, LengthUnit units = LengthUnit::PIXELS); void SetYAbsolutePosition(uint y, LengthUnit units = LengthUnit::PIXELS); void SetXRelativePo…

Unfortunately we all know that, but according to Lake Wobegon management style, not only are all our devs above average and all our code is error free, but also all our information is useful. All of it. Says so right there, on the motivational poster.

It doesn't apply to your example, but sometimes in maint mode the best part about boilerplate comments is being able to search for a synonym that appears in the prose comments but not in the code. In your example you could have some kind of distance calculating function that somehow neglects to mention Pythagorean theorem in the code itself, but very optimistically it would appear in the boilerplate, so I could grep for it.

Re: Why don’t software development methodologies work?

#75
I believe the root cause of most software development methodology failures is the misalignment of methods and team culture. I am seeing first hand waterfall-engrained teams being forced upon agile and scrum and it isn't working out. Personally, I don't think it's a failure of the specific methodology but a failure of team cultures. Unfortunately, the cultures need to change first before the process does and sometimes this requires tough decisions and cuts.

Re: Why don’t software development methodologies work?

#77
post #22

In my experience, these methodologies are best described as cultish. The form of religion but not the power. Here's my methodology. * Figure out what the software does, what the business cares about, and what the users care about. * Figure out what it kinda sorta needs to be under the covers * Write prototypes of the technically gnarly bits. * Flesh out the prototype and start writing integration/functional tests for…

That's a great solution when you understand the problem. Process is great when nobody can understand the problem. Windows is a great example of this, nobody at Microsoft really understands even 1/2 of what Windows does internally down at the code level. Now, how do you ensure a useful update comes out the door in 2015?

PS: Granted if you deal with less than 30 people process tends to be overrated.

Re: Why don’t software development methodologies work?

#78
post #31

An important realization I made a while back was that design methodologies do little to address program correctness, which is almost always the wildcard on deliverables; buggy software means missed deadlines and budget. Some, such as TDD, work to address the rapid building of tools to a particular spec, but often fail to promote static guarantees, especially in languages and environments where such provability is lar…

"I find it no surprise that the larger companies have made foundational maths, such as category theory and abstract algebra, the underlying abstraction for their general frameworks."

I would like to learn more; do you have a specific example?

Having worked with real "engineer" engineers, I've found that they have, and value, a considerable amount of mathematical education, but that education is all in continuous mathematics; abstract algebra and formal logic have about the same amount of respect as basket weaving. Unfortunately, continuous math isn't particularly useful for software.

Re: Why don’t software development methodologies work?

#79
"Maybe social skills come harder to programmers than to other people (I’m not convinced that’s true), but developing those skills will certainly pay off a lot more than trying yet another development methodology."

Like almost any other skill, "Social Skills" are developed through practice, and they also degrade when they aren't used. People that spend a majority of their time on a computer may struggle when communicating face-to-face. (I've also seen it happen with stay-at-home parents with young children.)

Re: Why don’t software development methodologies work?

#80

It's fun to watch observations like the following re-discovered again and again. From the NATO Software Engineering Conference in 1968: Ross: The most deadly thing in software is the concept, which almost universally seems to be followed, that you are going to specify what you are going to do, and then do it. And that is where most of our troubles come from. Fraser: One of the problems that is central to the software…

Ironically, it is military software projects that are some of the the worst examples of what Ross and Fraser warned about.
Post reply on HN