3 models of cooperation with our software development company

The article below outlines 3 different models of cooperation offered by our software development company. Depending on your plans and goals, they will comfortably ease you into a project with Altkom Software and dispel any quality concerns you might have. The models were developed based on the many years of experience we have gained in software development for enterprise clients – such as banks and insurance societies – as well as medium-sized businesses. The goal is to show you exactly what you can expect when you hire our software development services.

Software development: 3 models of cooperation with our software house

Software development: 3 models of cooperation

As per standard, we give our clients a choice of three models of cooperation:

  1. PoC/Pilot – Proof of Concept/ Pilot Project;
  2. Long-Term Partnership;
  3. Maintenance & Support.

Everything depends on your project, the stage it’s at and goals, as well as the trust you are ready to put in us. Below, we will explain which models are best for whom, how we get started and how we build development teams and manage their performance.

1. PoC/Pilot – Proof of Concept/Pilot Project

This model is dedicated for companies who don’t know us yet and may be wary of plunging head-first into an elaborate software development project with an untested software development company. In order to dispel any fears you may have and check our workflow, we can start from a smaller pilot project so you can verify our experience and methods.

What makes this model special?

  • Duration: 2-3 months;
  • Team: 2-4 specialists;
  • Goal: to build trust and identify risks (both on your side and ours);
  • No commitment: if you’re not happy with our services, you can end the project at any time.

Main features of PoC/Pilot

  • Proof of concept: we start from a smaller PoC/pilot project, focused on building a specific component of a solution or functionality that needs to be tested and verified.
  • Feasibility and compliance with expectations: the goal of the PoC/Pilot is to make sure the solution is technically feasible and meets your expectations, so as to avoid the potential risk of getting involved in an elaborate project that will fail to deliver the results you’re looking for.
  • Focus on innovation and complexity: the model is particularly good for projects that are especially complex or innovative. It leaves room for experimentation and lets you test out innovative ideas without having to commit to a long-term project immediately.
  • Final decision: after the end of the PoC/Pilot project, you will assess the results and decide whether or not you wish to continue working with us on a bigger scale. This is a flexible approach that minimises your financial and operational risks before you commit to a large IT project.

The PoC/Pilot model is an ideal tool for building trust between clients and software development companies and assessing the potential of long-term cooperation. It is also a way to avoid unnecessary costs and problems related to projects that in the end turn out to be unprofitable.

2. Long-Term Partnership

This model involves long-term cooperation between the client and the service provider, so it’s best for companies that have already worked with us before (including those that completed a PoC/Pilot project and want to continue working on the solution).

What makes this model special?

  • Duration: as long as necessary;
  • Team: flexible (we start with a small team and scale it up as your software development project progresses, as specified below);
  • KPI: monthly performance assessments (based on agreed-on KPIs related to parameters and software quality);
  • Budget control: once we have agreed on the terms and conditions of our cooperation, you can rest assured that the budget will not be exceeded.

This is a good solution if you require continued support in software development and upgrades. A long-term partnership may involve creating dedicated software from scratch, but also a regular delivery of new functionalities, upgrades or ongoing technical support.

Scrum teams in PoC/Pilot and Long-Term Partnership models

Infographic showing 3 approaches to building an IT team

In the above two models, we offer three different approaches to IT team building: 

  • Autonomous teams

On your side, the only team member is the Product Owner, whose role is to make sure the solution aligns with your business vision. To achieve this goal, other specialists, such as developers, Scrum Masters, analysts and testers also need to get involved in the software development process. Within this framework, we deliver the whole autonomous team to perform the analysis, design the system, develop, test and deploy the software, and then provide maintenance services.

  • Dedicated teams

In this model, we provide developers who are involved in the software development process, but it is your own team that takes care of analysis, supervision and project management. Your analysts produce requirements in the form of stories, which are sent to our Scrum team; we then use these to create the sprint backlog in communication with the Product Owner. We work within the Scrum framework, developing the product in an iterative-incremental way, with early and frequent deployments.

  • Mixed teams

You can also choose a body leasing model, where we deliver specialists that join your own team. In this model, the responsibility for software delivery is mainly yours. Of course, we can shore up your team with experienced experts to boost software development performance and outcomes.

Software development – start of cooperation with enterprise client

Since a large proportion of our clients are corporations, we have developed a convenient script we follow when staring out on a new partnership, which can be summarised in several steps:

  • Handshake: we meet each other, sign an NDA, conduct a project assessment, make an offer of cooperation and sign an agreement;
  • Setup: we set up our communication channels, decide on the frequency of our meetings and their scope, we set up VPNs, repositories and reporting tools. At the beginning, we prefer to meet at your offices so we can get to know each other better and understand all the demands of the project. After that, we mainly work remotely, although it is possible to have someone from our team (usually the project manager) based on your premises to coordinate and supervise the progress of the project;
  • Knowledge transfer: we organise business, Product Discovery and technology workshops;
  • Scrum development: we go on to the development phase, working in 2- or 4-week sprints;
  • Retrospective: we place an emphasis on feedback, not just in what concerns development, but also our cooperation and team performance. We sit down with you to see if you are happy with our developers and knowledge transfer; we also provide our own feedback. This is also a good moment to plan for new goals and KPIs.

Software development – team building for enterprise client

Infographic showing structure of IT teams for complex projects

We are ready to commit to very extensive and complex projects. Our cooperation model in this case involves grouping teams into so-called Tribes, which consist of a max. five development teams (each team, in turn, is usually composed of a Tech Leader, four developers and a tester).

Each of our Tribes works with a dedicated Product Owner and is headed by a Tribe Leader of your choice.

We can deliver multiple Tribes depending on what the project needs. The responsibility for all the teams is ours; we have a Delivery Manager (your Single Point of Contact) put in charge of team workflow and performance.

We continually monitor the quality of information flow between teams and their synchronisation.

Scrum scaling: Nexus Team

Infographic showing scaling Scrum with Nexus

In Scrum, we can always scale our work up or down. To do so, we rely on an approach known as Nexus, which defines the mode of work for 3 to 9 Scrum teams.

As you can see in the figure above, teams add increments in successive sprints. The difficulty lies in managing their relationships; we must be able to catch out the interdependent stories early on. 

Of course, it’s good practice to separate stories so that an entire single story can go to one team and not depend on others.

Unfortunately, this is not always possible, so an alternative is to plan sprints in a way that allows interdependent stories to be processed first. If this can’t be done either, stories are handed down to several teams at the same time and the teams must synchronise their work. 

When it comes to performance, this aspect is essential, so we set up a Nexus Team, a virtual group composed of representatives from each team involved in the software development process. Even though it is virtual, the team works in accordance with accepted Scrum standards: it has its meetings, daily scrums, retrospectives, etc.

The Nexus Team makes sure to remove any project obstacles, prevent delays and log jams and keep an eye on software quality. 

3. Maintenance & Support

Infographic showing Maintenance & Support of IT systems

This model differs from the previous two. Before taking over your project and system maintenance, we need to establish the baseline, or determine the current quality and condition of the software. This is done in several steps:

  • Pre-transfer: preparing resources and a roadmap;
  • Knowledge acquisition: studying user documentation. Determining the preliminary scope of technical documentation and accessing source code repositories. Reviewing the code, developing technical documentation, getting access permissions, organising tech and functional workshops;
  • Secondary support: launching and testing the systems on Altkom Software infrastructure. Verifying the condition of your environments, updating documentation, starting to back up the current maintenance service provider;
  • Primary support: verifying system error list, preparing a schedule and scope of our involvement in the development process underway. Starting on the transitional phase of system maintenance in cooperation with the current provider, confirming our readiness to take over independent system support within the scope specified in our agreement and securing your approval;
  • Full preparedness: starting to provide independent services in accordance with the terms and conditions of our agreement.

Maintenance: Service Level Agreement

Our IT system maintenance services are provided within the working hours decided in accordance with your needs, within the framework of a SLA. Maintenance services are provided after a relevant service agreement is signed, as per standard between 8 am and 4 pm on workdays. Reports are filed in a special reporting system and, in critical incidents, accepted by phone or e-mail. Our services may be extended to include 24/7 support.

Maintenance: System development

If you entrust your system to us for maintenance and want to continue to develop it, we can work in two different models:

Time & Material

  • We set up an interdisciplinary Scrum team with a fixed membership and productive capacity;
  • We deliver successive increments iteratively (in close cooperation with the Product Owner);
  • We commit to monthly releases and billings;
  • The costs are calculated based on MD rates specified in the agreement.

Cooperation with another contractor

  • You let us know what changes you need;
  • We estimate the work-intensity in MD. Should our estimates differ, we settle on a specific value in the process of negotiation;
  • You or another contractor introduce the change and share the environment with the code;
  • We audit the code and suggest possible improvements;
  • The code is moved on to the production environment only after all bugs are fixed;
  • The cost of authorisation is 10% of the cost of the change.

Starting cooperation

All the cooperation and team-building models described above have been developed over the course of our long experience and many successful projects for clients with different business needs.

Still, we understand that each project, company and need are, to a certain extent, unique, and a standard cooperation model may not always be the best possible solution.

We encourage our clients – and anyone else interested in our services, for that matter – to openly express their needs and expectations. At Altkom Software, we are flexible and willing to adapt to your situation.

If none of the models outlined here fully meets your needs, let us know. We can work together to create a customised solution to perfectly match your project.

Filip Wachowiak
Filip Wachowiak
In the IT industry for 8 years with a 100% focus on overseas sales. He has developed a portfolio of clients in Europe and the United States, and for more than a year at Altkom Software, he has also been open to markets in the Middle East. In foreign sales, he most appreciates multiculturalism — each market has its requirements and business customs, providing valuable lessons for the future.