Live data from Hacker News

Why don’t software development methodologies work?

typicalprogrammer.com

151–160 of 201 posts

Re: Why don’t software development methodologies work?

#151

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

> rapid-prototyping works best for me > provide environment where clients would feel their input is steering project > others working on a project would like clear direction What tools would you/do you use?

There are lot of different tools, alternatives you could use, here are preferred ones by me:

MiddleMan as a static site generator, I also use Foundation by default or can use Bootstrap if someone prefers it. Slim templating engine as it is very easy to read.

ConceptBoard or InvisionApp are good for iterating over feedback.

Trello or any other of similar tools can help you allow visibility what is happening.

It is very important to do things at the right time. First develop wire that would capture requirements, original idea. Then design interface based on wires, and model data (very important step). This is when you can start writing tests, not before. Then coding rest of the interface.

BTW, this also works for developing API and works really well.

Re: Why don’t software development methodologies work?

#152
post #132
post #87

Earlier quoted context omitted.

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.

The majority of everything in software was discovered by the 70s. Since then we have been reinventing the wheel every 5-10 years on better hardware.

This is so true. And not even amusing, it is like we can't come up with anything new, we even go backwards.

Re: Why don’t software development methodologies work?

#153
post #86

Earlier quoted context omitted.

I have no beef with process, I just find that the hooting and hollering over software methodology fairly asinine. Worse, the most stupid rules wind up getting embedded into company policy if you're not careful. So, let's assume that different approaches work for different numbers of people (shocking). How would you break down work for a > 1 MLoC codebase with lots of people on it? How do you ensure it gets done? I wo…

Its refreshing to see someone suggesting systems engineering as the solution to managing complex software projects. I have felt, and occasionally advocated, this for years. I'm actually surprised how little systems engineering methodology has penetrated the tech industry. Have CMMI and similar initiatives soured commercial enterprise on the idea? Systems engineering is especially important when software is part of a…

> I'm actually surprised how little systems engineering methodology has penetrated the tech industry. Have CMMI and similar initiatives soured commercial enterprise on the idea?

I do not know. IMO, the CMMI-esque approach reeks of paperwork and micromanagement, and Agile approaches reek of lacking of planning. Both seem to be a bit problematic in their own way.

At any rate, would you mind providing some references & resources to read over for what you term systems engineering methodology? I am keen to understand other disciplines' approaches for getting engineering work done.

Re: Why don’t software development methodologies work?

#154
post #111

Earlier quoted context omitted.

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.

He mentions the importance of automated tested once or twice I think, but it isn't hammered on as a modern Agilist would. But, remember, 1970 was a different world. You may literally have not had room to include unit tests in your code, or literally be unable to afford the sort of abstractions that would enable unit testing, for instance.Other parts of that book talk about the difficulty of squeezing bytes out of pag…

I don't have the reference, but I read somewhere several years ago when digging through old journals that regular testing was part of the Project Mercury? Gemini? software development process.

Re: Why don’t software development methodologies work?

#155
post #129

Earlier quoted context omitted.

I can't give you an exact cost and time, but what I can do is give you relative cost and time. "This is easy, this is easy but will take a while (low variance), this is hard (relatively long time, high variance.) -- so that's giving you your estimate and your tolerances. Further, I can work with you to figure out what portion of each project will give you the biggest bang for your buck. So you can say, "I want to spe…

Isn't that one of those methodologies ;)

Yeah that was a little bit optimistic about the powers of Agile for me, but I think the thing that Agile gets right is that we all have to operate under the uncertainty of the scope of software projects. In that sense it's not a methodology for estimating the complexity of a software project but a way to start working without that.

Perhaps the biggest reason this keeps causing problems is that companies have no good way of dealing with change. If you expect to finish any project that you start then you need to know more about that project than is realistic at the time you start it. A canceled project is a big failure for most employees and not something they want to happen to their careers.

Re: Why don’t software development methodologies work?

#156
post #112

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…

Imagine you are a large company and there are 10 ideas for things you can build next, and you can't do them all. You gather the people that build such things and ask them, "how much will it cost to make each of these, and how long will it take". Do you think it is an acceptable answer if the builders reply, "I have no idea how much it will cost, I don't know how long it will take, and I don't know what you will have…

The business should handle this "problem" by recognizing it shouldn't be in the business of creating or building new things, because it hasn't got the talent or will "at the top" to understand or stomach all that building or creating new things entails.

Re: Why don’t software development methodologies work?

#157

Earlier quoted context omitted.

How else do you characterize an industry that seems content to re-learn lessons of the past over and over?

It seems like almost all professions have a body of knowledge. Software Engineering doesn't. Imagine getting open heart surgery, your chest is open, and doctors start arguing over the best methodology to do it.

This is not a fair analogy. Open heart surgery is a repetitive and well-defined procedure with clear goals and context. Software Engineering is a complex and creative endeavour where individual talent makes a big difference. There is no methodology that will help a mediocre writer produce a great novel. It takes skill and talent.

Re: Why don’t software development methodologies work?

#158

Earlier quoted context omitted.

Deployment plans & team should be part of initial technical planning. They are the linchpin to ensuring happy customers. No?

The move from labor-intensive, big-bang, monolithic deployments to fully automated, tested, non-event deployments has been a bigger positive change for me than any defined methodology or specific technology.

Continuous testing/building is a major component to a good project. I know it'd been done for years by some groups Agile became a Thing.

Re: Why don’t software development methodologies work?

#159

Earlier quoted context omitted.

Its refreshing to see someone suggesting systems engineering as the solution to managing complex software projects. I have felt, and occasionally advocated, this for years. I'm actually surprised how little systems engineering methodology has penetrated the tech industry. Have CMMI and similar initiatives soured commercial enterprise on the idea? Systems engineering is especially important when software is part of a…

> I'm actually surprised how little systems engineering methodology has penetrated the tech industry. Have CMMI and similar initiatives soured commercial enterprise on the idea? I do not know. IMO, the CMMI-esque approach reeks of paperwork and micromanagement, and Agile approaches reek of lacking of planning. Both seem to be a bit problematic in their own way. At any rate, would you mind providing some references &…

I'll start by directing you to the website of the membership society for systems engineers: http://www.incose.org Their products and publications section has some publicly-available documents discussing various topics.

The Systems Engineering Body of Knowledge (http://www.sebokwiki.org/) would also be a good place to start. Probably quite a bit of overlap with the INCOSE site, but better organized.

OCW has a systems engineering course posted: http://ocw.mit.edu/courses/engineering-systems-division/esd-.... There are some lecture notes available, but unfortunately the materials are a little thin.

Re: Why don’t software development methodologies work?

#160
post #111

Earlier quoted context omitted.

He mentions the importance of automated tested once or twice I think, but it isn't hammered on as a modern Agilist would. But, remember, 1970 was a different world. You may literally have not had room to include unit tests in your code, or literally be unable to afford the sort of abstractions that would enable unit testing, for instance.Other parts of that book talk about the difficulty of squeezing bytes out of pag…

I don't have the reference, but I read somewhere several years ago when digging through old journals that regular testing was part of the Project Mercury? Gemini? software development process.

http://www.testingreferences.com/testinghistory.php, via Google, leads me to Google: http://books.google.nl/books?id=76rnV5Exs50C&lpg=PA81&ots=o8...

"Project Mercury was done with short half-day iterations. [...] Tests were planned and written in advance of each micro-increment"

Post reply on HN