A long time ago, in a galaxy far far away… I was working with a telecommunications company that built store and forward message switching systems. I was mostly doing maintenance on a system that other people had designed and built. I was young and full of piss and vinegar and I wanted to build my own systems that would be better and faster and on and on. I had an opportunity to go work for a news wire service to build a brand new message switch on a newer hardware platform. At the time I said that it was like getting a new box of crayons and a brand new colouring book. A fresh start.
I went to the new job and built the system, but to extend the metaphor, I had to share my crayons and let other people colour in the book too. While I was able to build the system I wanted, I didn’t always have full autonomy and was sometimes told what colour crayons to use.
We learn and we grow and maybe everything I needed to know I did learn in kindergarten… Now I see Service Oriented Archtectures (SOA) on the horizon I know that there are a lot of pictures that have already been coloured on,there are a lot of used and broken crayons in my crayon bucket. And somehow we’ll get to a point where the services we build (the pictures we colour) will be useful.
I no longer believe I can start with a brand new box of crayons and a fresh colouring book. In all cases we have to work with the existing system we are given. Starting where we are at, making modifications to old systems where they need to change, integrating new systems with old systems, sharing our ideas, negotiating approaches to building complex software systems and working to deliver useful software and information to the users of the systems we create.
Sharing the crayons, being patient while you wait for someone to finish with the aqua-blue, knowing that some people colour outside the lines (myself included) no matter how hard we try to keep things in order. Some people won’t like the colours we’ve used, and will want to scrap our pictures and start again. Some people will depart before they are finished leaving pictures half coloured that we’ll have to finish,
I believe the biggest challenge we face in any development environment is that everyone ultimately wants to make their mark with their own crayons and colouring books. It is rare to find two or more people who can work closely together, be egoless about the deliverables they produce, share a collective responsibility for the final outcome and see eye to eye.