I read someone outlining a process for making change happen in an organization. Later on I realized, I’ve done that! Perhaps I should share? When I get those thoughts I my brain rest until I’ve poured the idea out into some kind of digital form. A twitter rant perhaps? Or in this case, a blog post. I grew up on a mountain farm in a very small town. Growing up in such a place sometimes gives you a bit of baggage which will serve you well for the rest of your life. Me, I learned that hard work is something which people do and it will pay off in the end. Not necessarily in the form of money or rewards, but in seeing the beauty in the fruits of your labor. This way of thinking has given me one skill which can be used to change organizations: work hard and never give up. I’ve read many articles which base their findings on studies and theories. Me, I like to listen to people who’s actually done the things rather than the ones making theories based on something they’ve studied. This does not mean those things aren’t useful, they’re just not for me. Here is a story about inflicting change at Finn. These are my recollections and my views, others might see things differently and reach other conclusions.

The Story

At Finn.no we had a situation where the design of the site hadn’t been changed for years. It looked 10 years old and completely outdated. Seeing a site which obviously needed some change was part of the reason I joined the company. My job was to be leader of the front-end developers and try to make them collaborate more and to establish front-end development as a craft in the organization. The big problem was that the site looked old and it was virtually impossible to make a redesign because of the underlying Java architecture which was a gigantic JSP tangled mess. With no section of the site being similar in code even though it was pretty much identical when you looked at it. In order to make a redesign possible, you first had to rewrite the entire Java front-end layer in order to add any kind of CSS/JS/HTML changes. “It can’t be done, we already tried that”. This phrase is something you’ll hear in any organization that has existed for a certain amount of time. In the case of Finn.no which was more than ten years old this was usually a true statement. The statement was one I heard many times when say we needed to change everything. I am a stubborn person who have a hard time accepting “established truths” I find unreasonable. Like redesigning the entire finn.no site, certainly that can be done when you have more then one hundred developers at your disposal? It’s not like updating some HTML, CSS and JavaScript is so darn hard that it just can not be done. We wanted to create an architecture which enabled a small team to redesign everything in a week. Naturally getting the time, resources and mandate to perform the change is hard and takes an enormous amount of time. However the actual task of doing it is sometime much easier and straight forward than navigating the corporate world of politics, egos and individual agendas. We did manage to get the mandate and resources to do the project. Was it because of our brilliance and cunning planning? No, it was pure luck.

First lucky break

I happened to have made 4-5 slides which outlined what I wanted to do and what it would require. It was just rambling which I’d spent 10-15 minutes on, so it was in no way an elegant pitch. Through some fortunate coincidence this slide deck landed in the hands of a group of leaders and they decided the project was ok to start. I heard this through a third party who congratulated me on getting the OK to start, which left me baffled as I didn’t know anyone was going to decide on that any time soon. In fact I was still wondering how on to make someone do just that. But there it was, I had been given the task of doing something which I basically had very little clue of how would be done. I hadn’t worked much on the platform we where going to change at all. Most of the changes would have to be done in the middel tier which was written in Java. Some parts of the platform was ten years old and a complete mess of JSPs and a custom MVC framework. Most of the platform was rewritten just a year ago with Spring and things. I’m a capable Java programmer, but far from being a very good one. The fact that most of our changes would be in the Java layer was a bit of a concern. All I knew is that everyone wanted to make the change happen and we’ve had two people creating a CSS framework which would make setting up the front-end easy. It had to be done, so there was nothing left but to start working. We did the transition in a number of iterations where 1-2 people,  from the teams which part of the platform we where working on, would join our team of 3 to convert this into a new site.Making sure we had ambassadors in every team would be a key to not have the architecture deteriorate with time. If we could make sure they got a sense of ownership it would mean we had people to help out and improve the architecture continuously.

Another lucky break

During that first iteration, we had a one more strike of good luck. Rumours were spreading that we were going to be doing this massive rewrite of the entire front-end. This did of course spark a bit of interest in the rest of the organization. We had people coming by with questions, words of encouragement and sometimes with people came with concerns and worries based on what they heard we where doing. One individual came by and started discussing something, I don’t remember what it was to be honest, but it ended up in quite a heated debate with one of the developers who where helping us out at the time. From what I recalled it ended with the person who started the discussions saying: “Good luck with that” when we outlines what we wanted to accomplish with the project. This was the moment I knew that we would succeed. There was no way we were going to let the person be right about us not being able to do pull this off. We wrote the quote on the whiteboard in the room we used and it was there to remind us that failure was not an option. Having something to rally the team around or against is invaluable as it gives you focus and additional motivation to make the change happen.

In closing

The whole rewrite process took 4-5 months instead of 4-5 weeks, which was my first estimate. There were numerous complications due to politics and issues with customers, but we always managed to continue pushing forward. Once we redesigned the site, we did it once more just a few months later in just weeks. It proved the huge rewrite did enable us to move a lot faster and to redesign continuously with a small team. This was one story about making changes happen. It is about having a goal, working hard and continue pushing until you’re done. What path you take to create the change isn’t important, do what comes naturally and what suites your context. Don’t pay too much attention if you are not following a theory or methodology, it’ll be fine :)