How we work

We love to keep things simple and transparent. Although we don’t take a one-size-fits-all approach to our projects, we usually go through the following phases with our clients.

Initial meeting

What’s it for?

Software projects are complex endeavors for almost any organization. Understanding every aspect – from the people involved to the surrounding circumstances – is crucial if the project is to succeed. We also want our clients to receive key information about Friends of IT. This is why an initial meeting (or several meetings) is a prerequisite for further steps and the perfect start to a successful collaboration.

What do we talk about?

We like to start the meeting with a short but informative introduction to Friends of IT. We’ll tell you about our expertise, how we work, the methods we use, selected previous work and our core principles and values. Afterwards, we’ll probably ask you to tell us as much as possible about your organization. We’re keen to hear about your basic principles and what you expect from a software development partner. Finally, we generally have an initial discussion about which of your specific business needs the software development project should cover.

How is it structured?

In most cases, the initial meeting is a relaxed, friendly discussion in which we cover key topics and questions. We prefer an open conversation rather than a pitch-style presentation – although we can of course deliver a pitch if necessary.

Where is it held?

It normally takes place at your office so that all relevant participants from your side can be involved. However, we are also happy to host you at our office in Berlin.

What are the key takeaways

  • You get to know Friends of IT, learn important facts about our company, and find out if and how can we help you.
  • Ideally, we learn a lot about your organization and perhaps some initial details about a potential project.
  • We both have enough information to decide if we should take the next steps together.

Cooperation modeling

This phase involves modelling all relevant aspects of a collaboration based on existing information and possibly additional meetings. Some of these aspects are continuously refined during the project. The most important aspects of our model include the following:


We model communication at all levels and define key points of contact for all crucial topics (e.g. engineering, consulting, project management, finance & accounting, support). We have the experience necessary to achieve the best setup for highly effective communication.


We model the agreements that are needed to keep your project legally covered. We usually begin with existing and proven templates, and refine these to fit the needs of each project and partnership.


We model the full financial arrangement according to the type of service that we will provide.


Overall, this phase is about shaping the general collaboration and laying the foundations for project execution. In some cases, we cover parts of the collaboration model during the initial meeting.

Pre-project consulting

Preliminary consulting can form part of our services for your project. In most cases, this phase will help achieve an optimal outcome because very few projects begin life with a crystal-clear outline and well-defined requirements.

Research, design & planning

This is where the magic happens. We love doing preparatory research, conducting analyses, choosing the optimal technology stack and deciding on the best software development methods. The most common outputs of this phase are the software requirements specification, the software architecture document and the project plan. The degree of client engagement in this phase depends on the project and the client’s preferences.

Project execution

Software projects are almost never linear. However, if the previous phases are properly performed and the project is monitored professionally, the execution phase is mostly about implementing the solution using the selected methods and technologies. The client generally receives regular status updates and reports in line with the communication plan.

Project completion

Once everything has been completed as agreed, we deliver the software to the client. The client usually performs additional checks, and then formally confirms that the project has been completed.

Support, ongoing development & improvements

Delivering a project is often just the beginning of an ongoing relationship. We support our clients throughout the entire lifecycle of a software solution. We usually model support and maintenance operations after the project is completed (although we sometimes do this during the early project phases).