What's missing from software development?
I've been a long time user of Spread. I would say that I have a decent understanding of how it works and how it runs. I was, after all, in the lab (during graduate school) with all of its creators and even managed to contribute some code.
When I left academia, I did quite a bit of software building and analysis. This led to architectural design of enterprise systems. And a division of my company has a very strong focus on enterprise software development and release management. After learning all that I have about software in the real world, I've had concerns for a long time about the well being of projects, such as Spread, that have academic roots without tremendous input from professional software developers.
Just recently on the Spread list, Spread 4's emminent release was announced and a few features were announced. As expected, these features are almost entirely product function enhancements. Don't get me wrong, several of the features were much anticipated and the others allow for more efficient high-level protocol design. But what is missing?