No Silver Bullet reloaded
Don’t miss the No Silver Bullet Reloaded Retrospective OOPSLA Panel Summary post by InfoQ. It’s a worth read. Great panelists and great content.
Some statements that I’ve found interesting:
Desire for people to seek better tools rather than “actually learning the trade.” Dave used the metaphor: “there is an old saying: ‘the poor workman blames his tools’ – people are poor workmen, I think most programmers are poor workmen.” Dave also said that people are looking for silver bullets to avoid learning the trade.
We still need great designers, and I think we still have far too few, and we still need to cultivate an atmosphere of hard work but also an inner-disciplinary perspective that takes us uncomfortably out of our coding world.
He called today’s state of the art in software development (especially middleware) a gratuitous disaster due to overly quick fast pace of change in API’s and frameworks which create immature software and also create too much difficulty for average software teams to track and stay up to date with. Dave claimed that the majority of today’s enterprise systems are basically just CRUD applications: “In the end these people are trying to do things that are fairly straight forward, and if they were working on a mainframe using a 4GL, they would actually have the thing done.“
He has seen “real successes” in niches, citing highly specialized domain-specific and specialized language applications in airlines reservations and hedge funds;
You can’t measure your output, you can’t measure your productivity, no way you can run sensible experiments to figure out whether one technique is better than another. …
The biggest difficulty in software development is the communication between the people writing the software and the people for who the software is being written. The conceptual attacks, the essence problems, focus a great deal on trying to improve that communication. The trouble of doing that, of course, is that it’s hard to get that communication flowing. Some of the business people don’t want to talk with software people, and fortunately the software people are hopeless when it comes to social interaction, they can’t talk to business people.
You seem to think that with hardly any information at the beginning of the project you can map out exactly what’s going to happen, pin down costs, commit yourselves to all sorts of unrealistic plans. And then you wonder why it is that I always manage to turn up. That illusion of control, the idea that on basis of hardly any data you can let make these grand predictions, that very folly is one of my greatest strengths.
I know of no field of engineering where people do less study of each other’s work, where they do less study of precedents, where they do less study of classical models. I think that that is a very dangerous thing.