Live data from Hacker News

Sequence diagrams, the only good thing UML brought to software development

mermaidchart.com

241–250 of 427 posts

Re: Sequence diagrams, the only good thing UML brought to software development

#241
post #188

Earlier quoted context omitted.

Seconded. I once went to an IBM seminar with Grady Booch and seldom have I heard such an inane string of platitudes. Architecture Astronauts are the worst, and if there is one thing Agile can legitimately claim for, it's getting us rid of that plague.

I agree with you both except that architects are alive and well. I worked with an ex IBM architect a couple of years ago. Lovely guy but for someone designing software systems, I found it remarkable that he didn’t know how to write code.

All of these experiences resonate with me. The pendulum has swung hard to the continuous deployment model and just like the other side of the long arc of the pendulum not everything about it is good.

Re: Sequence diagrams, the only good thing UML brought to software development

#242

Earlier quoted context omitted.

Yeah, hard disagree on all that. As someone who lived through that era professionally, and who has had an "architect" title in the past, I was actually resistant to ever stepping into that role, because I had so many bad experience with the Formal Architecture Methodology crew, who would produce the most absurd and out-of-touch designs. There's a reason that "architecture astronaut" is a term from that era. Lots of p…

Could we bring back the UI people from that era though? Trying to standardize good software is insane but having a consistent UI with standard elements for all programs that's usable with both mouse and keyboard was kind of nice.

Very nice. There were decades of thoughtfulness and science that suddenly got replaced with "well, it looks cooler".

Re: Sequence diagrams, the only good thing UML brought to software development

#243

Earlier quoted context omitted.

That’s because software architecture is something any senior employee should be able to do, and it’s not as important as people thought. Like many abandoned corporate practices, I think it was abandoned for good reason. It may have made sense under different circumstances, like when you had a large army of cheap offshore devs who could not be trusted to architect a maintainable application. If I had some ivory tower…

As much as I do think that software architecture does matter (though it should probably be somebody with a staff or principal hat, not a specific job title) I recently took a job at a place that really does like architect titles. Mine's even "lead architect". It is pretty funny when somebody runs into me and realizes for the first time that I have the job because I build stuff and write code, not because I'm good at…

Yeah, I guess I would in retrospect refine my opinion to “software architecture is iterable and not completely separable from implementation” or that “architecture (as imagined by distinct architects who are shielded from implementation concerns) is not important”.

Principal engineers and such who are still involved in operations, implementation, and more tactical approaches are who I also think are “supposed” to be doing architecture, but even then, more as guides and first among equals than as people who hand down decisions from on-high.

The fundamental issue I have with a separate architect position is that it disempowers teams and makes them beholden to decisions that they may not agree with (and which very well may not understand the problem to the extent they do). It sounds like you’re doing the better thing of running up and down the layers of abstraction so your contributions empower people rather than disempower them

Re: Sequence diagrams, the only good thing UML brought to software development

#244
post #179

In some ways, software development practices have degraded since that era. It largely has to do with the need for speed which comes at the expense of careful consideration, quality, integrity and the formal standards that support it. In fact, I believe it pretty much killed the profession of software architect. Many teams had it as a dedicated role, and this indeed would be a person documenting/designing systems usin…

Has anything replaced UML? I mean, if there are teams out there that aren't shunning design, what do they use to create architecture diagrams?

Aggressive IDE-supported semi-automated refactoring has replaced UML. Modern languages have been designed with toolability in mind. Modern IDEs allow ruthless redesign of the architecture of code on the fly, allowing architecture to be modified to reflect actual need rather being a fairytale written before the first line of code gets written.

Teams aren't shunning design. They're just doing it incrementally, because as it turns out, trying to design a piece of software before the first line of code is written doesn't actually work.

Even in peak UML (2000 or so) there were no really practical UML diagramming tools. (Rational Rose was impractically expensive, and buggy enough that it was a race to see if it wouldn't crash before you actually finished your diagram).

Corel Draw had passable UML diagraming support. But I don't imagine it still does.

Re: Sequence diagrams, the only good thing UML brought to software development

#245
post #217

Earlier quoted context omitted.

I can’t remember where I read this (Martin Fowler maybe?), but I agree that “box and line” diagrams should be enough for most design cases. I was eager to use UML when it came out but I agree with the article, the only thing I kept was sequence diagrams. Most of the rest of it was just a complicated way to represent stuff that is best represented in code or plain documentation. I’m also not afraid to use stuff that’s…

I like use case diagrams as well. Thing is these should be short lived and used to make specific illustration in specific time. Not some holy grail of documentation that people should take as some god given truth for whole life of the system.

Yeah, I posted elsewhere in this thread that I'm a big fan of Jack Reeves' essays on "code as design"; namely, that the code is what's important, and the design is just scaffolding.

"The following essays by Jack W. Reeves offer three perspectives on a single theme, namely that programming is fundamentally a design activity and that the only final and true representation of "the design" is the source code itself. This simple assertion gives rise to a rich discussion—one which Reeves explores fully in these three essays."

https://www.developerdotstar.com/mag/articles/reeves_design_...

Re: Sequence diagrams, the only good thing UML brought to software development

#246
UML may be one of the slickest things to collaborate with ChatGPT on...It's one of those things that can be incredibly useful but more often than not the time suck just isn't worth it...well- just describe the type of graph you want in plain English and the type of markup to use.

For example this single prompt (real)...

”Please convert the following to a PlantUML flow diagram. Partition if necessary."

[Source Code]

Re: Sequence diagrams, the only good thing UML brought to software development

#247

Earlier quoted context omitted.

> everyone inventing their own "diagram language" This is clearly better than UML. UML is full of shorthands that nobody remembers. That's worse than people making labelled custom diagrams. Here's an example: https://buck2.build/docs/concepts/concept_map/ Imagine how much worse that would be with UML arrows.

That concept map example is only a loose association of ideas, where the nodes aren't of the same type (e.g. event, state, class etc), or sorted into types, and apparently included quite arbitrarily. Mind maps are similarly loose. UML is for when you want more precise diagrams about a fixed subject matter. I agree on the "shorthands", like empty/filled arrows, that people may not know. But there isn't much alternativ…

That's heavy backpedaling from your earlier

> People who say "UML is useless" basically say "diagrams are useless".

Re: Sequence diagrams, the only good thing UML brought to software development

#248

Earlier quoted context omitted.

Could we bring back the UI people from that era though? Trying to standardize good software is insane but having a consistent UI with standard elements for all programs that's usable with both mouse and keyboard was kind of nice.

Very nice. There were decades of thoughtfulness and science that suddenly got replaced with "well, it looks cooler".

There was a.lot of looks cool UI back then too, but mocking it was common, and none of it was successful despite itself.

Re: Sequence diagrams, the only good thing UML brought to software development

#249

Earlier quoted context omitted.

To be fair to the design patterns people, a lot of them got baked into pieces of infrastructure like web servers and frameworks, while others are part of frequently included libraries. If I went through and inspected any Node, Rails, Django, etc app I would find many Gang of Four design patterns, but very few of them would be in the project-specific code. They got implemented well, and now programmers can build new t…

Design patterns are missing language features. http://norvig.com/design-patterns/

People who say that don't understand design patterns and have never worked on a very large project with code dating back a few decades.

Design patterns are what let you deal with the mess that results from that.

Re: Sequence diagrams, the only good thing UML brought to software development

#250
post #188

Earlier quoted context omitted.

Seconded. I once went to an IBM seminar with Grady Booch and seldom have I heard such an inane string of platitudes. Architecture Astronauts are the worst, and if there is one thing Agile can legitimately claim for, it's getting us rid of that plague.

I agree with you both except that architects are alive and well. I worked with an ex IBM architect a couple of years ago. Lovely guy but for someone designing software systems, I found it remarkable that he didn’t know how to write code.

I'd say this is a company red flag if they are still having these people around. About four years ago I was at a company that still had someone like that. Useless and highfalutin, he obstructed many projects thanks to an archaic director who thought he was still necessary.

I got out after butting heads with him constantly, and I don't think said company ever shipped anything meaningful in his entire tenure here.

Post reply on HN