Avik’s Ruminations

Musings on technology and life by Avik Sengupta

Archive for the ‘agile’ tag

Tom DeMarco on Software Engineering

without comments

Tom DeMarco has an interesting article in this month’s IEEE Software, where he wonders if Software Engineering is an idea whose time has come and gone.

Reflecting on his early book on software metrics, he suggests that software projects could do with less control and more management.

I’m gradually coming to the conclusion that software engineering is an idea whose time has come and gone. I still believe it makes excellent sense to engineer software. But that isn’t exactly what software engineering has come to mean. The term encompasses a specific set of disciplines including defined process, inspections and walkthroughs, requirements engineering, traceability matrices, metrics, precise quality control, rigorous planning and tracking, and coding and documentation standards. All these strive for consistency of practice and predictability.

Consistency and predictability are still desirable, but they haven’t ever been the most important things. For the past 40 years, for example, we’ve tortured ourselves over our inability to finish a software project on time and on budget. But as I hinted earlier, this never should have been the supreme goal. The more important goal is transformation, creating software that changes the world or that transforms a company or how it does business. We’ve been rather successful at transformation, often while operating outside our control envelope. Software development is and always will be somewhat experimental. The actual software construction isn’t necessarily experimental, but its conception is. And this is where our focus ought to be. It’s where our focus always ought to have been.

“More important is transformation” … words to live by!

Written by Avik Sengupta

July 27th, 2009 at 10:33 pm

Posted in Technology

Tagged with