Skip to content

Optimizing Software Deliveries at Bitpanda through the Employment of Feature Flags in Engineering

Tech Leader Daniel Prinz outlines the essentials of feature flags, their applications, and tips for their effective management. A future article will detail the process of integrating a feature flag system into our services.

Accelerating Software Deployments at Bitpanda through Feature Flags in Engineering
Accelerating Software Deployments at Bitpanda through Feature Flags in Engineering

Optimizing Software Deliveries at Bitpanda through the Employment of Feature Flags in Engineering

Bitpanda, the popular European cryptocurrency platform, is embracing a new approach to software development by implementing a feature flag system. This system, provided by LaunchDarkly, offers a highly-available API, a user interface for managing feature flags, and some advanced features.

The decision to adopt LaunchDarkly comes as Bitpanda seeks to unify its product offerings under a common feature flag system. Other open-source options, such as Unleash, are also available as alternatives.

The use of feature flags allows functionality inside a software application to be enabled or disabled without deploying new code. This decouples the software deployment process from feature releases, enabling software engineers and the business to move at their own pace.

Each team at Bitpanda is responsible for having some audit in place to trace what feature has been enabled when. Monitoring and support tickets are important during this time to catch issues early. To keep complexity in check, it's recommended to have a limited number of feature flags and to ensure they are not dependent on each other.

Feature flags can be managed via a REST API and a web interface for changing the state of the flag. This means that the product owner could get the permissions to rollout a feature in coordination with other departments.

One of the key benefits of using feature flags is the ability to break down big features into small manageable chunks. This makes the merge requests/pull requests smaller, easier to review, and allows work to be distributed better. It also allows for testing in production, particularly when the test environment does not fully represent the functionality available in production, particularly in terms of traffic or third-party integrations.

Bitpanda's current approach involves enabling new payment providers and blockchain nodes only for employees for testing before general use. Full integration of new providers or blockchain nodes can be tested up front and rolled out gradually to more users.

Feature flags should be as short-lived as possible and removed when the feature is released fully. Deploying often and reliably requires high confidence in development quality and good practices. Bitpanda's Engineering department organises scrum teams to contribute to the Bitpanda platform.

It's worth noting that Bitpanda's currently used feature flag system is not explicitly detailed in the available search results. There is no specific information about the exact feature flag system employed by Bitpanda found in the provided data.

However, the adoption of LaunchDarkly and the emphasis on frequent, reliable software delivery suggests a commitment to delivering working software in a reliable and fast manner for frequent user access. If something goes wrong, only a small percentage of users are affected, minimising the impact of any issues.

In conclusion, Bitpanda's shift towards using feature flags marks a significant step in their software development process. By decoupling deployments from feature releases and enabling more efficient development practices, Bitpanda is well-positioned to continue delivering innovative cryptocurrency services to its users.

Read also:

Latest