Tag Archives: Outsourcing

Every year, the importance of digitalization is felt more and more strongly, and primarily it is felt by non-IT companies. When a company decides to digitize their company, a dilemma arises: do you hire your IT staff or use outsourcing? 

Today, we will talk about the benefits and challenges that companies can face by using an example of one customer story.

 

We will make our own web platform

We deliberately removed the company name, but we will share the specifics of their work. The company was engaged in collecting data on partner violations, doing reviews, and solving the legal problems of their customer. The key problem was the lack of automation in certain areas of work. That is, the operator receiving the call had to fill out a questionnaire and describe the problem to conduct a review and give feedback. All of this took a lot of time and human resources that should be optimized.

This is how the idea of ​​creating a platform arose, where the client could fill out an application and transfer it to specialists in an already prepared form. By Simply adding this platform would significantly reduce the burden on the support department and make it possible to unify the application system.

But an idea remains an idea until it is realized. Once implemented, the company’s management decided to hire one developer per staff, as it initially appeared to be less expensive.

 

Recruitment difficulties

The client conducted interviews with various specialists but came to the conclusion that they lacked an understanding of how to select the appropriate specialist, how to verify that they would deliver the required work, what technologies they should know, and so on.

This often becomes a significant challenge, as it can be quite difficult for someone unfamiliar with the implementation of a task to evaluate the competencies necessary for its completion.

In addition to hiring difficulties, our clients have voiced concerns regarding retaining specialists who work with different cultures. The specifics of developers’ work are different from those of other employees, making it challenging for developers and IT specialists to work in teams where they are not well understood.

 

Let’s hire a freelancer

As a next step, the hero in our story decided to seek out a freelancer who could assume responsibility for delivering the final product, enabling the client to avoid becoming embroiled in the intricacies of the code and its implementation.

This approach could have worked. After some time, they were able to find a specialist who was willing to take on the task. The developer asked for technical specifications to understand what needed to be done, as developers typically do.

The development tasks were set by one of the best managers in the company. Unfortunately, he did not have the knowledge or experience in developing software solutions, resulting in tasks being set as he understood them. The freelancer did as requested and as he understood, but delivering the software product was ultimately impossible. The client spent tens of thousands of dollars and a year of time.

 

How did our story end?

Unfortunately, this is a typical story that we encounter in our experience. Writing good code is only part of the project’s success.

Ultimately, our client turned to an outsourcing company, which conducted a business analysis stage where they mapped out all the platform’s functionality, determined the requirements, created a prototype, and clarified which parts required development by the developer and what type of specialist was required.

Not everything went smoothly this time, and choosing the right outsourcing company is always challenging. We will talk about this in the next article.

 

The story’s moral is simple: employees, freelancers, and outsourcing companies all have different approaches to implementing business tasks. It is crucial to carefully evaluate one’s strengths and weaknesses and choose tools and approaches that will lead to the result you need to get.

Further information on the business analysis can access through the link.

 

Implementing new technologies is a complex process. In addition to creating the technology itself, there is the human factor. People are not always able to immediately grasp the essence of changes and accept them, even if it makes their life easier. This idea was especially noticeable in the project to create an ISA device. This project aimed at developing cities according to the Smart City principle and focused on simplifying the control of meter readings collected by housing and communal services.

 

The city wants to develop, but what about its inhabitants?

When we got a project idea, we had been working in the software development market for more than ten years and tried to do hardware development. We had a customer with a software project. During our long-term work, we learned that our client could not solve the problem with hardware development. He turned to various hardware developers. Every other convinced him that it was impossible to make an acceptable or inexpensive solution, that they were experts, and nothing would come of this venture. So we wondered since we have already worked with software for this domain.

You will learn how we implemented this project below, but the result deserves interest. We created our hardware development department, created a device for the customer and continue to work on this project.

Are you sure you want to hear all the details?

The qualitative implementation of the project requires a business analysis stage, which is particularly important for a serious task. We started with BA. We learned that in residential buildings, there is a planned replacement of old meters with smart ones. The plan was as follows: to install 500 units per year. It was possible to install 250 units, and it was necessary to install 10,000 units. At such a pace, the plan in 20 years turned, at best, into 40, or even never at all. In addition, the same scheme for collecting indicators looked “slightly” outdated.

It turned out that some “unknown” number of people were walking around the city and taking meter data. At the same time, the city’s power company is doing the same. Due to the difference in the removal dates, the indicators do not match, leading to conflicts and the inability to track the amount of electricity consumed.

During the verification process, it turned out that some metering devices were not installed at the facilities in principle, but data were regularly taken from them. Because of such situations, the relevance of all data tended to zero.

If it were necessary to make the most unreliable system for the operation of something, then this would be its example.

 

How to solve the data transfer issue and not pay several billion for it?

The idea of the project was simple – to simplify the data transfer procedure into three steps: take a picture, recognize and transfer the data to the server. The critical problem was cost reduction. Otherwise, there is zero practical sense in such a solution.

The situation turned out to be interesting. In the process of in-depth market research, we found the following: most meters are either induction or already smart. They have a digital interface and the possibility of remote transmission. But in both cases, there were nuances. Smart – super expensive, and induction gave a significant error.

 

If the others can’t, we’ll do it ourselves

The solution was to use the standard set of components. That is, hardware engineers (in Ukraine, by the way, these are electronic engineers) used a relatively common set of parts for the board.

In searching for the correct answer, we were so carried away by the idea that we already intuitively felt this could be done. Having hired our hardware-electronic engineer, we set him a task. By the way, our new teammate was very optimistic.

A hot young engineer calculated everything, and we concluded that two months would be enough. And as a result… we spent more than a year on the first version. A few more months were spent adapting the device for operation in actual conditions.

 

Half the battle is to invent, and half the competition is to implement

Having reached the stage of practical use, the question arose – which camera to choose. It seemed like the best option was to select the cheapest one, but then we failed. It turned out that the form factor of the cameras is very different. As a result, they went through hundreds of cameras but found the necessary one. We installed it. And then, it turned out that you need to read the readings but do not remove the device from the meter. We will not describe the entire path of searches, selection of the required dimensions of the device, calculation of the focal length, and struggle with exposure. One of the main problems was the lack of connection at the counter installation sites. Many meters are located in the basement.

After the first report, it turned out that half of the devices could not send information. Of particular pleasure were the public utility workers. The illuminated meter became a topic of conversation for them for a long time.

 

What did we finally get?

Throughout the project’s development, there were many reasons to refuse and stop, but we did not give up. We took on this project and confidently moved forward with our clients, supporting each other through tricky development turns. Fighting humidity and temperature regulators, setting up a data recognition system using neural networks, fighting with the local population so that new technologies are not hyped for spare parts, and much more.

Not to mention the manufacture of the devices themselves using 3D printers. Of the required five, there were only two, but it must be necessary. Then our 3D printers appeared in our arsenal.

Now, ISA devices are actively used by the state energy company “Oblenergo” to take meter readings. In the future, it is planned to develop systems to transition all city services to the concept of using smart devices.

And perhaps, the central insight of the project was thinking out of the box. In an attempt to find outsourced performers, we often encounter blinders. At the same time, our goal was to complete the project in any way and fulfil our obligations to our client. Therefore, despite the beliefs of hardware engineers, software engineers and neuroscientists, the project was successful and integrated into urban systems’ operation.

 

There are situations when the deadline is not just burning, but specifically, the chair on which the customer is sitting is already being burned. Taking on a project that is a month away from delivery, and the process has barely crossed the starting line, is not an easy task. Most experienced teams refuse such projects because these are big risks, but our team knows how, as they say, to play at limits and bring any business to the end.

 

What is all the salt?

The customer, – we will not divulge the name, let it be John, – met the team a couple of years before the “hot” situation at one of the conferences. After talking more closely, he handed over his project for an estimate, but in the end, he chose another contractor due to the lower cost. In fact, our team estimated the project twice as expensive, taking into account all the difficulties and risks.

The story could have ended there, but after a personal visit to the Ukrainian office and a closer acquaintance, John takes on a small team for another project. A month later, he asks to pick up another project, which we have estimated earlier. It turned out that there was only one month left before the completion of the year-long task, and 30% of the work still had to be completed.

 

Take or refuse?

Such situations in the development market are not uncommon. All because of basic mistakes in planning (we talked about this in another article, which can be found on the blog).

Finding himself in such a situation, John asked for help, because in case of failure he faced heavy fines since the customer company is a large enterprise. After conducting a preliminary assessment, our team assessed the starting conditions and came to the conclusion that to finish the project in 3-4 weeks, one of which will be spent on coordination with the client, the collection and onboarding of the team is a very big risk. Risky, but, as our PM said, it is not impossible. The system was written by a different team, the available documentation was in chaos, and there is no direct communication with the client – all of these reduces the chances of closing it on time, and our team tries not to take on the project if it cannot guarantee successful completion.

Even realizing the likelihood of failure, John asked to take on the project, since the professional team was his straw. In this case, it was better to try something than to do nothing at all.

Like any customer, John was worried about what the budget would be, and what would be needed, and asked for estimates for completion. There was no time to make an estimate in such conditions, and the work was carried out in the support mode and research with “gestures”. All for the sake of minimal planning, with the transition to further full-fledged analysis.

To give an estimate, it was necessary to understand the project, to understand all the functionality, modules, and a complex data structure, to conduct an assessment, and there was simply no time for it. As a result, we calculated the budget based on the number of people in the team and the number of weeks before the deadline.

Now there was a new problem.

 

How to beat time? Gather a good team

In such situations, without a good team, as without hands. In the literal sense of the word. When work on the system started, a huge number of problems emerged, ranging from lack of documentation to lack of staging, unstructured code, and an absolute break in communication.

In fact, the problem was much more global than can be described. Due to the fact that the code was written by many developers, while everyone wrote as he wanted, there were simply an uncountable number of bugs not fixed in the tracking system. The functionality was isolated within a certain page, there was one thing in the mockups, but in reality something else.

Despite the enterprise level, there was no documentation, not even the design of the system. To say that difficulties arose because of this is to say nothing. Even the same button was implemented differently in different parts. There is even nothing to say about testing, no one has done this a priori.

There was a lot of work, so we rolled up our sleeves and got down to business.

 

What was done?

To ensure minimal planning, we switched to Scrum with short sprints. Organized dev, demo, test, and production development environments, and implemented CI / CD.

Since the transfer of knowledge on the technical organization of the project and the business component was carried out in the development process, the following decisions were made:

 

Planning

Estimation of tasks by the developers was made on the basis of their previous experience in developing such systems without being tied to the existing code.

The resulting estimates were modified by coefficients related to the developer’s current level of boarding in the project and the individual performance of each developer.

We have simplified the estimate approval system: everything that was less than 4 hours was done without confirmation.

 

Testing

The final testing and preliminary analysis were taken to the client’s side since we could not fully accept the project in such a short time.

 

Systematization of development

To get quick results, the development was initially carried out without changing the architecture and refactoring. In parallel, an analysis and description of the architecture were carried out, a system of requirements was organized and a list of technical debt was formed.

 

After 4 weeks …

All planned tasks were completed on time, the system was stabilized, and the team was assembled and onbordered. In addition, the foundations were laid for the further systematic development of the project. The guys worked overtime and did the simply impossible, especially considering all the difficulties in development, which only increased the term of work. But in the end, the team backed up what John promised the client by the end of development.

In this case, the PM did a great job of team building. The guys were from different teams, and it was very important to create an atmosphere for productive work. As a result, the whole team was ready to work overtime.

The customer liked the project, and after it came the next proposal for cooperation at a more relaxed pace.

 

One of the most important aspects of project management is an estimation. All projects require a budget and stakeholders want to know what it is before the project is started.

Project estimates are an estimate of the time or effort required to complete a project. When you are working on any project, the estimate – it is also the estimate of the time/money of the project – cannot be 100% known until its completion. Most frequently, a buyer will want to know the price of any project at the outset. In order to somehow calculate this estimate, there are 3 types of assessment one can use:

  • Order of magnitude rough estimate or ROM estimate – accuracy (-25% to + 75%)
  • Budget Estimate – Accuracy (-10% to + 25%)
  • Final grade (Definitive) – accuracy (from -5% to + 10%)

Let’s try to figure out what will give a more accurate result for the ROM or the Final Evaluation.

Assessment and its types

An approximate order of magnitude estimate is considered rough or less accurate than other types. Reasons for this vary because of the fact that it is done in the early stages of the project, usually at the initiation stage, when there are still many unknowns. This estimate is usually requested by the client to decide on when to start the work.

  • With ROM, the difference between the estimate and the actual figures can reach 75% or more, making it 25% or less accurate.
  • The final estimate is used at the last stage of the project. Usually, in the case of the final assessment, the range of accuracy is from -5% to + 10%, both in plus and minus.
  • In addition to the ROM and the Final Evaluation, there are several other types of estimates: preliminary and budget. In the case of a preliminary estimate, the deviation range can be from -15% to + 50%. Budget estimate from -10% to + 25%. And, of course, the final estimate is 100%.

The accuracy of the estimate may change as the project progresses. It is like a funnel where the initial spread can be large, but over time it will narrow.

 

ROM versus Final Evaluation

For clarity, we will take the PMP Exam study project, and in practice, we will illustrate the degree of accuracy of the assessment.

At the very beginning of their preparation, applicants may have little or no knowledge of the PMBOK examination program and guidelines. The time period for preparation is about 3 months of distance learning, which is considered a rough order of magnitude (ROM) estimate. 

The actual study period cannot be known for sure, as the only way to estimate it is through the experience of other examiners.

After the exam preparation course, the PMP applicant should be able to understand the topics and fill in the knowledge gaps. This means that the approximate study time will be 100 days. At first glance, it seems like it looks more like a final assessment.

Usually, at this time, you need to immediately book the date of the exam, which can serve as an additional incentive.

 

Mock exam question

The project runs for 3/4 of the projected duration, and the last component needs to be built to improve the accuracy of the system. The project manager updates the cost of the entire system.

How accurate is the estimate?

  1. Preliminary estimate
  2. A rough estimate of the order of magnitude
  3. Budget estimate
  4. Final assessment.

 

Helpful Memo: Approximate Order of Magnitude

Early in the project, you have very little information, and the management has asked you to quickly provide a budget estimate. In this instance, you will provide a ROM of the budget estimate. It is likely that you will find the accuracy of this estimate is lower than you would after more information is gathered. The accuracy typically ranges from -25% to + 75%.

You will probably find this value by comparing any similar types of projects completed in the past, or simply by looking over a wide range of work and then making a decision about it.

In this instance, you are rapidly estimating and finding a cost estimate that is likely less than you will spend.

 

Answer:

The correct answer is choice #4 because the project is nearing the end and most of the costs are already known. The only variable is the “last component”. It can be concluded that the estimate of the cost of the system should be in the range from + 10% to -10%.

 

Now you are guided by the difference between the ROM and the Final Grade, and at the same time, you have acquired something new and useful for yourself.

 

 

Traditional business models, one where the boss provides office space and any necessary equipment for the job, are gradually becoming a thing of the past. The formation of new models of business relations, together with quarantine restrictions, has become almost canon for hiring for a specific task, rather than the permanent maintenance of an entire worksite. 

So now the moment arises when you need to start a conversation to find the perfect candidate who can fulfill the order and … here is where we stop to consider our options.

How do we choose from the thousands of applicants? How do we assess each applicant’s qualification for the job? And, after all that searching and sorting, how do we decide who will provide us with the results we are looking for?!

 

Let’s Look at our Options 

Freelancer, I choose you!

Few people in the modern world have not heard the terms “freelance” and “outsourcing”. For now, let’s focus on the first one. In some cases, the term freelance is associated with a traveler, a person who can find work wherever he is. It’s romantic, isn’t it? And some consider this type of self-employment to be… almost unemployment. Each of these opinions is true in its own way and here’s why.

In the modern hiring market, the freelancer is the most competitive niche; the name, experience, and quality of the work performed are valued, but you should not expect that they will stay with you forever after one order. That is, freelancing is a workshop format in which an employee is an independent specialist and can, and do, lead several projects for several clients at the same time.

So it would seem that here he or she is – the ideal worker. Unfortunately, a long-term working relationship has risks when a freelancer got sick, lost interest in the project, decided to change the profile of his activity, go to sabbatical or downshifting. 

The lack of guarantees is one of the biggest disadvantages of such employees. If the terms of reference or the desired result were not overly accurate, the result may be unpredictable. After all, “as they said, so they did” and there is nothing to oppose.

 

How can you build work with outsourcers?

What is the difference between hiring a freelance employee and outsourcing? First of all, let’s figure out what outsourcing is. 

Outsourcing – in simple words – means hiring a company that will take on all aspects of a specified project or project with a full set of related contracts. Outsourcing the work means transferring responsibility for the implementation of a long-term project to a group of specialists, each of whom performs a specific task.

An indisputable advantage of outsourcing is that the outsourced company or business fully manages the project or task during the period specified in the contract, which means that your product receives long-term service. In addition, outsourcing work will allow your business to reduce the cost of maintaining individual systems and infrastructure.

Pros and cons

Now, having figured it out, let’s try to consider the positive and negative aspects of hiring forms.

Freelancer.

Pros:

  • “can” do everything;
  • the price is lower than outsourcing;
  • works both remotely and in the office;
  • hourly or piecework wages;
  • a simplified form of payment.

Minuses:

  • it’s hard to find a responsible employee;
  • no guarantees;
  • knowledge remains one person, with his passing – they are lost.

Outsourcing.

Pros:

  • take full responsibility;
  • turnkey work with the necessary documentation;
  • they independently implement the project under the specified conditions;
  • less likelihood of delays;
  • they work in the office or remotely;
  • preserve knowledge about the client’s company, project, and processes and transfer to all new participants;
  • select and onboard new members themselves;
  • can provide additional service;
  • ensure the growth of performers (productivity, team) along with the growth of the customer’s company;
  • guarantee the quality standards of the work performed.

Minuses:

  • price.

The Big Question: Who is safer to give money to?

Now, having a clear understanding of each, it’s time to answer the question, which is better? 

A freelancer is always a risk that the service may end up being provided, hence the resulting loss of accumulated knowledge about your company (tasks, processes, expectations, communication). And another important point – when you need to increase capacity due to business growth – a freelancer will not be able to increase quickly, he is alone. 

Outsourcing company – preserving the expertise, knowledge of your company, and everything that is listed above within the company, if one person for some reason cannot continue to perform tasks, the second is connected, to whom the knowledge accumulated by the company is transferred without the client’s time and efforts. Plus, you can increase the team, add employees of other profiles. For example, if you need development, and you do not need to look for a freelance designer if you need to correct several design pages, or conduct a business analysis of a new module. It is very important to make sure that the outsourcing company provides all the listed services.

Contact managers of Itera Research, they will be happy to tell you about our guarantees and processes.

 

With mobility, technical expertise, and a deep immersion to provide quality business results with robust solutions would soon endow Itera Research as one of the top software solutions and services providers in Ukraine at GoodFirms.

 

Overview of the Company:

Founded in 2004, Itera Research is a software and hardware development company catering to the International market with outsourcing and outstaffing. Located in Kharkiv, Ukraine, and having the representative offices in Germany and the USA, the company has gained many competencies to serve the clients of Education, Smart City, Tourism, Logistics, and Finance. 

Moreover, the company offers IoT, eLearning, CRM, ERP solutions for business automation, and various projects for global clients. The experts profess flexible and quality solutions to the clients by converting the most ambitious business ideas into profitable, secure, durable, robust applications. 

Itera Research gives first-class client service rendered by PMI and UPMA certified managers assigned to every client. Besides this, the group offers Web, Mobile, Desktop custom software development – UI design and coding, implementations on any CMS – outsourcing/outstaffing – Cloud solutions.

 

GoodFirms’ Research Process:

GoodFirms is a research and reviews online platform that judges different business people who provide their services to the service seekers by exercising its inclusive critique process based on the three primary perspectives, viz Quality, Ability, and Reliability. 

Same way, the GoodFirms unit also assessed Itera Research and found that with its outstanding services and solutions, the firm gets entitled as the leading company in e-commerce development services. 

Besides this, the researchers also concluded that Itera Research would soon get dubbed amongst the leading software development and mobile app development at GoodFirms.

The summary from the evaluation, as mentioned-below, describes Itera’s working patterns.

 

Software Development:

Itera Research produces various solutions for different industry verticals that traverse mobile, web, and desktop platforms. The professionals offer a full-suite package of custom software products and application development services.

Itera Research holds a team of project managers, developers, and quality assurance engineers who have experience in developing solutions satisfying clients’ technological business requirements, including E-commerce, IT & Telecom, Education, Healthcare, HoReCa, Tourism, and Entertainment industries. The group takes full responsibility for rendering to clients with quality solutions within time. 

At Itera Research, professional engineers combine their experience and ability to create software and ensure the development process is effective and reliable. The group also guarantees that systems developed matches with high-performance requirements for maximum secure domains.

Thus, equipped with such an experienced and knowledgeable engineers’ team catering to the clients’ requirements would soon bequeath Itera Research as one of the top software development companies in Ukraine at GoodFirms.

 

Mobile App Development:

At Itera Research, the app developers accouche mobile app services compatible with devices such as tablets and smartphones that are used much more often than traditional PCs. Itera Research practices in developing mobile apps, including cross-platform mobile applications such as iOS, Android, Windows 8+.

Moreover, the professional team creates apps to help the clients positively impact the world. Besides this, the app development team specializes in native and hybrid solutions that span millions, change attitudes, and set the standard for innovation in industries. 

The app development team employs a thoughtful approach to design, usability, content, and performance to produce pixel-perfect apps across iOS and Android devices. Thus, collaborating with incredible businesses to bring ideas to life and transform the way iOS and Android communities interact with mobile brands would soon facilitate Itera Research as one of the top mobile app development companies at GoodFirms.

 

Ecommerce Development:

Web commerce requires unique solutions emphasizing a safe and fast processing payment system, a reliable alert system, and simple purchase management. The professionals hold expertise in e-commerce technologies guaranteeing 100% satisfaction for clients.

Itera Research produces Content management systems and eCommerce solutions of any size and complexity. The developers’ team holds vast experience in implementing eCommerce projects that allows them to develop, test, and support eCommerce applications to assure a resilient and efficient system for marketing and selling clients’ services or products to the world.

The developers fully integrate order processing, receiving payments, and inventory management with clients’ sites and give them an ideal shopping experience. Thus, offering high-performance e-commerce solutions for online businesses right from startups to enterprise-grade e-commerce stores facilitates Itera Research as one of the top ecommerce development companies in Kharkiv at GoodFirms.

 

About GoodFirms

Washington, D.C. based GoodFirms is a maverick B2B research and reviews company that helps in finding software development, mobile app development, and e-commerce development agencies rendering the best services to its customers. GoodFirms’ extensive research process ranks the companies, boosts their online reputation, and helps service seekers pick the right technology partner that meets their business needs.

 

About the Author

Anna Stark is presently working as a Content Writer with GoodFirms – Washington D.C. based B2B Research Company, which bridges the gap between service seekers and service providers. Anna’s current role lingers in her to shape every company’s performance and critical attributes into words. She firmly believes in the magic of words and equips new strategies that work, always in with ideas, something new to carve, and something original to decorate the firm’s identity.

 

“We are really proud of being named a 2020 Clutch Leader amongst the top B2B companies in Ukraine!” – Dmitry Kornilich, CTO

From artificial intelligence to 5G to edge computing, there are so many up-and-coming trends and technologies in the software development space that it can be hard to keep up! However, there’s no need for you to worry – that’s exactly why we’re here!

Since 2004, we’ve been established as a software and hardware development company providing outsourcing and outstaffing to the international market. We’re headquartered in Kharkiv and we have representative offices in Germany and the US. 

Since our inception, we’ve gained a number of competencies that allow us to declare our expertise in education, tourism, logistics, smart city, and finance. These include, but aren’t limited to, IoT, eLearning, CRM, ERP solutions for business automation as well as a variety of state projects for Ukraine, Germany, and the US.

Many of our projects have been featured on our Clutch profile. These client reviews help validate our successes and recognize our team members’ contributions to their projects.

“Working with Itera has been a pleasure for us. . . It is also worth noting that the majority of development is hitting the mark on the first try with minimal adjustments and revisions.” – CD, Music Distribution Company

Seeing the satisfaction and happiness that our clients have after we’ve delivered their solution is validation enough, but it is with much excitement and eagerness that we announce our exciting news.

Recently, we received an award for being a 2020 top software development company in Ukraine. This means we’ve been highlighted by Clutch for being a leader in our field and having a strong commitment to high-quality customer service.

With this, we would like to recognize our customers. Thank you so much for your partnership! Our team couldn’t have received this award without you. We take pride in being your development agency and look forward to our future work with you.

Get in touch with us if you’d like to start your next project!

Quite often, we hear the information about gaps in communication between the client and the remote developer: the developer does not respond to messages quickly; the developer does not get in touch in time; the client can’t control the order of task completion, and change task priority; the developer didn’t do the task as the client wanted or the client clarified the changes in Skype, and the developer relied on the description in the email; the developer spent more hours than the client expected and the developer did not warn about it.

To minimize communication gaps, we offer a few essential basic clauses of the “agreement” that can form effective interaction with the customer and remote developer.

  • Determine convenient communication channels with your Remote Worker (RW) (mail, instant messengers, Skype, Zoom, etc.) and the exact time of docking.
  • Form a system for recording the time spent on work, decide on a time-tracking model.
  • Make sure RW has access to the task management system (Jira, Trello, Google sheet, etc.) and follows the basic guidelines for using it.
  • Talk it over all the requirements for the development process: style/coding, test coverage, compatibility, performance, deployment, etc.
  • Determine a schedule for fixing and “delivery” of development results, both intermediate and final.
  • Make sure that RW has access to third-party services, add-ons, special equipment required for operation.
  • Consider the need to sign an NDA (non-disclosure agreement) and, if necessary, inform the outsourcing company manager.

Discuss each point and make sure that both sides understand it. Please note that if the development environment has been set up by a contractor, you will have to follow company rules and policies.

We hope these simple guidelines will help you find a great professional! Good luck!

Should I give development to a remote team? Today everyone felt how difficult it is to put together an in-house development team. And not always an in-house team is a possible way out. There are plenty of situations when connecting a remote, ready for rapid start team is a necessity. Organizing the proper and completely safe development on your own side requires significant financial investments in technical equipment and in-depth study of the subject and when you are on deadlines for the implementation of new modules, this is ultimately not an option at all.

If we are talking about the development by a third-party contractor – outsource. How to verify his decency and competence? Can a contractor provide complete security? Is it possible to ensure the necessary level of security by working with a remote team? What must be spelled out in the contract? And what will it take to sleep soundly? 

Let’s sift all the factors through. And you will be sure about your actions. What we recommend doing to ensure safe development and how processes should be configured. We divided all basic security measures within the contractor’s company into organizational and purely technical.

 

Organizational security measures.

Staff recruitment. In the case of data or equipment theft, unauthorized information access or interference in the system there is the risk to the profit lost and financial losses. In addition, there is a chance to lose key employees and teamwork. Without them, it is difficult to survive the crisis, restore the image and positive dynamics of enterprise development and revenue growth. Thus, the person, developer, manager is the main factor. We advise you carefully to select team members, empower the security department to collect feedback from previous jobs and customer reviews.

NDA (non-disclosure agreement) – an agreement with the customer. This is not about a common NDA. In projects with high data security requirements, it is necessary to sign an agreement with each team worker who has production data access. This applies to non-disclosure, confidentiality, and liability of all involved parties.

Organization of workspace access. When it comes to ensuring the business and employees’ safety, an access control system is the most effective way to prevent unauthorized entry, restrict some employees’ entrance to prohibited areas and control the access of the whole team. We strongly recommend organizing automated access control to the territory and to the internal premises of the office for employees and visitors taking into account the assigned access rights. An important element of security is the global re-entry control, which allows you to stop the pass usage after it is transferred to unauthorized persons or as a result of an abduction.

Regulated access to personal computers. Reliable identity recognition is critical if you need to control the users’ access rights to certain information in order to prevent its damage or loss. In our practice, we have come to the use of computers with biometric authorization. Using biometric readers, we can see who and when used this or that computer, entered the server or other room. Face recognition authorization prevents illegal access to a working computer, even if access codes have been stolen. Another point concerning the main biometric characteristics that allow identification is the analysis of keyboard handwriting. The system collects information about each employee: analyzes the speed of keystrokes, pauses between keystrokes and hold time. It creates an individual portrait. If a third party uses an access code, for example, another employee or an attacker, the system will be able to respond to an unauthorized attempt to enter by notifying a security specialist or denying data access.

Monitoring and each user activity analysis within the network using special systems. First of all, this system determines the possible risks: which employee works with valuable information, what applications he uses, whom he communicates to. Thanks to the algorithm’s actions, it is possible to predict the potential risk of the company if the employee is unreliable and also to predict risks and find potential “holes” in the information security system. Вehavior that deviates from the individual norm is a signal about a violation of the security perimeter.

Video surveillance is an essential part of a modern security system. Companies want more and more to protect themselves from unwanted intrusions and attacks. Video surveillance is an information system that provides visual information that allows you to either restore the picture of an incident or get the necessary data about events, processes, and people. The job profile directs whom, how and under what circumstances it is possible to report personal data (custom credentials) for corporate networks connecting. Instruction is an integral aspect of high-quality and reliable development.

Passing specialized courses and owning certificates for software development. Teamwork experience in accordance with standards: SEC, FINRA, SOC 2, ISO / IEC and others. Choosing the contractor company, be sure to ask: what certificates does the team have to speed up the creation of safe development processes.

 

Technical security measures.

Distributed data access rights. An obligatory component of development security is access rights (permissions/restrictions) for working with databases. They are necessarily distributed by assigning predefined roles to users and groups. The impossibility of copying and making changes to the data is ensured. There is also developers’ restriction of access to the test environment and to version management.

Securing your local infrastructure. The local infrastructure allows you to quickly test and debug features. When developers produce new features, they can access production data through an intermediate unit using a secure VPN connection. We also recommend that you configure secure VPN access for external (trusted) services and servers. Staging boxing is not a universal solution in testing, as the process becomes too complicated. Sometimes you may need to deploy a local test environment. Keep in mind that to eliminate internal threats of data corruption, it is worth recording all actions. It is also advisable to limit the transfer of data outside the company network and storage on an external media.

Encryption. All stored on computers and laptops data must be so encrypted that even in the event of theft they cannot be used. It is necessary to provide data encryption protocols, encryption of the transfer protocol of integration buses, and so on.

Architectural solutions, architectural protection – personalization and posting information are separated. For example, in medicine, this may be the storage of personal information about the patient separately from the history of his illness.

Production Data should be denominated so that it is impossible to trace the data owners.

Code-based security. According to statistics, most sites and software are vulnerable due to errors in the code. The code can be checked with a third-party company, but this is an additional cost. The ideal option is the implementation of safe development tools on the contractor’s side. Requirements for code verification and safe development should be included in technical requirements. For example, it should include: conducting static code analysis at the development stage and code acceptance within the SDLC. Dynamic analysis (DAST-analysis, Dynamic Application Security Testing) of developed applications. Conducting an analysis to search for the so-called zero-day vulnerabilities, whose signatures and patterns are unknown. While transferring the finished software, should be prepared a report for the analysis of its security. On the developer’s side should be the analyzer adapted for embedding into the development environment, thereby providing the ability to check the code for vulnerabilities at each stage of the software life cycle. It’s enough for the client to have the same analyzer as the developer, but already in a lighter desktop version that just checks the final result (ready-made application).

What is worth noting? This is not a complete list of steps that can be taken to organize safe software development. We will be very happy to tell you more. If you have any questions remaining unresolved, please ask us and let’s share experiences and improve development security.

Yes, we live in a time when the only difference between services and products is that the client can perceive the quality of service. But exactly this difference creates his positive attitude and disposition towards the company and its products or services. This is a competitive advantage for client-oriented companies. The most accurate and comprehensive definition of customer service: “Service is what our clients think about it.”

Surprisingly, many companies do not see the connection between sales and quality of service. They consider their unspoken contract fulfilled when a client receives a service or product. They consider the service as an unpaid, unforeseen and, as a result, a completely unnecessary bonus. But the underlying nature of service has remained unchanged. People want courtesy, product knowledge, help and enthusiasm from company employees. Quality service is the concentration of all resources and all employees of a company on client satisfaction. It is all employees, and not just those who directly communicate with the client. The service includes everything: sales, delivery, order processing, HR, correspondence, invoicing, sales on credit, finance and accounting, advertising and public relations, data processing, etc.

No matter how far technology goes, clients will always appreciate the friendly, caring service provided by real people. They will smile when you call them by name, provide them with information, or provide assistance that they did not expect. And they will tell their friends about friendly, attentive service and employees who know what they are doing and who like to do it.

We are committed to becoming a customer-oriented company that understands that its only real asset is satisfied clients, each expects an individual approach.

Our client is a partner! A partner who is ready to consult with you and trust you, with whom we are in the same reality, have common interests. Our clients are also the result of our work! We are developing thanks to the non-standard tasks that we solve for our clients and together with our clients. Together we find the most profitable solution for optimizing processes and increasing profits. All this inevitably has a positive effect on long-term cooperation.

Inspired after a productive working week with our client in the Kharkiv office of Itera Research.