Tuesday, June 8, 2010

Real Software Engineering (at RailsConf)

Glenn Vanderburg is analyzing how software engineering was defined by in the late 1960s and how we got to where we are today. If software engineering is not defined by the waterfall development process or other denigrated process then how is it defined?

"Cost is always an object." - there is a price to 'do things right' and sometimes it is too high.

"Software engineering will be different from other engineering."

Traditional engineering produces a design which a manufacturing group turns into a product. In software engineering a similar process has not been very successful (Software Architects passing off designs to Programmers for implementation).

Reeves suggests that, with the cost of prototyping so low, that testing models to verify that they meet requirements is practical (and much cheaper than the example of testing the wings of a Boeing 777 until they broke).

Vanderburg mentions that Agile practices are criticized by some for being bad engineering - cowboy coding because of the flexibility of the process.

Software engineering assumptions which are now invalid: code is hard to read, to change, and that testing is expensive.

His thesis is that Real Software Engineering is unlike creating bridge designs but retains a process which delivers a product which meets requirements where the key engineering document is the source code.

No comments: