On the Future of Software Development #1
Motivated by I a conversation with Steve Cook, one of the fathers of the Software Factory concept (, ), I´d like to share some thoughts with you about the future of software development. However, contrary to what you might be thinking now, I don´t want to speculate much about the next versions of the .NET Framework or how virtual shared memory could help to solve interop problems or the benefits of Intentional Programming.
No, sorry, I´m concerned with people and processes and organization.
So what is it that´s driving me to take up a non-technical subject? It´s an uneasyness that befalls me from time to time. For example when I look at the MSDN Online RSS feed.
Each week it swamps me with so many headlines of interesting topics. And I realize how I get tense when I try to figure out, when to read all this stuff.
Of course I know, I don´t "have" to read it all. It´s just offerings. But still... somehow it doesn´t feel good to ignore much of this content.
However this is just the initial trigger of my thinking. I can deal with the "information deluge" and don´t feel bad, if I don´t read up on the latest ASP.NET 2.0 development, am not much interested in the latest Indigo CTP, and am ignorant about the benefits of VSTO.
This position, though, is the result of some pains I went through. Because, what I painfully realized is, I have to say good-bye to a picture I had of how software development should work today, or, hm, of how I can stay competent as a software developer.
My personal conviction now is: To overcome the proverbial software crisis we need more than an improved VS.NET or the next version of the .NET Framework or even Software Factories. However, I have to admit, I deem Software Factories very important. It was the term “factory” that made me think and become or concious about the current situation of software developers.
To put it blandly: I think, instead of asking for evermore better versions of our tools, we also need to ask ourselves, in how far we could help software development by changing our attitude towards our profession.
Whereever a problem persists for a long time – and I think the software crisis is a very persistent problem – and seems to be immune to the efforts invested into its solution, I think it very prudent to step back and see, if maybe the approach is wrong or lacking something essential.
So, when I stepped back, I found, most software development is stuck in 1980-thinking. Don´t get me wrong, our tools are much more advanced today! OOP is good – although not enough. The .NET Framework is a godsend. And I like application servers and the Internet. So do almost all developers.
What I mean is: Software development has gone through so many changes in the past 20 years – but the software developers have not! They are lagging behind in how they see themselves as professionals, how they learn their trade, organize their projects, and try to keep abreast with the latest developments.
This is a hindrance to breakthroughs in productivity, software quality, and als job satisfaction. And in a couple of postings I want to explain why I think this is so and give some pointers as to how we could change it. Of course I can´t provide a silver bullet, but I would like to instill a and contribute to a discussion that is mysteriously missing from the hype around Software Factories.
If you like, stay tuned… Next time I´m gonna explain why I think software developers need to specialize their skills (more).
[See here for an overview of all postings of the series on the future of software development.]
 Software Factories, http://www.softwarefactories.com/
 Microsoft's Story on Software Factories, http://msdn.microsoft.com/architecture/overview/softwarefactories/