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.

Pair Programming

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.

Developer Team

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.

Laptop

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.