|Interview with Alexey Krivitsky; our discussion held June 1, 2008 at Agile Coach Camp in Ann Arbor, MI|
WW (William Wake)- Alexey – To start, just take a minute or so and tell me about your background, how you came to be where you are today?
AK (Alexey Krivitsky) – I started as a developer about 8 years ago in Ukraine. I did some Java, .Net, Visual Basic. I quit that job; I had about half year to reflect on the years of my career. There were some books on agile on my shelf. One of them was Agile Software Development, first edition, by Alistair Cockburn, and some stuff about Scrum and XP. All these famous books… After finishing reading what I had, I thought it should work for me.
I found a job in a small offshoring company. The guys are from Denmark so they decided to set up a small team in Ukraine to maintain their software. They were quite flexible to change their process. By their nature they were a family business so they were willing to change anything and there was a guy who believed that agile can add value there. It was my real first experience with agile.
After that job I went working in Switzerland for a year.
What I'm doing now… I came back to Ukraine from Switzerland to set up an agile coaching business. Before that I had set up an agile community in Ukraine with about 200 people on the list, which is quite a lot, I think. I realized, "Here's an opportunity for me to develop myself in Ukraine," so I came back.
After about half a year, I realized that I was missing the real work. So I came back to my old team as a part-time Java developer. Now I'm trying to combine being a coach and being a developer, which gives me quite the experience. I have a chance to see the problems from different angles.
It's quite interesting how many things you can change being a developer in a team, not a coach, not a guru, just from the inside of the team. You can affect a lot.
WW – Can you tell about one of the agile projects, either how they became agile or something that happened with them?
AK – When I was hired by these guys in Switzerland they had been running the project for more than half a year. They had people in Ukraine doing development. It was a chaotic project without planning. We just had to deliver something by a given day. I already had some Scrum experience, and I set myself a task to convert development to Scrum
Now I'd do it differently, but you learn from your mistakes.
I was at the client side. So I coached the Product team to define requirements in a more agile way, how to estimate, and all that kind of stuff.
WW – Did they work with monthly iterations, or what?
AK – They worked with 2-week iterations. We tried different durations and we ended up with 2-week iterations.
We didn't have a fully deployable version after each iteration. What we had is a demonstration server as it was quite difficult to do live production. At any time, the stakeholders could just log in and try it. We also had weekly demonstrations in which we presented what we had done so far to different stakeholders. It was our approach to agile which was based on Scrum.
WW – Are there any techniques, tools, or tips you have when you're coaching people?
AK – I would say I was a coach but it is impossible to coach people remotely. If you have somebody off site and you have to email or call, it's impossible to coach those guys. If you want to coach, you've got to stay with them and be involved with them.
WW – I'm interested in things you do, behaviors you have, whether you think of them as coaching or programming.
AK – I was at a position in my life where I stopped being a traditional team lead and turned myself into a ScrumMaster. It's hard to do, because you get used to proposing your ideas and believing that you're smarter than other people. Instead you have to start believing that the team can make up better ideas themselves. You make yourself stop talking and just ask questions. This is a hard thing to achieve.
When I coach teams now, I always ask questions rather than make statements. We also had a session today about skills, techniques, and questions – how to ask questions without any resistance.
So what I'm doing now is trying to help people go the way I think they should be going. It can be achieved by asking the right questions. Each time I have an idea which I believe the team should take, I just turn it into transforming discussion where I also have the chance to give my ideas. After that we just decide which way to go. They may have taken my idea or not, but we found something that should be working for them.
Another thing which I am practicing is each time you are going to make a statement convert it to "What if you do it this way?" question.
Each time you're about to make a statement that can be taken with resistance, ask a question instead; it might help.
WW – What do you do to learn new things?
AK – We have an agile community – we organize conferences. It's a way for me to meet local experts and talk to them. I used to read blogs but I don't have that much time now. The conferences are the best investment of your time and money to learn something new. I will try to make the events in countries nearby. We'll see how it goes.
WW – Anything else you'd like to tell me about?
AK – I can tell you about the challenges of a coach in offshoring markets.
Developers in most cases are not interested in being agile; they do not see the values.
Neither is the management of the service companies – they do not care about efficiency. They care about the per hour rate.
The only right people are the product people. And they are far away
The outsourcing marketplace is quite huge, but there aren't that many agile people there.
WW – What do you find the biggest challenge when you're working with outsourced teams?
AK – The biggest challenge if you work on-site with the team is to make the client get this or get the customers to change the process. If you're a coach, you coach the team and coach the business people. It's hard to coach someone remotely. It's a challenge to coach teams to be more effective but it's only half the thing. The business people need to know how to manage requirements or releases in an agile way. There's no point in coaching just the development team.
It should be taken from two sides: somebody should be coaching the business side, somebody should be coaching the team.
I am looking for this kind of cooperation between US and European agile coaches.
WW – Thank you very much.
AK – I hope it was useful.
WW – I appreciate it.