What matters is to deliver product that meets requirements, among them that:
- is easily usable (which involves many things, among them the right speed)
- solves the problem correctly
- allow evolution with peace of mind
- other punctual.
There are several techniques to do this, but choosing a closed one, and that has to do everything that is in the "little manual" does not seem prudent.
Analysis and Object-Oriented Project does not seem to me to be a very closed technique in a certain aspect, that is, it does not seem to be a little manual, at least not for a book of the 80’s that I have (or had) on the specific subject.
To speak the truth create a project and already know that will be object oriented seems to me a beautiful of a bias.
Agile
I usually say, until I speak, that almost every conceptualization of what we use in computing was created until the 1960s and almost every technology we use today was created until the 1970s. There are very few exceptions. Almost everything is a small evolution in the way of using or recycling what existed. In my opinion, much in terms of marketing, it is recreated to have a new product. Today I see people talking about Agile when it’s very simple, and it’s really just a question of common sense, but people have managed to make a lot of money with the carnival they made.
The one from warfare of methods has a lot to do with it, it was a gold rush to see who can impose their standard and get rich with it. They have not invented anything new, only packed in a different way.
UML
Luckily UML kind of died (some people didn’t realize it yet), it was always silly (not that it serves for nothing, but it is not better than what already existed save one detail or another), as created tool is unnecessary. It was the time that the industry wanted to sell such case tools that people said that I was going to break up with the programmer and I laughed, even though I was an inexperienced idiot 20 years, and I had an argument, it wasn’t a kick.
What is left? The good old analysis and design of systems, some oriented to object. Each season with new scripts of how to do, sometimes they use different graphics or tools to help visualize the project, and in some cases within a certain bias to do in a specific way according to the fashion of the moment. Also because they do not know what to do and resort to formulas that someone sells to them.
'Cause it’s not used anymore
The question states why they do not use, but lack evidence that they do not use. They probably do not use the term. If you’re talking about a specific script you might be able to talk about if you know which one you’re talking about. What’s the option? " Stick the kettle in" and deliver anything? Some think Agile is like this, some think that if you plan something is not agile. I’m sorry about those people. Nor will I get into the merit that some products are terrible precisely because they adopt Agile, no matter if right or wrong (when it goes wrong they say that it was not the right Agile, when sometimes the problem was not even that). They say that UML is Agile, and it is an extremely bureaucratic and usually unnecessary step that brings little benefit. To tell the truth I saw a lot of Waterfall project more agile than Agile project using UML and other inappropriate tools.
Completion
My conclusion is that it’s just not fashionable to use that term. And this is nothing different than people, even if informally, sometimes scribbling a paper, making a prototype in code, anyway, agile is this, is to do, is to meet the demand.
No methodology teaches to do right, is experience, is the ability of the person to look at the whole, to look for every detail, not to miss anything, to create a new look, to rethink what is found there, to understand what needs to be done, what will be difficult in the future. And what I usually say, object orientation is usually more difficult to do because you have to see the object and most of its relationships very appropriately, while paradigms or orientations that value the composition are more flexible.
OOP
That’s why you say:
- in OOP every change in the project that requires a new action you have to change several objects
- in procedural/functional you have to change each function whenever you add a new object in the model.
Here comes the question: what is most common in real-life software projects, after initial creation, to add new objects or functions to the object? So I defend a approach hybrid. And more and more I am convinced that OOP in business domain should be very limited, it is better for mechanisms, where the programmer has more control and theoretically can predict more what can happen.
DDD
I don’t know if DDD has anything to do with it (by the original question in the SE.SE), nor does it fit into this conversation, but I’ve been talking to people who use it and it’s a horror show reported by them. And usually whoever pushed it says they couldn’t do it right, only they took the guy’s course and got his certificate. And from my studies there are some terrible things in the methodology that I hadn’t realized, although I still find the general idea legal, the problem is in the details.
@Maniero Recuperaei, is here: https://softwareengineering.stackexchange.com/questions/376731/which-ooad-methodologies-are-prominent-today
– Piovezan
Related :) https://cseducators.stackexchange.com/questions/1049/to-what-extent-should-uml-be-covered-the-context-of-a-degree
– Piovezan