Go to content
The Codest
  • About Us
  • Services
  • Our Team
  • Case studies
    • Blog
    • Meetups
    • Webinars
    • Resources
Careers Get in touch
  • About Us
  • Services
  • Our Team
  • Case studies
    • Blog
    • Meetups
    • Webinars
    • Resources
Careers Get in touch
2019-06-07
The CodestSoftware Development

Custom projects and outsourcing. The ways to cooperate with software houses

Greg Polec

CEO

Custom projects and outsourcing. The ways to cooperate with software houses - Image

If you have ever considered using a software house’s services, you probably wondered what the process of cooperation between your company (customer) and the software house looks like. Most companies from the technology industry use a similar model of cooperation. Most often we talk about custom projects - developing an idea from scratch - or outsourcing.

The principles of the cooperation with a software house often raise some curiosity in the customers. They want to know a detailed plan of the daily cooperation, reporting on results, division of roles, and their necessary involvement in the project. When a customer needs to cooperate with an external partner, due to the high technological requirements of their product development, he could have concerns about the whole process. If a client has only worked on their products in-house, he might not know if the cooperation with an external team will be effective.

If you decide on this option for your product development, you will quickly find out that cooperating with a software house has many pluses. It is primarily a cost-effective solution, it provides high-quality work thanks to their specialization in some selected field, and it assures continuous technical support.

Basically, there are the two most popular ways of that cooperation. There are custom projects and outsourcing.

Custom project

This cooperation applies to projects developed from scratch. The customers usually come with an idea for a product and present it to the software house. Sometimes they may not have a specific idea, but know what are the most important functionalities they would like to see implemented in their solution. At the initial stage, the software house (using its experience) helps conceptually develop the product outline, helping the client understand what is the right technology for the specific product. This phase could be named consulting.

This initial stage of cooperation is needed to define the specifications and aims of the project. This task belongs to the customer. Based on this, the software house can make an estimation of the costs, project duration and deadlines for specific tasks. Both sides get to know each other's way of working and fine-tune the details. If necessary, the client can consult with the software house to find alternative solutions. If we are speaking about custom projects, the most common practice is defining the list of the necessary functionalities of the product to achieve MVP (Minimum Viable Product).

At this point, the customer decides if the cooperation can move forward and the contract is signed. The stage two involves the software house building a team that will develop the project. Often these teams do not only consist of developers, but also UX / UI designers - depending on the type of project. Then the Project Manager is then chosen to coordinate all the work and to act as a link between the client and the developers, in order to provide the best level of communication. It is also good practice to give the chance to the client to get to know the whole team from the very beginning. This helps to create trust in the client and involvement in the team.

Time for the development phase. Most software houses prefer to work using the Scrum methodology (an approach we can also recommend), thanks to which all tasks related to the project are gradually developed at a given time. All tasks are located for example in Jira (or any other project management tools) and they are grouped as follows:

  • backlog - tasks that will be performed in the future
  • to do - tasks that will be performed during the sprint
  • in progress - tasks that the team is currently working on.

The duration of the sprint is usually about two weeks. During this time, the team focuses on the implementation of selected tasks and continuously tests the created functionalities (code review). Thanks to daily meetings the team can share information about the progress of their work and the clients receive weekly reports showing the development of the project.

Depending on the client's needs, the communication between both sides can happen more often, sometimes even daily. Tools such as Slack or Jira are normally used to facilitate communication. In this way, the customer not only has an up-to-date insight into the progress, but he can also ask a member of the team for anything at any time. This process helps to keep the product in constant development.

It is worth noting that after establishing the basis of cooperation and confirming the specification of the project, the client's involvement comes to an end. The whole process is then taken over by the software house whose task is to achieve specific goals and targets.

Outsourcing

The second option is outsourcing. It is usually selected by companies that have quick or urgent needs related to the development of their product. Another reason for choosing outsourcing might be the lack of sufficient competence or manpower inside the in-house team. Such cooperation can start much faster than custom projects, because the client knows clearly his needs and requirements from the beginning.

In the first stage of cooperation based on outsourcing, the client determines his needs and asks the software house to appoint the appropriate team member with whom he could cooperate. Then, most often comes to verification of his skills. This can be done through an interview and a familiarization meeting. But sometimes the software house might implement a free trial period (1-2 weeks) for the client to test the skills of the potential employee.

Once the verification phase is successfully completed, the client outsources one or more developers to join his in-house team. In this case, the Product Owner plays a crucial role. He contacts remote developers and coordinates their work. All this process is made easier thanks to specific tools that help to measure the working time of each developer. This is also useful information for the client to understand how much time is actually needed to perform a specific task.

As you probably noticed, outsourcing is a relatively simple and fast solution that does not require a lot of commitment from the client. It's an easy way for a company to add developers to its in-house team for temporary projects. Its advantage is also the possibility of conducting a test period, where the developer's skills are verified, and the company can get to know his method of work and ultimately decide whether to establish further cooperation. This minimizes the risk of choosing the wrong candidate.

Outsourcing IT projects

Summary

Custom projects and outsourcing are effective methods for developing your product from the technological side. The key is choosing the right partner - preferably one who has experience in developing projects similar to yours. This should reassure you that the software house has sufficient competences to help you. It is also worth checking the opinions of other clients and see how they evaluate the work of the whole team.

Read more:

  • How to effectively manage remote developers? The guide for CTOs
  • Is it worthy to go global, expand the business and gain new markets?

Related articles

The Codest

Project management in SCRUM

SCRUM is a project management methodology based on empirical process control theory, which is consistent with the values of the Agile manifesto (2001). This is not a restrictive work methodology but rather a framework that allows...

Mateusz Lesniak
The Codest

The Codest Core Value #1

The Codest believes in four crucial values that are the core of all actions taken by The Codest teams. In this article, our CEO and co-founder, Greg Polec, explains what acting fast and focusing on the bigger picture means to us.

Greg Polec
The Codest

The Codest's Success Story: Meet Lukasz Brzeszcz

This time the star of The Codest Success Story is Lukasz Brzeszcz, our Ruby software developer and programmer. How did Lukasz’s journey with The Codest begin and what helped him to become an awesome manager? Read this article to...

Monika Krupa
The Codest

The Codest's Success Story: Meet our Finance Lead Iza

In this article series, we share the stories of The Codest teammates who have had an impact on the present shape of our company. In the following piece, we ask our Financial Lead, Iza, some questions about her career at The...

Monika Krupa

Subscribe to our knowledge base and stay up to date on the expertise from industry.

About us

We are an agile software development company dedicated to empowering our clients' digital transformation projects and ensuring successful IT project delivery.

    United Kingdom - Headquarters

  • Office 303B, 182-184 High Street North E6 2JA London, England

    Poland - Local Tech Hubs

  • Business Link High5ive, Pawia 9, 31-154 Kraków, Poland
  • Brain Embassy, Konstruktorska 11, 02-673 Warsaw, Poland
  • Aleja Grunwaldzka 472B, 80-309 Gdańsk, Poland

    The Codest

  • Home
  • About us
  • Services
  • Case studies
  • Know how
  • Careers

    Services

  • PHP development
  • Java development
  • Python development
  • Ruby on Rails development
  • React Developers
  • Vue Developers
  • TypeScript Developers
  • DevOps
  • QA Engineers

    Resources

  • What are top CTOs and CIOs Challenges? [2022 updated]
  • Facts and Myths about Cooperating with External Software Development Partner
  • From the USA to Europe: Why do American startups decide to relocate to Europe
  • Privacy policy
  • Website terms of use

Copyright © 2022 by The Codest. All rights reserved.

We use cookies on the site for marketing, analytical and statistical purposes. By continuing to use, without changing your privacy settings, our site, you consent to the storage of cookies in your browser. You can always change the cookie settings in your browser. You can find more information in our Privacy Policy.