4 ms·
I disagree with the premise, because the major tech companies are so good about releasing open source developer tools. For example a unit testing framework is
by dcolkitt 6y ago
I disagree with the premise, because the major tech companies are so good about releasing open source developer tools.
For example a unit testing framework is a really important developer tool. And we have great unit testing frameworks because Google has the firepower to invest in Googletest for its internal developers, then released Googletest to the world.
If UML was really productivity enhancing, I'm pretty sure Google would be using it. Even if it had to build it from scratch, a 1% improvement in developer productivity would easily amortize their cost to build a fantastic, open source UML tool.
- taylodl 6y agoMeh. The industry has spent the past 15 years preaching "emergent architecture and design." The fear of BUFD (big, up-front design) has shifted the pendulum to the opposite extreme: little or minimal design. So here we are. I still think there's a lot we can do with CASE (computer-aided software engineering) - just not in the way we envisioned in the 80s and 90s.
- dcolkitt 6y ago> I still think there's a lot we can do with CASE (computer-aided software engineering) I'm pretty biased towards minimal upfront design. At least of the formal variety. But I'd like to make sure I'm not missing some low hanging fruit for easy improvements. Do you have any recommended reading for what you're talking about w.r.t. to CASE?
- taylodl 6y agoNo - the industry abandoned CASE in the 90's and the pendulum swung back the other way. I worked for a company in the early 90's that bought into case hard. I never thought CASE was about the tool writing all your code - but they sure did! What a nightmare! I'd like to see CASE used to capture big-picture items, major information flows, configuration management handling and the like. I'd like to see UML diagrams dynamically generated from the underlying model. Utilize a query language to allow me to select a class and see what all it derives from and see what it interacts with - graphically. It's another way of interacting with a code base. That's the stuff I'd like to see us get to.