The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

software lifecycle models

I'm looking for data to put in a hnd essay about lifecycle models. I've got plenty on the waterfall models and some on the spiral, but could do with some pro's and con etc to put into a debate as i'm fed up with scratching my head. Thank you people.
One more thing, what the best way to discribe a case tool. Thanks once again
Dave Crotty Send private email
Tuesday, October 26, 2004
> what the best way to discribe a case tool.

"Marketing flim-flam for products that at best make simple routine things slightly simpler, and hard things impossible."
NetFreak Send private email
Tuesday, October 26, 2004
Are you going to have access to JoS during the exam as well??
Nigel Send private email
Tuesday, October 26, 2004
Expecting anything other than sarcasm from this might be thought a touch over-optimistic...

But given its an HND and I'm pleased they're even touching on different methodologies.

Waterfall, or cascade or whatever else similar gravitational metaphor is used has precisely that as its fault.  It's a continuous flow where feedback has to be added externally.

The spiral, if anyone ever actually uses it, is basically a waterfall segmented into risk analysis decisions (or if you're lucky subsystems) and reevaluation and possible redirections.  Depending on how frequent that process is you can clog up development considerably or reduce control and let it run too freely, much like the waterfall.

The predominant perceived problem with the waterfall is that its an awful long way from the top of the waterfall when everything was rosy and it was a new dawn to the shiveringly cold splash of reality at the bottom (if you quote this and don't attribute it your karma will find you out).

If spiral development happens in parallel, basically lots of inconnected waterfalls all running at once, then the major perceived problem is one of synchronising them and making sure one going out of kilter doesn't knock the other sideways.  In other words its a plate spinning contest.

As for CASE tools its all in the acronym, Computer Aided Software Engineering.  If you're actually in the business of Software Engineering a CASE tool of reasonable quality is a fine thing.  If not, like most practitioners of this feeble art, you're basically hacking your way through the sub-tropical jungle in the hope that your shiny CASE tool knows its supposed to be a machete and not an elegant way of drawing boxes.
Simon Lucy Send private email
Tuesday, October 26, 2004
Steve McConnell's book Rapid Development has lots of different models and their pros and cons
John McQuilling
Wednesday, October 27, 2004
What's a "HND"?

Besides that, there's Rapid Prototyping, Extreme Programming (XP), Ambler's Agile Modeling (puts XP with a UML/RUP subset).

Don't forget Structured Analysis/Structured Design (Data Flow Diagrams/Structure Charts).  Don't forget 'RUP' -- Rational Unified Process -- this has a nice diagram of how various 'phases' overlap.

Basically *all* lifecycle models contain Requirements Analysis, Design, Implementation (Code), Unit Test/Verification, System Test/Verification.  The big differences between the models cover how much of each that you do, and when you do it, and how many times you do each one, and how much feedback comes-from/goes-to each piece, and who signs off on it.

Everyone agrees that the classic 'Water-fall' model (do each piece to completion before you go on to the next, minimal feedback into earlier phases once you've 'gone-on') contains unrealistic assumptions that lead to blown schedules and software that 'does-the-wrong-thing'.
Wednesday, October 27, 2004
Wednesday, October 27, 2004
Traditional life cycle models promote division of labour. The whole process of software development is divided into stages (analysis, design, coding, testing, etc). A stage doesn't start unless the previous one has finished.  One stage input is the previous stage's outcome. Spiral models allow repetition of stages to correct outcomes.
Traditional life cycle models IMHO suit large projects in big corporations where processes are standardized, where people are specialized in a particular area of development, and where time is not an issue.
For projects with killing deadlines rapid development and agile approaches are better suited. There isn't division of labour or it isn't that evident. The objectives are not necessarily to release a complete product but to release something that works and then complete it afterwards.
Cecilia Loureiro Send private email
Wednesday, October 27, 2004
Cecilia since time=$$$, time is always an issue. At least it is in my world.

When comparing iterative and waterfall models, iterative development yields better results because it catches errors early through early deliverables.

Large companies may accept only waterfall like projects, because, like you say, it's their standard. And standards are as good as the people who created them. The norm is that in large companies only the politically agile / technically incompetent people are promoted into leadership roles. Seldom the other way around.
Wednesday, October 27, 2004
A HND is a higher national cert (just below a degree).
Thanks for your help people
Dave C Send private email
Thursday, October 28, 2004
correction, Higher National Diploma
Dave C Send private email
Monday, November 01, 2004
I attended one of Scott Ambler's sessions at SDWest2004.  Ambler is of course a big XP promoter.  I find XP intriguing but I chose this opportunity to ask the hard questions.  I received nothing but sarcasm from Ambler coupled with hoots from the audience.  For example...

Me: "How can you figure out how much something will cost if you have no phases?"

Ambler: "How much money you got?"

And so on...

This food fight between Kent Beck (XP) and Steve McConnell (traditional) is highly entertaining to watch.  Beck calls McConnell a "phasist" and McConnell says that XP is nothing but mass hypnosis.

My own feeling is that neither one of these guys is completely right.  The real answer is somewhere inbetween.
Bob Rundle Send private email
Friday, November 05, 2004
> As for CASE tools its all in the acronym, Computer Aided Software Engineering.

Makes me wonder... do people still write code without any CASE tools like text-editors or compilers or... I though that model of working died when interactive terminals became widespread. ;)
Sunday, November 14, 2004

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz