Gone are the Days of Simple Developer Tools

originalfox I read with interest a post by Ted Neward titled "Agile is treating the symptoms, not the disease".  I will leave you to read the post in its entirety but point out Ted is paraphrasing a talk he attended with the speaker saying:

Keeping track of all the stuff Microsoft is releasing is hard work: LINQ, EF, Silverlight, ASP.NET MVC, Enterprise Library, Azure, Prism, Sparkle, MEF, WCF, WF, WPF, InfoCard, CardSpace, the list goes on and on, and frankly, nobody (and I mean nobody) can track it all.

This is so true.  Microsoft used to chase the small developer is not chasing the enterprise and in doing so has created all of these complex pieces.

I think I understand Ted’s point.  Today’s tools are overly complex, built up over the years on top of existing layers upon layers of functionality.  Even new tools and frameworks built from the ground up try to jam all the functionality of an older tool times 5 over.

Gone are the days were we used great tools like DBase IV, FoxPro and Clipper to create business applications.  It is very true these applications were created by 1-2 developers, not huge teams.

Do our tools today need to be so complex to justify a software development practice such as Agile or Lean to help us make efficient use of these tools?  The answer is probably.  We need these methodologies to keep ourselves honest to make our software work as we promised within all those moving parts in the frameworks.  Even radical tools such as Ruby on Rails requires much finagling with its core and the plethora of open source gems that a suite of tests is needed to make sure we are delivering what we promised.

It’s true, this was not the case in the FoxPro days, we created some really valuable applications for businesses to solve their problems and they worked well.  We did not have fancy test suites (no automated ones at least) to make sure things didn’t break when we added features.  We didn’t need to because the software was not that complex.

Maybe it’s hard for some people to understand what may be interpreted as a negative trend in our tools and frameworks.  The reason may be because those folks have not been around software development long enough see it.  This isn’t to say they are inexperienced, but just have not experienced the simpler tools of yesterday.  As Ted eludes to, he has several people he cares about that are old enough to understand:

Others, including many people I care about (Rod Paddock, Markus Eggers, Ken Levy, Cathi Gero, for starters) made a healthy living off of building "line of business" applications in FoxPro, which Microsoft has now officially shut down.

Phil Haack had a good post as a rebuttal to Ted, which Ted kindly replied to.  I felt like I was watching a tennis match while reading the posts.  I am not trying to get involved in the debate other than to say I understand and agree software development has become complex.  I admit I am an old-timer in software development years and miss doing projects in FoxPro.  Maybe I am just nostalgic.

There do exists a few tools I am aware of which lets small teams create software with minimal fuss:

I think smaller, faster and simpler tools are a great idea, maybe these tools are worth a look.  Could we being seeing a niche developing?

  • http://www.justhack.com/ Chris Saylor

    It’s funny you should mention this. I’m currently reading The Art of Unix Programming by Eric Raymond and the underlying theme of the book is that simplicity is Unix’s greatest strength and the reason for its popularity and longevity. Check out the book. It’s a good read, even if you aren’t a Unix developer.

  • http://www.justhack.com Chris Saylor

    It’s funny you should mention this. I’m currently reading The Art of Unix Programming by Eric Raymond and the underlying theme of the book is that simplicity is Unix’s greatest strength and the reason for its popularity and longevity. Check out the book. It’s a good read, even if you aren’t a Unix developer.

  • http://www.accidentaltechnologist.com/ Rob Bazinet

    @Chris – Thanks for sharing the book, I will check it out. I enjoy working on Linux so this might be a great read.
    I think we can all learn and benefit from adapting a simplified way of doing things. The MS stack is just so complex when comparing to the older tools I mentioned but even others like Turbo Pascal, Turbo C or Borland C++. I miss those days.

  • http://www.accidentaltechnologist.com Rob Bazinet

    @Chris – Thanks for sharing the book, I will check it out. I enjoy working on Linux so this might be a great read.

    I think we can all learn and benefit from adapting a simplified way of doing things. The MS stack is just so complex when comparing to the older tools I mentioned but even others like Turbo Pascal, Turbo C or Borland C++. I miss those days.

  • http://softwarerss.com/gone-are-the-days-of-simple-developer-tools-accidental-technologist/ Gone are the Days of Simple De

    RE: Gone are the Days of Simple Developer Tools

    Pingback from Gone are the Days of Simple Developer Tools : Accidental Technologist Software Rss

  • http://softwarerss.com/gone-are-the-days-of-simple-developer-tools-accidental-technologist/ Gone are the Days of Simple Developer Tools : Accidental Technologist Software Rss

    RE: Gone are the Days of Simple Developer Tools

    Pingback from Gone are the Days of Simple Developer Tools : Accidental Technologist Software Rss

  • http://www.shauber.net/ Shawn Craver

    The complexity of developing for many other platforms is part of why I love being an iPhone and Mac developer. Instead of giving us layers that add to the complexity, Apple is often giving us tools and Frameworks that make things simpler, and at the same time much more powerful. Two great examples of this are Interface Builder and Core Data. Both are powerful tools that can help eliminate lots of code, and thus unneeded complexity, but at the same time, they don’t preclude the use of code if you need to do something truly intricate.

  • http://www.shauber.net Shawn Craver

    The complexity of developing for many other platforms is part of why I love being an iPhone and Mac developer. Instead of giving us layers that add to the complexity, Apple is often giving us tools and Frameworks that make things simpler, and at the same time much more powerful. Two great examples of this are Interface Builder and Core Data. Both are powerful tools that can help eliminate lots of code, and thus unneeded complexity, but at the same time, they don’t preclude the use of code if you need to do something truly intricate.

  • http://www.accidentaltechnologist.com/ Rob Bazinet

    @Shawn – I agree totally. I left out commenting about Mac since the original post from Ted Neward was focused on MS shops. I like the way XCode works and it is certainly a great tool for Mac apps. I am a rooking in Objective-C, I need to have an app to build to really learn it.

  • http://www.accidentaltechnologist.com Rob Bazinet

    @Shawn – I agree totally. I left out commenting about Mac since the original post from Ted Neward was focused on MS shops. I like the way XCode works and it is certainly a great tool for Mac apps. I am a rooking in Objective-C, I need to have an app to build to really learn it.

  • http://npollack.wordpress.com/2009/10/16/friday-miscellany/ Friday Miscellany « NCorr

    RE: Gone are the Days of Simple Developer Tools

    Pingback from Friday Miscellany « NCorres’ Weblog

  • http://npollack.wordpress.com/2009/10/16/friday-miscellany/ Friday Miscellany « NCorres’ Weblog

    RE: Gone are the Days of Simple Developer Tools

    Pingback from Friday Miscellany « NCorres’ Weblog

  • http://calvinmarketing.com/ Calvin

    The Microsoft stack isn’t the only one moving towards greater complexity. The Java stack is also doing the same thing. This is one of the reasons I am leaving it behind. I’ve played with alternatives like Perl, Ruby and Python but never found any of them compelling enough to put in the time to learn properly. Nowadays, I find myself stringing together some unix commands and awk scripts (I installed some of these unix tools on my PC). Not perfect, but works well enough for my personal needs.

  • http://calvinmarketing.com/ Calvin

    The Microsoft stack isn’t the only one moving towards greater complexity. The Java stack is also doing the same thing. This is one of the reasons I am leaving it behind. I’ve played with alternatives like Perl, Ruby and Python but never found any of them compelling enough to put in the time to learn properly. Nowadays, I find myself stringing together some unix commands and awk scripts (I installed some of these unix tools on my PC). Not perfect, but works well enough for my personal needs.

  • http://cartiertankwatches.net/ Cartier Tank

    s. I’m currently reading The Art of Unix Programming by Eric Raymond and the underlying theme of the book is that simplicity is Unix’s greatest strength and the reason for its popularity and longevity.

  • http://cartiertankwatches.net/ Cartier Tank

    s. I’m currently reading The Art of Unix Programming by Eric Raymond and the underlying theme of the book is that simplicity is Unix’s greatest strength and the reason for its popularity and longevity.

  • http://overheadblog.com/2010/01/gone-are-the-days-of-simple-developer-tools-accidental-technologist/ Gone are the Days of Simple De

    RE: Gone are the Days of Simple Developer Tools

    Pingback from Gone are the Days of Simple Developer Tools : Accidental Technologist < Read what Young Indians Read

  • http://overheadblog.com/2010/01/gone-are-the-days-of-simple-developer-tools-accidental-technologist/ Gone are the Days of Simple Developer Tools : Accidental Technologist < Read what Young Indians Read

    RE: Gone are the Days of Simple Developer Tools

    Pingback from Gone are the Days of Simple Developer Tools : Accidental Technologist < Read what Young Indians Read