Wayne Allen writes...
What is it that we are envious of from the "other" engineering disciplines?I think we envy the respect and prestige more than anything else. The nature of software is different though. We have to build software worthy of respect, and it's very easy to build software that is not. We have unprecendented freedom, but...
Chui Tey writes in a comment...
I don't think the software that runs a satellite or one that powers weaponry would be written any less formally than the effort involved with engineering a bridge. Even at these lofty levels, there are elements of craft at the design level, one which comes from experience, and not one that comes from formal learning.I think we have more freedom to ignore useful formalisms. Part of the challenge is to understand our formal tools and to push them into new capabilities. Test-first programming is an example of a formal tool not widely understood today. Model checking concurrent systems is an example of a current push into new capabilities.
Generally speaking though I think it is the softer communication issues among a development team that typically leads to failure.
2 comments:
elements of craft at the design level, one which comes from experience, and not one that comes from formal learningThis applies to "other" forms of engineering and not just software. Fresh graduates from civil engineering, no matter how qualified, don't get to build bridges on their own.
Thanks Jason. I had intended to mean exactly that.
Anyone who is interested in what happens when an inexperienced civil engineer is assigned to build a bridge can read up the report by the Royal Commmision into the Westgate Bridge collapse.
Post a Comment