Interview with the Chief Operating Officer of Delivery Department: ‘Staying A Step Ahead’ (Continuation)

We continue the interview with Vitaly Hornik – the Chief Operating Officer of Delivery Department of XB Software. In the second part of the interview, you’ll learn how projects implementation is monitored, how we communicate with our customers, how our programmers work and what plans the company has for the future.

– Who controls the whole process of work over the project? Business analysts?
– At first, business analysts find out what result is expected and then check out whether the achieved result corresponds to the expectations. Business analysts don’t track forecasts and time frames. It is a manager’s responsibility. The analyst works with the project scope. It means,  he takes the scope and divides it into parts together with developers, and then adds tasks to a string. When a developer implemented the assigned work, the business analyst takes a look at the list of features which were added and compares it with the initial data. Afterwards, he contacts the customer and says: “Here is the list of features we agreed – and here they are, implemented in the product.” Forecasts, risks, team upgrades are not the business analyst’s responsibility.

– Do you have enough business analysts and project managers?
– At XB Software these roles, as a rule, coincide, except for several large projects. The division is required if the project involves 8-10 people and the project scale is so big that one person is not able to track it alone, make sprints and spend time on thinking whether we meet the deadline or not. Besides, he also has to take care of resources, team satisfaction and the skills it should possess. He also has to talk to each member of the team and motivate him. One analyst is not enough for such project, and therefore these roles are divided. Any project consists of a certain number of processes, disregarding the project scale: be it a project where only two persons are involved, for example, a customer and a developer, or  it is a large project that involves  a customer, a manager, an analyst, and the second analyst, and also QA engineers. The processes are always identical. There is always some initialization, scheduling, meetings…A different matter is how many processes and roles are assigned to a certain person. The larger the project,  the narrower is each participant’s specialization.

– How communication is built with the customer during the project? Does he contact 1-2 team members (for example, the business analyst or the project manager), or, maybe call-sessions with all team participants are organized?
– The fewer people are involved in daily communication with customers, the better it is for the project. There should be few сontact points with the team because if there’s many contact points, you will need to organize a meeting for knowledge synchronization of all the team members. If the customer discusses the same scope with several team members at the same time, the team members will have to constantly agree what they do and what they should get in the end.

Example 1:

The customer can tell one developer to create a user profile with the user avatar uploaded. Then he tells the other developer that the user avatar should be taken from Google+ account. Moreover, he could give tasks to both the developers at a different time: one of them got a task during the Skype call, the other one – by email. And it might happen that both the developers started to implement these tasks simultaneously.

–  After all, the developers working in a team agree upon what functionality they will make and how, right?
– Yes, synchronization of information takes place. And if the team consists of 15 people, it would be harder to arrange a standup-meeting with them. Just imagine: if 15 people would speak up for 5 minutes explaining what they’ve done, what they are going to do and what problems they have, it will take 75 minutes so far, i.e. 1 hour 15 minutes. That means that we would deliberately lose 15 man-hours or 2 man-days per day, making each team member  listen to what others do. It is a bit too much.

– Ok, let’s assume that the business analyst communicates with the customer who tells him how things should be done. Then the business analyst comes to developers, says that they have to do a certain feature in a certain way. And someone from the developers says: “No, that won’t work out. We’d better do it this way”. Have you had such cases when a developer was categorically against some implementation and insisted on doing the other way?
– Yes, of course. There is such a concept as feature feasibility, and  there is a concept of implementation cost. Sometimes the benefit from feature implementation can be lower than its cost. I mean that it can happen that the value of feature is low.

Example 2:

The customer needed to store all documents in a data base and someone recommended him to use MongoDB from NoSQL. The customer thinks: “I will use a cool technology, and my project will become cooler too.” And the developer can take a look at all the requirements for document storage and say that it is inconvenient to use Mongo and it can cause an array of problems. Or, on the contrary, the customer thinks that it is a good idea to store documents in mySQL, and the developer says that it is better to use Mongo. Perhaps, mySQL meets the requirements, but with Mongo the app will work faster. In such cases, a meeting or a call are arranged with the business analyst because he is responsible for knowledge synchronization. It means, he is the person who synchronizes all client’s inquiries to make sure they do not conflict with each other.

– Has it ever happen that someone from the team (for example, the manager) can’t find a common language with the customer while working on the project? What do you do in this case?
– Well, there can be various individual peculiarities like allergy. In communication it is the same: there can be intolerance, for example. In this case we change the project manager. It is easier to change the manager, than the customer. The customer  is unique.

– For what reasons customers can refuse from XB Software services at the stage of negotiating the scope of work? What are they generally dissatisfied with?
–  In any case, customers usually contact different companies and then choose the company that meets their requirements most of all. They come with a certain project in mind and this project should have a certain functionality. Here it is necessary to approach the customer competently, to be able to sell yourself. In fact, we have done nothing for this customer yet, but we have to instill confidence in the customer that we will make the project better than others. He will choose the company that will instill confidence in him most of all.

– So the issue is about the manager’s communicative skills?
– Yes, but in general, the customer’s attitude to the company depends not only on communication. The customer pays attention to the company website’s look and feel, how information is structured, whether everything is clear , how proactive we are and whether we can forsee his needs.  If we are staying a step ahead with the client, he won’t refuse from our services, because we forsee his desires and thus his delight constantly grows.

– Is it you who makes the final decision will we undertake this project or not?
– Not only me. The decision is made together with the sales department.

– Have you ever had projects you had to refuse? For example, you got the customer’s vision of the project and didn’t undertake it but advised someone who’d meet the customer’s interest most?
– Of course, we don’t cover all spheres. For example, we can receive requests for projects where the frontend part should be implemented in JavaScript, and the backend part in Java. Since we specialize in frontend development, we don’t undertake such projects. We can only offer implemetation of the frontend part (note: see the full list of services ).

– Are you going to expand the range of services, for example, develop native mobile applications?
– Of course, in fact we are going to conquer the world. 🙂

– It is clear. The thing is that nowadays the development of mobile applications is in the trend, and XB Software offers generally the development of hybrid apps. Why don’t you offer Android/iOS app development?
– Generally, we create business applications and, based on our experience, the existing opportunities of hybrid applications (built, for example, on PhoneGap) are quite enough. Such hybrid app differs from the native app only by the operating speed. In general, for the majority of non-gaming applications the difference in performance won’t be noticeable. Besides, with PhoneGap there are no restrictions in the use of hardware resources of devices. Developing a PhonGap application, we worked with a camera, took pictures, sent them to the server, worked with NFC-tags and GPS sensors. It is possible to make 8 out of 10 apps using PhoneGap. And the development of such app will be much cheaper than that of a native app. PhoneGap is not the only one, but it is very popular and has a big community, and we’ve been working with it for a long time. We offer development of a PhonGap-application and we say that it will work as a native app. You only know that it was made on PhoneGap,  but you wont’ see the difference, especially if you not a developer. Some customers agree to such an option, some don’t. (Note: more detailed information about the development of mobile applications can be found ).

Read also the .

If you’d like to ask questions the Chief Operating Officer of Delivery Department of XB Software, send them to us using this or leave your comments below, and we’ll do our best to answer them.