As Forbes declared in 2011, every company is a software company. Why? Because software makes every product, service and transaction more accessible, efficient, measurable, transparent and scalable, regardless of whether it is fundamentally software-based or not. Consequently, the demand for useful software is accelerating.
As the owner of a software development company, I’ve directly benefitted from this demand. But when I step back and look at my industry, it’s clear that we aren’t ready to meet the need that’s already out there, let alone the needs of tomorrow. There are two major reasons.
Firstly, building good software is complex and expensive. A new project requires the coordinated effort of entire teams of analysts, architects, project managers, designers, developers, testers and more (not to mention the layer of marketers and business development professionals who bring in new clients). New, rapid development frameworks are emerging daily, but they are turning the labor market into a hyper-fragmented morass, increasing training costs and customer confusion.
Secondly, and often overlooked, is the agency-based delivery model itself. Agencies are the small to large firms that build solutions (like my company, Prospus). Customers come to us with four primary anxieties: 1) they don’t really know what they want; 2) they don’t know how much it will cost; 3) they are reluctant to spend money to figure out what they want, and; 4) they don’t know if we are capable. While we agencies are great at sharing our credentials, we don’t really address our customers’ higher-priority anxieties; we won’t analyze their solution until they’ve paid us, and we won’t commit to an estimate until they’ve paid us more.
With the hyper-fragmentation of the development labor market, and the limitations of the current agency model, how will we meet the demand for software solutions? Many are betting on the citizen coder movement – the emergence of tools that make coding accessible to non-programmers, eliminating the need for agencies, altogether (see Quartz article, In the future, everyone will be a software engineer…). Perhaps. But before we get to that point, we will see the emergence of a new kind of agency that overcomes the aforementioned obstacles in the following ways:
- Low-Burden Engagement. The successful agency of tomorrow will reduce the burden on the client by helping them visualize their solution without an up-front cash commitment, delivering value, demonstrating competence, and reducing cost anxiety in one go.
- Rapid Development. The successful agency of tomorrow will adopt development frameworks that reduce labor inputs, lowering agency costs and delivery timelines.
- Transparent Costing. The successful agency of tomorrow will embrace development frameworks and methods that can generate predictable cost structures, reducing client anxiety and agency risk.
I contend that agencies that integrate these three features into their model will win a bid over traditional agencies every time. The near-term future of agency-based software developement belongs to those who address and resolve these well-established client anxieties.