4 ms·
As far as I remember the waterfall model has been taught to us in Software Engineering class in CS undergraduate degree as one of the most effective. Even at th
by sili 17y ago
As far as I remember the waterfall model has been taught to us in Software Engineering class in CS undergraduate degree as one of the most effective. Even at that time I felt a little uneasy with it being so highly structured and inflexible. In contrast I have not seen it being used even once where I work. I feel duped.
- jerf 17y agoIn my software engineering class, we were taught that it was an option, but generally not preferred compared to an iterative model. So far so good. We then proceeded to ignore this entirely and for the rest of the course acted implicitly as if we were using waterfall. Including in subtle ways, such as being given homework assignments due next week with no chance for iteration. An "assignment" in which there is no room for iteration bears absolutely no relationship to the practice of software engineering of any kind. In hindsight, thinking back to my software engineering course, I'm not sure there's a single thing in it I agree with ten years later, and it's not like any of the things I've learned in those ten years are brand-new knowledge, it was all equally obvious in 1999.
- harpastum 17y agoMy SE class last semester also said the waterfall model was a fairly good choice, although it "might not work especially well for projects with rapidly changing specifications." What they didn't say is that describes virtually every project.
- derefr 17y agoI'd say they're right to teach it as such, though. Software Engineering is about nuclear reactor software, traffic flow control software, car injection system firmware, weather prediction grid software, lunar rover software, and, just maybe (but this is at the borderline), ERP software. Meanwhile, web applications (that aren't Google-search scale projects) don't require any software "engineering"—they're simply designed and then crafted, more like a clay pot than a bridge. They're iterated like a play is rewritten slightly after each performance, based on audience approval and obvious errors, not based on any accepted theorem or body of knowledge that says that the given practice is wrong. A corollary of that statement is that Software Engineering has no use for most of us here at HN :)