Our principles for best-in-class software delivery

At Flux, we are constantly looking to evolve our delivery practice to improve security, quality, and speed. We are extremely proud of how far we've come, since our first developers built the original Powershop Proof of Concept over a decade ago.

During those years, we have found a few delivery principles that have stood the test of time - they act as guide rails for the occasional tweaks we make in the name of continuous improvement. Here are our principles and the reasons we find them so important:

1. Security first

The security of our clients’ data, as well as the integrity of our software, is of utmost importance to us. We ensure that all our people are familiar with the high level of security practices that we have in place.

Often, security will be found last on a list like this, and is somewhat viewed as an afterthought. Perceived to be a dull, yet necessary ‘step’ in the delivery process, security is frequently left in the hands of a few hardened experts.

However, it is no exaggeration to say that in the energy industry, client data is often the businesses’ most valuable asset. Therefore, at Flux, we ensure that our security practice extends far beyond the requisite penetration tests, DDoS protection and ISO standards, and is instead embedded in the way we think and act as a company.

We believe that every employee, from engineering through to marketing, should have a sound understanding of security threats, and how to proactively minimise vulnerabilities. That’s why we have partnered with SafeStack to manage our security training initiatives.

2. Consistency of experience

You can be building the best software in the market, but if your client has no idea what is happening or when changes are coming, then their experience dampens the whole process. As part of our high touch, high trust model of client engagement, whatever changes we make, our client’s experience of our software delivery has to remain consistent.

From discovery to release notes, we act on the principle of ‘no surprises’. This principle is key to maintaining trust throughout the delivery process. In practice this means ensuring there is a recognised pathway for delivering outcomes that has been agreed by all stakeholders, and for which major changes are only implemented following consultation.

For minor changes, our practice of releasing daily, alongside succinct release notes, provides a tight feedback loop for clients. Small, frequent releases - combined with comprehensive test coverage - reduces risk and improves the time-to-value.

3. Understand the why

Before we start working with a client we want to know what their problems are and how our software can best solve them. This becomes the core question as we continue on a partnership with our clients, from delivering service requests through to multi-year projects.

Where possible, we allow for ample time to understand the ‘why’ behind the software development. In our experience, the cost of not asking the difficult questions up front can be significant for both ourselves and our clients.

Discovering the core of the problem early on ensures nothing is lost in translation, and empowers our delivery teams to then adopt a laser focus on designing the right solution, so we can expertly deliver on what was agreed.

4. Software = people. Great software = great teams

Great people sit behind great software that is delivered well. 

A good software team is made up of a designer, product leader, and technical lead. This, combined with a crack squad of engineers, means we can deliver fantastic software that solves our clients’ problems.

Our software experts are crucial in making Flux the unique platform that it is. We know that having teams with diversity of experience and backgrounds means that they can come up with innovative solutions that work.

Our large development team ensures our clients receive hands-on, fast moving support to grow their business. Our people, our values, our culture, and how we work together play a key role in ensuring we deliver on our vision and mission for our clients.

When combined, what does this do?

Guided by these principles, Flux's use of contemporary software practices such as feature flagging, modular architecture, and cloud deployment enable us to move at speed, with confidence that we can deliver excellent quality software every time. 

In our decade in the energy sector, we have worked hard to establish these principles and ensure they help our clients achieve their goals. If you're keen to hear more about how we deliver the world’s most flexible energy software, don't hesitate to get in touch.