Software engineering as it’s taught in universities simply doesn’t work. It doesn’t produce software systems of high quality, and it doesn’t produce them for low cost. Sometimes, even when practiced rigorously, it doesn’t produce systems at all. That’s odd, because in every other field, the term ‘engineering’ is reserved for methods that work. What then, does real software engineering look like? How can we consistently deliver high-quality systems to our customers and employers in a timely fashion and for a reasonable cost? In this session, we’ll discuss where software engineering went wrong, and build the case that disciplined Agile methods, far from being ‘anti-engineering’ (as they are often described), actually represent the best of engineering principles applied to the task of software development.
This is one of the finest talks I’ve seen in my time going to conferences. This version was given at the Lone Star Ruby Conference, but I had a chance to see it myself at Ruby Hoedown X in Nashville. Glenn and I also worked together on the project that brought me to Charlotte, originally. Thanks, Glenn!