Agile, Lean, Open… What?

Regardless of background or religious belief most would agree that, in our current physical existence, our capacity for knowledge is limited. So much to learn, so little time… If, like me, you have a desire for knowledge and love learning you soon realise that it’s impossible to absorb anywhere near the information you crave.

I have a coping strategy,

  1. Know where I’m heading… long, mid and short-term. Knowing this will help me refine the scope of my learning to what’s important at the current time.
  2. Ignore the ‘noise’ – that’s anything that’s useless to my progression as a human being (e.g. what Justin Bieber is up to) or in conflict to the above.
  3. Ignore the above rule if something screams “I’m important, look me up!”. If my brain tells me it’s important to learn, it probably is and it’ll be absorbed quickly with minimal impact.
  4. Continually reprioritize my learning objectives – life changes, so must we.
  5. Learn just enough to achieve what it is you are trying to achieve – considering the constraints on time, anything more is wasteful.
  6. Return to a subject and learn more about it only when absolutely necessary – i.e. work or life requires that specialism.

In doing so, I have a chance of being able to productively contribute and add value to that small portion of reality that I am currently interacting with.’

As you can see, I basically take an agile approach to my learning, well, actually my life! With a busy job, a demanding family of 5 and an MSc to study for it’s the only way I can stay on top of things! In fact, I could happily add another item to the list above…

7. Deliver ‘Just In Time’ (JIT) which is equally applicable to my life as it is the manufacturing industry!

This blog focuses its scope on the knowledge I require to deliver value in my work. As a CTO / Project Manager / Software Delivery Manager and Solutions Architect (wow, we have so many roles to cover these days…) I face a continual struggle to stay abreast of modern technologies and useful insights within the software solutions ‘world’. However, it’s vitally important to do so and I want to ‘share’ my lean learning experiences with anyone else in a similar position. In doing so I’m anticipating that some of you may wish to reciprocate and we’ll all benefit.

We’re going to keep the articles purposefully ‘lean’ with the goal to obtain just enough value to provide benefit. You’ll not find any lengthy tutorials or step-by-step guides but you may find the odd technical overview supported by links to useful resources enabling you to explore further should you feel it necessary.

So that’s the ‘Agile’ and the ‘Lean’ covered… What about the ‘Open’?

My first introduction to programming came in the form of PERL, I moved to PHP and MySQL and then found myself in corporate environments requiring Microsoft technologies ASP (VBScript and HTML) which evolved to .NET and C#. This resulted in some expertise around the Microsoft Solution Stack including IIS, SQL Server, MVC, WebAPI and so on… All of this time I kept a keen eye on Open Source, the increasing prevalence of JavaScript, the thriving community and the very ‘cool’ tools they created and shared.

In my current role, I’m lucky enough to be delivering a variety of software projects for web and mobile and some web service integrations with partners. As such I’m exposed to various different technologies and trends and occasionally get to ‘hang out’ with some clever coding teams.

The argument for and against Open Source rages on but over time, as open source becomes ever more pervasive, I believe the arguments against it are slowly becoming less valid – particularly in the hosted software solutions space – which is the area where I concentrate my efforts. Even Microsoft realises it has to open source certain tools and technologies to remain ‘in the game’. So, for a variety of reasons (we’ll probably go into some of these in another post), I believe it’s time to move more towards the Open Source arena.

Along the way I’ll share my experiences of re-engineering our solutions and re-architecting them for migration to the cloud. We’ll consider technologies, choice of database store, hosting, and a number of other things… I’m armed with a Linux VPS which will serve as a host to this blog and a ‘playground’ for a number of technologies. Again, I’ll be sharing any experiments, outputs and learning experiences with you.

So, Agile, Lean and Open… let’s go and explore and have fun doing so!