I’ve always been a freak of optimization. Don’t get me wrong: when it comes to private life, I’m not exactly the most precise person ever (quite clumsy to say the truth), but when it comes to communication and the getting things done, I have never been able to stand redundancy and sterile communication patterns!
But only when transitioned from the wonderful Garden of Eden that a Master in Computer Engineering is (studying is so easy, my father always told me) to the awful truth that the so-called enterprise professional software development world is, I realized how much needed to change before making me happy. Especially in Italy, and I’m sure you know what I’m talking about 🙂
And luckily at that time (2005), I was given the chance to put all my rants out and propose an alternative: my first serious employer was the Italian telco giant Telecomitalia, and for them I wrote my master thesis around an aggressive Enterprise Content Management Business Process Reeengineering. Guess what, at that time my suggestion was to abandon vendor lock-in obsolete technologies, requiring a huge amount of manual operations and impossible to frame in an agile process, and based a “meet in the middle” approach, re-design Web Publishing processes on open source frameworks and development lifecycle.
7 years later (at the moment of this writing) things are much improving: I work for an open source company, which happens to leverages/leveraged the very frameworks (Spring, Hibernate) that I recommended at the time, and pushes a fresh approach to ECM every day. But my daily life as a Consultant tells me that we have so much to work on. While technology wise open source already cracked the development ecosystem and now most product are or are based on some key open source component, process wise we are still literally at the stone age.
So that must become my latest and more modern challenge / dream to pursue in my career: changing the world of software development, leveraging open source experience as a reference to build an open standard based, agile model for mature Enterprise Application Lifecycle Management. After all, why waste time in useless communications when we could automate and control (and therefore lay on a sunny beach instead of in front of a boring laptop? 🙂
I’d love to hear your daily experiences (and nightmares) around software engineering processes and how can we marry them (in the positive sense of the word :P) with such a coupled – but so distant – world like Business (Process) Management.
And hopefully together we can make the revolution happen soon!