Software Development

Customized Web-based IT Solutions

Agile Software Development

We have been developing individual and standardised software solutions
for companies from diverse sectors since 1996. Trustful and constructive
cooperation with our costumers is our top priority.

The process of developing complex software products requires an
adequate framework in order to avoid misdirections, unnoticed mistakes
or miscommunication. We use agile software development methods to manage
these issues and to obtain optimum performance. Our iterative approach
allows us to rapidly adapt to changes. Short feedback loops help to
quickly solve problems and often completely prevent them.

By applying agile methods and working with established as well as new
frameworks, we are able to comply with our customers' ideas and flexibly
implement questions or changes even on short notice. As we produce
functioning product increments in short cycles, our costumers can
check in on the status quo and provide feedback at any time.

Custom-made processes for our customers

At Knipp, we believe in the power of agile software development.
We are equally convinced that dogmatism slows down creative work
and renders processes cumbersome.

This is why we do not use „the one and only“ development method, but
consider each new project individually and reflect on which approach
best meets the requirements of both our customers as well as the
project team. In that way, we can fully develop all potentials and
create high quality software that fully satisfies our customers.

Agile is a matter of teamwork

According to agile software development principles, we at Knipp mainly
work in self-organizing cross-functional teams.

Hereby, the classical role of project leader can be replaced or
complemented by agile roles such as a scrum master or a product owner.
The team mostly comes to decisions in a collaborative effort instead of
being driven by external choices. During iterations, the team is
protected from external influences as far as possible.

Admittedly, these methods might seem untraditional and feel a little odd
at first. In the end however, they set free new synergies and enable the
creation and development of excellent products.

Continuous Delivery

Continuous integration and the delivery of completed software components
allows us to achieve a high code quality and to involve our customers
in the development process right from the start.

Developing software in a team brings about certain challenges. It can be
tricky when several developers simultaneously work on different areas of
the same product. Modern development methods can minimise the potential
for errors and risks but never fully avoid them. It is therefore crucial
to find ways to discover and eliminate these problems in time.

All developer teams at Knipp carefully divide the workload into
manageable pieces and constantly synchronise newly developed code
fragments in order to discover bugs as soon as possible.

Quality and Transparency

Besides the early detection of errors, the combination of the Continuous
Delivery concept with agile development methods offers further advantages.

Since functional product increments are constantly developed in short iterations,
Continuous Delivery always provides an up-to-date test system which
is being updated in short cycles. Consequently, both the internal quality
control as well as customers on the outside can test and evaluate the
product whenever they want. The permanent visibility of the project
status guarantees for a high transparency within the company.

Accuracy and Safety

While principles such as Continuous Delivery are helpful on the one hand,
we still take diligent care where to set limits to automation.

When installing or updating production systems, for example, we rely
on experienced software developers and system administrators to
manually execute or accompany the processes. This strict practice
of the four-eyes-principle helps to prevent errors and ensures a
constantly high quality standard that our customers can rely on.

»The challenge in developing apps for mobile devices is to balance
several aspects. Both, the advantages of a device, such as touch operation
and sensors, and its weaknesses, like limited bandwidth
and low storage capacity, need to be taken into consideration.«

Elisei Rotaru, Software Developer

Mobile Solutions

We develop software for cell phones, tablets, desktop computer and all
kinds of devices.

Mobile devices such as cell phones or tablet computers are a crucial
part of our everyday lives. In addition with personal computers and
their variety of display resolutions, the result is an enormously
heterogenous system environment. This is both a chance and a challenge
for software developers. On the one hand, products can aim at target
groups more specifically, on the other hand they have to comply with
highest demands regarding modern interface design.

We at Knipp take the full range of a customer's devices into account
when we begin to plan and develop software projects.
Depending on each individual case, we create either optimised
applications for certain devices or universal applications that work on
all devices alike.

Modern Design Technologies

When it comes to developing web applications, we opt for modern and
individual design technologies. In application of the »mobile first«
paradigm, both our web designers and our software developers first
conceive the mobile version of an application. The extension of the
product for desktop systems is a subsequent step.

Applications that adjust their layout to the screen resolution used
require responsive web design. If a separation of the different device
classes proves wise, we develop applications using adaptive web design.
This allows us to fully profit from all advantages that each individual
device class and screen resolution has to offer.