Could you share any evidence that would demonstrate the productivity, quality of work, or the impact of the engagement?
This was a very interesting experience for me, which happened very early on in the project. I had my initial conversation with Iflexion, and was slightly tentative about the offshoring aspect of it. I had an opportunity to work with a UK company via a contact that I knew personally. Instead of initially engaging with Iflexion as a first instance, I decided to use the contact that I had, saying to them let's do this for a month. They're based in London, and I'm not far from London, so I thought it felt more comfortable to me, as opposed to going offshore, to be able to get on a train and go and sit in a room with the developers and the project team on any day of the week. We talked about that.
Cost-wise, I could see that the costs that they were going to charge me were really not affordable to me. However, because I had a personal connection, I was able to get to a highly discounted rate. We started the process, thinking we'll give it a run for a month. We were using a technology that was slightly new to them, so it was slightly experimental for them and me as well. I can say that the cost of that month didn't work out. We shook hands and parted on a friendly basis. It was an experiment for a month, and I got code at the end of it.
In contrast, in terms of metrics, the cost of that exercise to go and do business with a local UK company at a highly discounted rate was pretty much double the rate that I would spend on an ongoing basis with the team that I currently have. They were fine, having a very good process and being a very successful local company, but it was, as a startup, unaffordable and unsustainable to me from a cost point of view. Being able to get as far as I have really wouldn't have been achievable had I not had access to Iflexion and the rates that they're charging me.
How did Iflexion perform from a project management standpoint?
Although I didn't have any involvement in the selection process, I have to say, without exception, I've had just a really high-quality set of people working for me. They have a fantastic process as well, whereby they will bring free-of-charge interns on my project, and I get to decide whether or not I want to do that. There's a degree of risk involved in getting a junior in on a project. So I can get free-of-charge resources while they work as interns, bring them on board, they get to have some learning, and I get a slightly non-senior resource, but at free-of-charge, to augment my paid team. Overall in the project, there have been different roles from business analysts to project managers, from senior developers to junior developers, and even interns—all of which I can say that my experience has been fantastic.
In terms of workflows, we used Skype for communication and JIRA as a workflow. We had a wiki in which we captured high-level requirements and use cases. There was a task manager, breaking use cases down into smaller chunks and actually getting sprint plans in place down at the task level and the bug level. I was also working with a QA team over there (a sister company), which is an absolute lifeline for me. We have a great workflow which includes the specification. We're using JIRA to manage the tasks and the use cases, but bugs and testing as key parts of the process are handled by a sister company (separation is good in that respect). From a software point of view, we used lots of communication on email, Skype, and then the task board across JIRA.
What did you find most impressive about Iflexion?
Comparing the productivity and performance of the UK company and Iflexion is slightly unfair in the sense that, while I worked with a very capable team of developers locally, the language and the technology was new to them. But I can honestly say, in my career of working directly with a lot of developers, my lead developer is one of the top three developers that I've ever had work for me, and the capability of the rest of the team has been of an equally high caliber. That’s compared with a lot of different scenarios in my career. Iflexion is a very capable group in general. The level of education and skill, from the project managers to the business analysts and the developers, has been very high.
Are there any areas Iflexion could improve?
The only thing that I have, and it's not a criticism but a choice of my own really, which is, from time to time, they'll move resources around, because they're juggling not only my project but a whole bunch of other projects. From time to time, I might lose a resource who's spent some time getting up to speed on my project. It's an unfortunate aspect of our relationship, but it's not really fair to say that it's a complaint or a negative. If I could afford it, I could keep the resources and I could change the nature of that relationship. But other than that, I really don't have too much to complain about. They pretty much meet all of the needs that I have.
What tips or recommendations could you share that might increase the likelihood of success with Iflexion?
In retrospect, I got into this because I have a capability for myself as a developer. I did what I'm doing right now to scratch the itch that I had of going back to my roots of being the developer, writing the code from the ground up, getting to a prototype, and spending the time doing it. But honestly, in retrospect, I would suggest anybody who has the idea to go to them first. Take a fairly raw idea, invest the time with business analysts, have them understand your spec, and even write the first round of code. Perhaps don't get as involved as I did. I did what I did for a very specific reason, and I would do it again. But if you're going down the outsource route, embrace it and be comfortable handing off some of the technology, but be involved, as well. Embrace it, but get on a plane and go and see the team. Don't treat them like a faceless resource. Absolutely go and meet them and see them. I now have had a bunch of time in Minsk and spent a bunch of time with the team, and I regard them as my team, as if I'd employed them myself. That changes the dynamic of the relationship. There's absolutely no doubt. Because they know me and I've had personal contact with all of them, I believe that part of the success of the work that I get is because they know me and they understand me and vice versa. Don't treat them as a resource; treat them as a team. At the same time, embrace them and allow them to run with the project because they're skilled people. They get it done and figure it out.