Live data from Hacker News

Why don’t software development methodologies work?

typicalprogrammer.com

91–100 of 201 posts

Re: Why don’t software development methodologies work?

#91
post #72

Earlier quoted context omitted.

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?

I think that the success of open source libraries shows how software reuse can work rather well. However when designing a new library it is still (and may always be) difficult to "parameterize" (to use McIlroy's term) in the most useful way for your users.

Re: Why don’t software development methodologies work?

#92
Like the author mentions, he subscribes to the "no silver bullet" thought. Methodologies doesn't ensure project success because it's insignificant compared to the individuals involved and the scope of the product. The focus on process, is because process is easy to implement and change, giving the illusion of control.

What good project managers do is much harder than implementing a Scrum method. It's finding good people, making the hard decisions of removing the bad people and get / make a clear understanding of product scope and goals.

The last point in particular should be a well duh, but in reality it's ridiculously common to encounter projects where the PM (and hence even the customer), have a very vague understanding of what's actually being built. Those projects are guaranteed to go massively over time and budget, or being outright cancelled.

Good process is just the icing on the cake. It should be used, process alone does not make a project success.

Re: Why don’t software development methodologies work?

#93

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…

Alan Kay suggested we have these problems because computer science is more like pop culture than science. http://www.youtube.com/watch?v=FvmTSpJU-Xc

Re: Why don’t software development methodologies work?

#95
I actually found that rapid-prototyping works best for me and I was able to deliver fairly good results using it. In fact I am starting a consultancy in month or two that will use rapid prototyping and other best practices I observed as effective.

My goal is to provide environment where clients would feel their input is steering project and they are getting results they want, also that developers and others working on a project would like clear direction and ability to show their best skills. Sounds a lot, I know.

Re: Why don’t software development methodologies work?

#96

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…

I'm not sure about Javadoc, but with Doxygen you do not need to put inline documentation immediately next to the code you are documenting. You could put all the documentation at the top of the file and the function declarations at the bottom. This makes it a little harder to maintain the docs while you maintain the code, but it does resolve one of your pain points.

Re: Why don’t software development methodologies work?

#97
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…

If web based project: Involve your operations team as early as possible.

Carry on.

Re: Why don’t software development methodologies work?

#98
post #87

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…

Having read "the mythical man-month" I came to conclusion that majority of the problems we have today were discovered an described by the 1970-ies.

Great book. He anticipates a lot of the problems, and "Adding idiots at the end" rarely fixes things. (Look at the Obamaacare website)

It's been a while since I've read it, but I don't think he captured the benefits from agility.

Re: Why don’t software development methodologies work?

#99

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.

Because: "if you feel sad take the day. if you feel stressed take a break" probably doesn't sound great to employers.

Re: Why don’t software development methodologies work?

#100
I'm a fan of repeatability and process. Here's my take on why they don't work:

1) You can't get around that things don't work as planned, and too many methodologies assume that things will.

2) It is better to have a PM with A level content and B level process, than the other way around. Professional PMs don't have the intuition to solve the daily project problems, but they're the ones selling the methodologies.

3) Too much focus on tools. Using MS Project to keep the plan doesn't work when 90% of the project doesn't know how to use it.

4) Too much change. Rather than settling on a decent methodology that everyone agrees to, companies keep re-inventing their process every few years.

5) Wrong methodology for the wrong purpose. Waterfall methodologies don't work in research. Agile methodologies aren't the "fits every project" panacea.

I can go on, but you can't enforce excellence with formality. The formality can help outstanding people achieve excellence though.

Post reply on HN