5 ms·
What you say has been well known and that is why techniques like Barry Boehm's "Spiral Model" - https://en.wikipedia.org/wiki/Spiral_model https://en.wikipedia.
by rramadass 3y ago
What you say has been well known and that is why techniques like Barry Boehm's "Spiral Model" - https://en.wikipedia.org/wiki/Spiral_model https://en.wikipedia.org/wiki/Spiral_model were invented long ago.
But "Incremental Design"/"Refactoring" as practiced by XP/Agile/Scrum crowd is not that at all. It is giving up on "Upfront Design" altogether because Requirements/Design is subject to change anyway. The fact that you will have unknowns should not be an excuse to not come up with a blueprint i.e. Design for the overall system. The focus should be on the long-term with decisions/allowances/techniques made for extension/maintainability/refactoring within the blueprint. That is the point of "Upfront Design". The XP/Agile/Scrum crowd have effectively thrown the "baby out with the bathwater" with the result that their methodology has degenerated to "think short-term and make shit up as you go long-term".
See also Bertrand Meyer, "Agile! The Good, The Hype and The Ugly" - https://www.youtube.com/watch?v=ffkIQrq-m34 https://www.youtube.com/watch?v=ffkIQrq-m34
- kragen 3y agoincremental design can indeed degenerate into no design, but i think the real intent of xp is continuous design, not no design. most of the core practices of xp are focused on extensibility and maintainability. it's difficult to do well, but i'm undecided on whether it's more difficult to do well than the big-design-up-front practice, and i think the answer is probably 'it depends', specifically because of the factors i explained in the grandparent comment boehm suggests iterating through the different stages every 2–3 months. xp suggests iterating through the different stages every 2–3 minutes. scrum doesn't have any development practices at all, just management practices when i look at the software barry boehm has written and the software kent beck has written i think it's clear that kent beck is far more accomplished. i don't know how good or bad boehm's designs were because i haven't been able to find any. reading his papers it seems to me that probably this is not because of his own ineptitude but because he was embedded in a company whose organization and incentives made it impossible to deliver quality software. this crippled his professional development as a programmer. trw in the 01980s made its living from defense contracts where they can billed customer hourly for their employees' time, so as long as their ass was covered with enough documentation, the more man-hours they spent on a project, the more money they made. consequently, as far as i can tell, they never wrote any software worth using, because for them software was just a cost of doing business, and neither has barry boehm after he left reorganizing your own company to mimic trw in the 01980s is likely to sink you unless you, too, make your living from cost-plus contracts not to say that there's nothing to be learned from boehm's work, but you'll have to pick carefully by the way, possibly you are not a native speaker of english, but 'upfront design', 'requirements', and 'design' are not proper nouns, so should not be capitalized as perhaps they would be in german
- rramadass 3y ago> i think the real intent of xp is continuous design, But that is the problem, when everything is malleable, you have no fixed "Underlying Structure" which is what Design is all about. Iteration should always happen within a framework of understanding and not a free-for-all. This is why you have prototyping, plan one to throw away etc. > most of the core practices of xp are focused on extensibility and maintainability. I don't think this is specific to XP/Agile. > i'm undecided on whether it's more difficult to do well than the big-design-up-front practice, and i think the answer is probably 'it depends' True, this depends on what stage the product/project is at in its lifecycle. > boehm suggests iterating through the different stages every 2–3 months. It is a suggestion which can be lengthened/shortened according to project needs. > xp suggests iterating through the different stages every 2–3 minutes. Totally unworkable not to mention silly! I still have "Extreme Programming Explained: Embrace Change by Kent Beck" lying around somewhere so have to look it up on whether it is mins/days/weeks and at what stage of a project. > when i look at the software barry boehm has written and the software kent beck has written i think it's clear that kent beck is far more accomplished. i don't know how good or bad boehm's designs were ... <rest of the para> Violently Disagree! Barry Boehm's credentials - https://en.wikipedia.org/wiki/Barry_Boehm https://en.wikipedia.org/wiki/Barry_Boehm Writing mere software is no measure of how much you have thought/researched about important meta-issues surrounding the same i.e. "Software Development as Engineering Discipline". Kent Beck (https://en.wikipedia.org/wiki/Kent_Beck https://en.wikipedia.org/wiki/Kent_Beck) offers nothing much here (consultant) while Barry Boehm (researcher/programmer/scientist/professor) is a giant in this field. The depth and importance of the latter's work far outstrips the former's. Also note the differences between Scientist/Engineer/Technician/Programmer/Coder roles. > reorganizing your own company to mimic trw in the 01980s is likely to sink you unless you, too, make your living from cost-plus contracts Not what i am talking about nor implying. > not to say that there's nothing to be learned from boehm's work, but you'll have to pick carefully There is much to be learned from Boehm's work if only to not reinvent the wheel. > by the way, possibly you are not a native speaker of english, but 'upfront design', 'requirements', and 'design' are not proper nouns, so should not be capitalized as perhaps they would be in german I use capitalization/scare quotes often to signal importance/nuance to the reader.
- kragen 3y agoin https://news.ycombinator.com/item?id=38899328 https://news.ycombinator.com/item?id=38899328 you deprecated achievements like oberon as 'mere software' so any effort spent on understanding your comments is wasted effort
- rramadass 3y agoYou are duplicating your comments now? I will post the same response that i gave you at https://news.ycombinator.com/item?id=38905477 https://news.ycombinator.com/item?id=38905477 > you deprecated achievements like oberon as 'mere software' This is a straight-up intentional misrepresentation of what was said. It was in response to your claim of Kent Beck's achievements and nothing whatever to do with Wirth's. If that is what you understood then you need remedial English comprehension classes. Also my other comment here for reference - https://news.ycombinator.com/item?id=38907809 https://news.ycombinator.com/item?id=38907809