The software development process

Although each of our projects is unique, the stages of their creation are similar. We lead along a path whose primary goal is to understand each process at each stage and make fully informed choices.

First meeting and design workshops


First meeting

1-2h
Pierwsze spotkanie

Let's get to know each other

The first meeting is a good opportunity to get to know each other and mutually understand business goals and operational characteristics. We will briefly tell you about what we do and how we can address your needs.

Let's assess the completeness of needs

During the discussion, we will try to check whether your software needs are defined precisely enough and whether they need to be worked on analytically and conceptually.

Let's assess the scale of the solution

Once we know what you need, we will determine the initial scale of the project and identify the necessary resources for its implementation. Initially, we will also be able to answer the question of how time-consuming the analysis of the entire solution would be.

Let's plan the next steps and the event horizon

After the meeting, we will analyze your project in terms of possible next steps. Over the next few days, we will present a specific proposal and outline the event horizon that will allow the implementation of your project.

Design workshops

4-16h
Timeline.Title.AnalyticProcess

Ideation

Let's start by building a clear vision of the software we want to create together. For this purpose, we will use the most experienced team members working in the design thinking model - from analyst to UI/UX designer.

Construction of an outline of a functional specification

A strong outline of the functional specification will act as a checklist of sorts to follow in order to achieve the intended goal. This is also a good starting point for preparing a preliminary project valuation.

Outlining milestones

Dividing the functionality into stages will allow you to rationalize budget management and determine the time frame of the entire project.

MVP

We will also select those functionalities that are necessary from the business point of view for the first validation of the functionality, i.e. the minimum version of the project. A fully functional prototype of sorts.

Choice of methodology


The choice of project implementation methodology is a fundamental decision influencing the further shape of cooperation. It should be supported by strong arguments clearly pointing to a specific option. Once we know the coherence of the idea, the scale of the solution and the functional scope, we are able to recommend a specific approach.


Waterfall (cascading)

The cascade approach requires determining all necessary boundary conditions for the implementation of the project before its implementation. Therefore, each time in this model, a full analysis must be carried out, documentation must be built and all parties must be convinced of the completeness of the assumptions. Any changes during the project implementation stage may significantly affect the budget and schedule. We recommend this approach for projects with a small functional scope or projects with a precisely defined budget.

Quotation

With ready design documentation, we can precisely determine the costs of individual functional areas, which in turn allows us to build an unsurpassable budget for the implementation of the project. Although the waterfall model is usually a more expensive approach than the agile model (cost of performing a full analysis, implementation, safety margin during implementation), it allows for a rigid definition of the budget and a guarantee that it will not be exceeded, which gives additional comfort.

Fixed-price

Although fixed-price settlements are most often divided into stages, the final cost of the project is known already on the day the contract is signed and becomes the insurmountable value of the project. However, it should be taken into account that introducing any changes to the project may disrupt both the budget and the schedule.

Cycle

Development cycles in the waterfall methodology include the implementation of milestones that are stages of the project. In each cycle, an analysis should be carried out, then a given functional scope should be valued, implemented, tested and implemented. The cycles depend on the scale of the project - sometimes they concern smaller functional sections, in other cases they cover entire projects.

Learn more about the waterfall methodology

Agile

We recommend software development in the agile model for medium and large projects. Detailed analysis can be carried out over time, and short design iterations allow you to deliver valuable functionalities from the first week. Each subsequent iteration will be supported by the experience and comments of users regarding the functionalities already provided. The changes will not disrupt the development process or affect the long-term project schedule.

Estimate

Although estimate and valuation are synonymous words, we clearly distinguish their meaning in the agile methodology. Estimation involves determining the scale of individual functionalities to be implemented and translating them, taking into account the average team efficiency, into the potential resource (number of hours) needed for their implementation. However, this is not a very precise method because it is not supported by a full analysis and some requirements may change over time.

Time&material

We base time & material settlements on process transparency. The client receives full access to the team and insight into the time reporting tool by individual team members in real time. Thanks to this, it can monitor costs on an ongoing basis and shape them in line with the expected functionalities.

Iteration

We deliver software and functionalities in iterations called sprints. These weekly or biweekly periods allow for the delivery of new functionalities, validation of assumptions and work on further areas. In practice, this means that several or at most a dozen or so days pass from the emergence of a functional need to its implementation.

Learn more about the agile methodology

Waterfall (cascading)

The cascade approach requires determining all necessary boundary conditions for the implementation of the project before its implementation. Therefore, each time in this model, a full analysis must be carried out, documentation must be built and all parties must be convinced of the completeness of the assumptions. Any changes during the project implementation stage may significantly affect the budget and schedule. We recommend this approach for projects with a small functional scope or projects with a precisely defined budget.

Quotation

With ready design documentation, we can precisely determine the costs of individual functional areas, which in turn allows us to build an unsurpassable budget for the implementation of the project. Although the waterfall model is usually a more expensive approach than the agile model (cost of performing a full analysis, implementation, safety margin during implementation), it allows for a rigid definition of the budget and a guarantee that it will not be exceeded, which gives additional comfort.

Fixed-price

Although fixed-price settlements are most often divided into stages, the final cost of the project is known already on the day the contract is signed and becomes the insurmountable value of the project. However, it should be taken into account that introducing any changes to the project may disrupt both the budget and the schedule.

Cycle

Development cycles in the waterfall methodology include the implementation of milestones that are stages of the project. In each cycle, an analysis should be carried out, then a given functional scope should be valued, implemented, tested and implemented. The cycles depend on the scale of the project - sometimes they concern smaller functional sections, in other cases they cover entire projects.

Learn more about the waterfall methodology

Software development


01.

Understand
Analytical process
Requirements

During the first step of our collaboration, we need to get all of the requirements from our client. During this process we work together as closely as possible, trying not only to understand the existing business, but also to find ways of improving it, making it more simple and elevating it to a whole new level.

Analytical process

Creating well-defined project needs analytic work. We need not only clear idea, needs and scope, but full background of environment, where solution will be deployed. We need to understand data, analog processes, people, integrations and document it, for design purposes.

Documentation

As a result of collecting requirements and pursuing the analytic process, we create documentation, which allows us to estimate the cost of the project, as well as a brief schedule.



02.

Design
Architecture
Business flow

At first, we need to establish all the business flows inside of the new solution and choose the right tools, which will make them stable and consistent.

Architecture

Having the full spectrum of business process inside the solution we can make decisions about the architecture of the solution. We only choose the ways, which are scalable and cost-efficient. Decisions made during this step will result in the simplicity of the product and its maintenance.

Wireframing

Creating wireframes and mockups allows us to determine if the user experience will be as good as it possibly could. It’s also the final step in making sure that every process is designed just as expected. It allows us to show our client a draft of the working solution without creating it. It’s a great chance to revise the client’s needs without implementation.

03.

Deliver
Deployment of a new solution is always a big thing. It doesn’t matter if we migrate data from the existing solution or just deploy a new one. We always count down the days, cross our fingers and cool the champagne. In fact, we automated this process, so that deploying the whole solution, or even small changes is invisible and flawless.<br/><br/><br/><br/>
Development

At the time of development, we always offer phase-wise delivery and tight-up with the scheduled milestones. You have access to our staging labs platform.

Tests

For us, testing is just as important as developing. We use scenarios which were created during the analytic process.

Deployment

Deployment of a new solution is always a big thing. It doesn’t matter if we migrate data from the existing solution or just deploy a new one. We always count down the days, cross our fingers and cool the champagne. In fact, we automated this process, so that deploying the whole solution, or even small changes is invisible and flawless.



Communication and cooperation

Over the years, we have developed our own path of cooperation with our clients so that the entire process remains transparent, clean and understandable to both parties.

Implementation and training


Migration

Before each implementation, we migrate existing data to ensure its continuity and uniformity. For new solutions, this may be importing data from various sources - e.g. Excel files, databases, systems. For new functionalities added to existing solutions, we prepare special data migrations to ensure their consistency.

Training

The training is the second stage of implementing new solutions and functionalities. While our solutions are natural to use, it is crucial that all stakeholders understand every aspect of the business processes occurring inside our solutions. Only through full understanding will they be able to use the solution consciously and fully.

Implementation

The implementation stage becomes a pure formality when everything and everyone has been properly prepared. The unavailability of our solutions at the time of update is usually minutes and is preceded by multi-stage tests in backup environments.

Warranties, support, maintenance and SLA


We offer two types of warranty for each of our solutions - a time-limited solution warranty and a lifetime code warranty. But implementation is only the beginning of the project's life, which is why we offer support and maintenance of the solution, as well as insurance contracts guaranteeing the availability of services based on our solutions .

Guarantee

Support and maintenance

SLA

Response time to reporting
up to 14 days
from 6 hours
from 20 minutes
Period of validity
up to 24 months
from 1 month
since 3 months
Infrastructure care
NO
YES
YES
Infrastructure redundancy
-
optional
required
Technical Support
NO
optional
optional
Environmental monitoring
NO
optional
YES
Insurance liability
NO
NO
YESW
Maintaining third-party solutions
NO
optional
optional

Copyright and source code


Lastly. And the most important. We transfer the copyrights to our clients and provide them with the full source code created for their needs.

Source code

Having a code base for a dedicated solution is a key aspect of software development. This is a guarantee of security and the possibility of any future development. This is also:

  • Security of the solution
  • Unlimited development
  • Opportunity to build your own team
  • Independence from the supplier

Copyrights

Although selling copyrights in the case of software is impossible, transferring economic rights has almost the same effect. Thanks to this, our clients become full owners of the solution and can further transfer, license, sell and develop it to an unlimited extent. This is also:

  • Absolute ownership
  • Unlimited legal transformations
  • Resell the solution further
  • Distribution and offering in the SaaS model
Kod źródłowy i autorskie prawa majątkowe
Ready to talk about your project?