I’m the founder of an organization called Agical, we mainly do consulting in Sweden and we focus on the technical aspects of Software Development. We do some Coaching but mainly Coaching around technical aspects, and lately we have been drawn into projects where we do a lot of refactoring and turn applications that are really critical for an organization into something that works even better.
Shane: Now that whole refactoring and redesign element, you are actually the person who came up with the Mikado Method.
Yes, it’s me and my colleague Daniel, we were working on a software project, I believe it was 6 or 7 years ago or something like that, and one day we realized that we had to redesign or rather refactor a large part of the system because we got an order and we need to fit another big customer. First we started trying to squeeze in new functionality and that didn’t work, and we tried even harder and harder and at one point we had like 1200 files checked out and locked so no one else could use it and then we realized that we can’t do it this way, so we needed to do it in another way, and that is the sort of the moment where we came up with the start of the method and we starting exploring that and give doing presentations about it and then pieces started to fit together and now it’s a method for refactoring or rather restructuring large software projects.
2. Can you briefly give us the sort of core of that, what is special about this?
The non-intuitive aspect of the method is really, you try to do something and just try to do it in a very head-on way, but when you break the code you don’t keep on pushing, you revert and then you try an action that might solve what you just broke and then if that works you keep going in that way, but if that brakes anything you roll back again. So you make heavy use out of a Version Control System so you reset to where it works, and then you try stuff, and then you build up a tree or a dependency tree of information around that refactoring and eventually have a big tree and leaf nodes, the actions on the very edge or the end of the tree is what you can actually do, and then work a way back to your original goal.
If it’s a small redesign you can fit it in your head but this is for big redesigns, it can take months, usually weeks but even months.
4. And how was that fit in Agile process where you are using sprints for instance?
It fits really well because you do this from the main branch all the time, main branch changes; works really well with, you can deliver any time because you don’t break anything you just fix the leaves and then you can deliver and you gradually come closer to the goal so you can even do feature development on the side and then do the refactoring and the restructuring at the same time, so it’s fits really well.
5. Now you did tell me that there’s a book coming?
Yes there is a book coming about The Mikado Method where we explain it from the beginning for beginners, it’s, we are trying to keep it, it’s a technical book but there is value in reading it even though you might not program every day, so Scrum Masters, project management might want to read it as well but might want to skip the code parts, because I think even though you don’t program you can apply it to structural change.
6. And that book will be released?
Early 2014, but there is a preview, you can download a preview if you order now you get the first five chapters.
Shane: Thank you. You gave a talk at the conference yourself and Declan Whelan on Win-Win Conversations.
“Win-Win Conversations” is a technique when you have or when you want to have a conversation about a tricky subject, so it’s an easy model where you try to pull information out of another person or an individual. So you try to put yourself in their shoes and then you or so to speak you invite them to your house to see your view and then you try to put yourself in their shoes and then like coming to their house and see from their view, and from there you build a common ground and a common understanding and then from there you can go to the next level and the Win-Win for both. So even so you might think there is a conflict in what you are trying to achieve, you can see both perspectives and then releasing something bigger.
Shane: Sounds simple.
It is, well the model is simple, the application of it is somewhere harder but I think most people already does this, but maybe not in a structured way and I think even though you might not be an expert at applying it, you can benefit a lot from it, in your personal life, in coaching situations.
I think if you want to, if the true goal of Agile Alliance is to be an international organization, there has to be a different perspective than a North American perspective and I think what I add is that, the perspective of the North European maybe. If you want to expand into Europe or just want another perspective, I think I’ll be able to give that.
8. And what is your vision for the Agile Alliance?
I hope that, back in 2001 I came in contact with Agile for the first time and it changed how I view software development and how projects are run and I want to enable that or make people see that that are other ways of developing software than endless projects or death marches, I want it to be fun, fun working and I want it to be productive and I want it to be sustainable as well, so that fits really well with the vision of the Agile Alliance, and also I think there has to be a lot of focus on process, on how you do stuff and how you manage projects, but I think there is, which I also bring to the table is the view of the technical person and maybe also the human side of it.
9. What is happening with Agile in Scandinavia and in Northern Europe?
What I see because I’m also part of the conference Sponsorship program, (is that which supports new conferences by financial needs) you see there is sort of a wave going over Europe from West to East, you see how new sometimes very small countries in Eastern Europe and South-Eastern Europe, they want to start their own conference, they want their own community, they want to do stuff by themselves, so what is really happening over the years that I’ve been involved is that there is been a sort of a mini explosion of small Agile conferences and I think that is needed in order to grow a community. You need something to gather around and I remember when we started the conference in Sweden, the Agile conference in Sweden, it gave people an opportunity to meet and exchange ideas, so I want to be part of that enabling people to meet.
10. And that community in Sweden, how it’s thriving?
I think it’s very early, I think is the sixth time we have run the conference now and it’s an open space event, so the community in Sweden are really engaged in creating a great conferences. We mix open space with lightning talks, so before lunch we have lots of lightning talks, and the lightning talks are from the community, so it’s really nice to see how much the community engages and what’s even nicer to see is that people that come to the conference next year, they might talk at the conference, so we really encourage new speakers, new ideas and a year after that people that were there a year before, they speak, so I think we have had at least 100 different speakers which I think it’s really nice to see.
12. Just thriving and growing?
Yes, so once we had a question or rather statement that: “This community it’s like 90% the same people all the time”. So we started tracking that and look at, who are the persons that show up at this conference and I think 80% of them were there for the first time, which is really good and that is been a pattern that we’ve seen for three years, so 80% new people, so there are 20% returning but they might miss a year but they will return like second two years after, but yes, I think it’s growing and it’s fun to see how much energy people get out of a community event like that.
Shane: Ola thank you very much for taking the time to talk to InfoQ today and enjoy the rest of the conference!
Thanks Shane!