4 ms·
The problem wasn't the idea, a visual diagram for logic flow is a good idea but your IDE can do that from your code better than the over-engineered idea of UML.
by livre 5y ago
The problem wasn't the idea, a visual diagram for logic flow is a good idea but your IDE can do that from your code better than the over-engineered idea of UML. UML had another problem, it reversed the way programmers work. As a programmer you start with a rough sketch (hand drawn diagrams and/or some prototype code) and iterate through that along with the client until you have what they want. UML (at least the way it was taught in my university) assumed that the client knew exactly what he wanted and that as a developer you could get your system designed perfectly on a diagram before writing a single line of code. When you tried to translate that into code you realized that your design wasn't as good as you thought, you had to make changes and doing that required going through a lot of bureaucracy (and change requests) that only served to hinder your progress. The automatic code generation promised by Rational wasn't as good as promised, it was close to useless and their software and UML basically expected you to program in enterprise Java, trying to fit a less enterprise OO language there was pure pain and resulted in very messy designs.
- BlueTemplar 5y agoUML isn't taught that way any more. It's still mandatory in programming courses and waterfall(ish) programming projects, but it's also emphasized that iteration with clients is a good thing if you can do it, that the clients don't actually know that they want, that you're unlikely to get your software right the first time, and that 90% of software projects end up failing anyway.