I have to vent a little, the world of development seems to be as bad as any other industry when it comes to fads.
When I started programming the big thing was Extreme Programming this led to lots or Pair Programming neither of which worked well with the project managers who studied PRINCE2...
Lately we have been beaten over the head with the "Go Agile" it will change your live, which I have been trying to use more and more, with varying success across a number of projects and clients.
I have bought books, read stuff online and even have a set of Planning Poker.
Please note, I am not an Agile guru, far from it, but I think I have seen enough to realise that using it "by the book" is not going to give you the results you are after.
As software developers we are designed (genetically predisposed?) to not follow rules, we are continually solving problems by thinking around the rules in place to create functional useable software (that has to follow user expectations and rules) and bending them to our needs.
Also following a set workflow for everything, 1 then 2 then 3 then 4, back to 2, then 3 etc is not too agile, wouldn't you say?
Meet Erik
I then found this video by Erik Meijer who is bonkers (in a good way) and a well renowned developer, he knows his shizzle.
The video is not going to brainwash you into becoming agile, the complete opposite actually and is well worth a watch over your lunch break (he may utter a few swear words here and there so is NSFW dependent on your colleagues), what it will do is make you reassess how you work and remind you that just because we are told stuff works, it might not.
One Hacker Way - Erik Meijer from Reaktor on Vimeo.
Don't get me wrong I am not against Agile, I personally think the ideas behind it are great, however in the real world it just doesn't work as a whole single idea.
When I started on my path to development enlightenment I was told to fill my virtual toolbox with as many tools as I could fit in there, learn everything new and shiny, stay on top of the latest methodologies and frameworks to ensure enlightenment and a massive paycheck. I was to be a software ninja.
In reality most of us get paid to work on a limited set of platforms at any one time, so knowing that a new 'something exists' is more important then knowing how it works.
We are all going to be 'Cross'
The day that we all realise there is no 'right way' to write code the better, gone are the days where a language can stop you from targeting a particular platform is nearly gone. Cross platform is here to stay, even Microsoft are in the game now partnering with Xamarin and with platforms like MVVM Cross there is no way back to one language one target.
Today we can write in pretty much any language to create applications that will run on multiple operating systems.
Isn't it that how we get to the end result is irrelevant these days?
Waterfall, Agile, Pair programming, Extreme Programming, Javascript, HTML5, C#, VB, Python, TDD, BDD iOS, Android, Windows - who cares what tools we use and how we do it right?
Just a thought