Software development: Product-driven or design-led?

Most software developers work within project-oriented teams, since most companies are not startup vendors that can constantly reinvent themselves and deliver hot new products to market. Upgrades, integration and modernization projects carry forward a sizable estate of already coded software assets and third-party service dependencies.

I once pondered an alternative product-driven strategy for software organizations to behave more like high-growth software vendors, recasting their project managers as product managers. They would spend less time measuring time, and more time measuring the features they deliver.

Ostensibly, this product-oriented approach would cut down on endless initiatives and sprawling scope creep, by getting executives to reconsider the contributions of developers toward finite high-value products.

A finished product implies reusability, and higher potential value for more use cases than the work output of a project. 

But lately we are seeing a second shift – from product-led to design-led strategy. Some of the founders of today’s fastest growing unicorn vendors emerged from design schools and creative industry backgrounds.

Costume, or customer experience?

There’s a lot of technical and business acumen that a design-led team must develop beyond graphic design that goes into a successful customer experience.

Designers get asked to put ‘lipstick on a pig’ – pushing pixels to dress up an application visually without changing the underlying functionality. The cosmetics of tweaking icons, fonts and colors can make the software look nicer, but it seldom improves user experience (or UX) by itself.

Users expect clear controls and instructions within an interface, and on their phones or devices, they also expect sensory data – using cameras, haptics and audio inputs and outputs to maximize productivity.

Performance is also a huge factor in customer experience – an identical competitor that displays results two seconds slower will experience high abandonment rates. Design engineering is about tradeoffs between display aesthetics, and the concise representation of data returned rapidly from low-latency sources.

When it’s incomplete, it’s ready to show

INABIAF. It’s not a bug, it’s a feature, goes the old developer maxim when software users don’t understand what they are seeing on the screen. 

Successful creative agencies never assume that a concept needs to be fully fleshed out before clients can accept it. They iterate rapidly on design and copy comps or sketches, in order to zero in on the client’s preferences, as well as measuring the preferences of end consumers.

Revolutionary SaaS tools and smartphones apps accelerated design-first principles, as the current version of the application gets dynamically updated for the customer in near real-time. This continuous process merges redesigns into the CI/CD product lifecycle by introducing new user functionality and displays – even if they aren’t fully baked yet. 

‘Shift-Right’ practices such as real user monitoring (RUM) and feature flagging are great ways to gauge performance improvements and test functional integrity, but the biggest benefit is getting live customer feedback into the product design loop.

Laziness is the mother of innovation 

If great design takes 50% of the time required to perform a task away from the customer, that’s a winning product that frees up a drastic improvement in productivity.

The low-code space and RPA movements provided hundreds of ways to leapfrog between UI and process-driven design and drag-and-drop easy application development without the technical skill hurdles. 

The COVID crisis showed off the robustness of low-code for design-driven responsiveness to crisis conditions – take for instance the few banks that could step up with PPP relief loan applications using low-code within 3 months. 

Development teams themselves also enjoy design-centric tooling. I’m constantly surprised by new vendors that enter seemingly matured spaces such as CI/CD tools, IT operations, security and software testing with better UX as the lead value proposition.

Designing a diverse team

We are all complex, autonomous beings, operating in different modes as end users of technology. When designing technology for others to use, we must wear a functional engineering hat. A customer service hat. A security hat. A human-centric hat.

Leading creative organizations favor higher levels of diversity within their teams, not just in terms of ethnicity and identity, but in the different intellectual perspectives that variety produces. 

There are many unique ways of solving problems, and therefore there should be different types of thinking within your team’s makeup by design. Embrace these differences and cultivate them for design-driven success.

The Intellyx Take

Companies and industries that are internally project-focused rather than customer-focused are woefully unprepared for digital transformation.

Never settle for dogmatic standards when rapid innovation is called for. 

Don’t let anyone tell you there is one best way to build software when there are always multiple valid design-led approaches. Distinguishing between conceptual possibilities is the very stuff of design-led development.