Customer Driven Software Engineering
David Higgins
Experienced leader of Product and Engineering teams that deliver solutions to problems rather than just lists of features!
One of the key components of software engineering is ensuring that our applications are kept up to date from a technology perspective. This involves such things as paying back technical debt (both intentional and unintentional debt), upgrading technologies and frameworks to the latest version and refactoring.
Too often these tasks are either:
- Completed by the engineering team without much insight into what or why from the broader business. In doing so taking valuable engineering resources away from completing initiatives that the broader business does understand and, therefore, perceives as more important.
- Added to a backlog for prioritisation by a broader, business focused group. They generally do not have the knowledge and experience to understand the need for the technical initiative and therefore they are often not prioritised until it becomes a burning platform issue.
Neither of which supports a collaborative, transparent and positive culture. So how do we ensure that we have the confidence that engineering led initiatives are actually prioritised according to their business value?
Drop the technical implementation details….until you’re actually implementing something!
As technologists, we usually frame a technical initiative using implementation details. These details are more often than not quite technical, are then not understood by non-technical people, thus they do not resonate and are therefore not prioritised.
The solution? Instead of starting with the technical details, start with the impact to the customer.
For example, introducing blue/green deployments is an implementation detail that is unlikely to be well understood by all within the broader business. Even if we start with blue/green deployments and work our way to the customer, it is highly likely that our non-technical audience has already been lost in technical detail.
Instead, if we start with the customer and frame this change as “Zero planned downtime for customers”. By changing the language, the initiative is easily understood, resonates with the broader business and therefore will be prioritised accordingly.
What about issues that have no customer value?
If this is the case then it’s really worth asking whether you should even be completing this initiative. Perhaps it’s a vanity project that’s not really necessary, at least not right now.
Co-Founder at Icetea Labs (icetea.io) | Founder & CEO at Icetea Software
1 年Hi David, let's connect!