By Marco Heerebout. I use this blog with a focus on my profession and related subjects and opinions. I'm active in the field of system development and software engineering, applying and mentoring Agile principles and Scrum, most of the times in a leading role or as Scrum master.

Friday, December 19, 2008

Quiet, busy and holidays are waiting... and Ruby

Hi there, I haven't been around here for the last two months. I've had some great post-initiatives about SOA and related items but they are still unpublished. I didn't have the time to complete them.

Now I'm one day away from a holiday. I'll of course enjoy the free time without obligations but next to that I will improve my Ruby skills. Being a consultant/architect for nearly a decade I didn't really do any programming or development myself. But Ruby got my real attention more then a year ago and I'd like to be able to create solutions or applications in between my others tasks. Or for real (temporary) use.

One of the noticeable things is that Sun/Java is playing a bigger role in the Ruby world. Since about 2 years Sun hired a few smart guys to build a Ruby interpreter for the JVM/Java Virtual Machine (more info here). They already did a very great job but now I really believe in a nice Ruby future... Ruby on the JVM is about the fastest implementation around (see The Great Ruby Shootout, dec. 2008). We already knew that Java's performance is incredibly good, but as a platform for interpreted languages the JVM does a very good job again. So I'm very enthousiastic about JRuby.

Last year I did a Java + JRuby based project for Studielink (more). With a 2,5 man team (I was the 0,5 man ScrumMaster) we did a very good job within 2 months. About a year later I still have the feeling we out-performed ourselves. Thanks to a great team and great technology, we did the job. Even afterwards, sometimes a bug is found or a new small feature is requested. These are found, solved and deployed most of the time within one or a few hours after we started the task. That's what I call AgileMore!

The nature of that specific application enables direct deployment, I know and understand that is not always an option. But if it is, we can! Just like most successful internet initiatives, eg YouTube about daily adapted the features to provide more and better services and functionality continouosly.

Maybe I'll come up with some Ruby news the coming days/weeks. My blogging intention for 2009 is to post more regularly at least weekly. More Agile news, insight, SOA, etc. Hope to see you here!

Have a nice Christmas!

Monday, October 20, 2008

Use the current crisis to become agile and maybe make the SOA step

Now is the time to stop thinking about making a step to become agile and just do it. Why? It's simple, now is the time to improve your business, processes etc and make the steps that were desperately needed. Use the crisis to grow and become stronger and better then before and beat the competition now, they are struggeling now and thinking about how to survive.

Don't just cut costs. That won't make your business better. Focus on value, remove waste and remove blocking issues/obstacles. Cutting costs by cutting/decreasing staff may seem logical because a lot of costs are made there. But on the other hand, that's also where the value is created, for your clients. You want to serve your clients (and new ones) so try to provide more value instead of less, otherwise you may loose them and that requires making additional steps. Prevent the negative spiral and step into making progressive improvements...

Raise productivity, raise the quality... Deliver the best value, fast and for a very good price. But how? Go agile! Agile methods can cause changes in an organizations culture and positively change habits: everyone will adopt the idea of always delivering high value, high quality, quickly and keep always improving that. Those are the main goals of going agile. And how does that impact motivation... for free? The motivation should go up and may end in a super team, sometimes even hyper productive teams. Who doesn't want to have that?

Besides becoming better, it's a perfect way for customers to control spendings. Especially in the software development and delivery business, it's possible to deliver iteratively. Delivering high quality and quickly.... that will also improve the relationship between IT and business staff which gives additional opportunities.

Talking about opportunities... implementing and effectively utilizing SOA is one of them!

I looked at SOA from different perspectives. One of them is to create agility. With agility I mean that the business and organization are able to react and/or change within weeks/months instead of quarters/years (of course everything is relative, but I'm not talking about huge airplanes or rockets. It's about "very competitive" versus "too slow"). Suppose a customer has a request which fits your business perfectly but you're not able to provide the service/product right now. And suppose you think you should be able to... How long would it take to be able to actually deliver a high quality and fitting service/product? When you're agile it takes you something in the order of weeks/months to deliver the first potential shippable product(s) or service(s), not longer. SOA in this case facilitates in (re)useable services and infrastructure, so you're easily a few steps ahead of traditional practices, "out of your SOA box"!

One of the other perspectives is about fitness. IT fitness to be specific. SOA could help to improve your architecture and makes your IT fitter. Most bigger companies have an architecture which needs fixing. But the advise in most cases is: keep the hands off, you can't fix it. Theses types of architecture are too complex and ill-planned. SOA implementation could start from any point and that means making your IT fitter from the start. A fit IT architecture nowadays is really a requirement to become agile. Removing waste and obstacles is an activity here before (more) value can be created. Implementing a SOA requires that you should remove waste and obstacles, otherwise SOA may only add costs instead of resulting in a positve ROI.

No wonder... Agile and SOA seem to be very related. If you do it the right way and that seems not very easy, as most bigger and smart initiatives aren't! My message of this blog to you: choose to improve your organisation by becoming agile and think about combining that with a SOA. Instead of cutting costs...

Beat the crisis! Agile and SOA help you!

Tuesday, September 16, 2008

Timeboxing is bad? NO, it's GOOD!

Last week I read an article in the Computable (a Dutch IT week magazine, in Dutch only, sorry). The subject was about system design and which pitfalls should be prevented. Besides being a story about more or less well-known practices it ended with an statement that we shouldn't time box. It even says that the "time box promise" requires a iron discipline to first create the full design upfront.

The provided advise is exactly where the trouble started in the first place, that's why too much projects failed and still fail. That's why we love and apply Agile!

Agile iterative time boxes help us to focus and to deliver the required value/functionality which can be delivered in the time boxes and with the requested quality! I we fail, we really want to fail fast! Failing fast enables us to learn quickly from our mistakes and errors. Sticking to old "unproven" practices as the article suggests is not what I did and will do...

The funny thing was that two pages further, an article dedicated to agile practices was printed. It was an interview with/some citations of Alistair Cockburn. Communication, having a feedback-cycle and delivering the value in steps were the mentioned key values.

A nice anecdote in the article was that some project owner was very happy because he got exactly what he needed, not what he asked for in the first place. Suppose that happens very frequently... I know it does!

What is the wasted investment of a full upfront design? We will never know exactly, but we know that things change in our world and even just by thinking about the thing we want. And then I'm not even talking about complexity...

The article: Vermijd valkuilen bij systeemontwerp (English translation by Google)

Saturday, August 30, 2008

Hug a developer today

Below is a nice video I found on the net which tells us a nice little story about the pain "we" have too much. Have a look at it, it only takes 90 seconds.

In my next posts I'll address this kind of issues and possible ways to prevent the pain.

(this video was created by DevShop)

Friday, August 22, 2008

Starting my blog

Soon (September) I'll start my regularly updated blog related to Agile and Lean principles applied to software and business development.

It's interesting to see that old habits and mechanisms that are not the most efficient nowadays are kept being used or applied a lot. Since my professional experience I've seen and applied a lot of alternatives and strongly believe and surely experienced that Agile/Lean principles actually result in better results and at the same time motivate the people and business involved.

These two factors -better results and motivated people and business- combined make both even stronger, so I've choosen and keep on going for that!