Software theory vs. practice - something new?
Just noticed the following: "SEMAT meets to define software engineering method, theory" (April 30, 2010). Sounds interesting, right? Computer science -- and perhaps software engineering in particular -- is a discipline looking for a scientific foundation. But this is not it. SEMAT ("Software Engineering Method and Theory") is an initiative started by a bunch of well-known names: Richard Soley, Ivar Jacobson, and Bertrand Meyer. But this initiative is not about a sound, time-independent framework for software enginnering. Rather it is about...
Soley said his group is not trying to build a new methodology for creating software. "There are enough of them already," he said. Instead, it is seeking to define the patterns and practices that are the same across any methodology.
'What are core? Whether it's a real-time application, [or] Flash on a Web or ERP, there are some core universals,' he said. 'If we're successful, we should be able to map out any methodology with those universals.'
So it seems to be about adjusting the practice existing in the field today. Can be valuable, of course, but not revolutionary.Many well-known names appear as "signatories" for the "call for action". Examples are: Victor Basili, Dines Bjorner, Barry Boehm, Steve Cook, Carlo Ghezzi, Tom Gilb, David Harel, Capers Jones, Martin Griss, James Odell, and Edward Yourdon.Corporate signatories include ABB, Ericsson, IBM, and Microsoft.
For something more fundamental, one could look at what Peter Denning does with "Great Principles of Computing":
The Great Principles of Computing project is developing language for discussing the fundamental principles of computing. The framework is helping foster collaboration between computing and many other fields. It is helping innovations by exposing unseen connections between technologies. It is helping to communicate the joys of computing to young people, who can now see that these principles serve them in their daily lives even when they are unplugged from their computers.
When the SEMAT group is looking at "how can we improve upon present practice?", Denning is looking at "what are the real fundamentals of computing?". That is why Denning's work is more exciting, as it is about reconstructing the foundations of computer science. Will Denning's effort result in a futuresafe scientific basis of computing? Time will tell. SEMAT is not the analogue of a "paradigm shift" in software (in the sense of Kuhn). It is just normal science.
Defining a software engineering methodology to serve as a foundation for future software engineering should rather look ahead at what software development could be in the decades to come. Can we understand the way future software ecosystems will work by looking at best practices as exhibited in past software development efforts? Or should we first establish a view of how software will exist in an increasingly interconnected, distributed, decentralised, and interoperable way? Will software need to self-evolve -- at least to the extent that it can survive in a context that undergoesevolution? Will software be "small pieces loosely joined", evolving like a community of cooperative agents, rather than as a piece of fixed monolithic engineering construction? The idea of biologically inspired computing is one such view. And what kind of impact could that have on software engineering as a way of creating software artefacts?
The future of software is exciting. Especially in the sense that it may best be served by fundamentally new paradigms of software engineering. But such paradigms will have to evolve through processes quite different from what SEMAT is doing.


Post new comment