Complexity

Client applications

Web apps

Javascript libraries

For the better part of the last 20 years, the job of software developers have slowly become more complex. Software construction, once the domain of developers focused on writing algorithms to process data in batch – or perhaps even some straightforward user-facing tools, has now become the domain of (even simple) applications that consist of several languages, many tools, and numerous platforms to test and validate. This complexity gets in the way of delivering value to customers, and it appears to not be getting better anytime soon.

This complexity is especially seen when developing client applications, such as web apps or mobile apps. Let’s take a look at your standard line-of-business web application…a dozen or more Javascript libraries or jQuery plugins, error logging and handling libraries, ORM libraries, integrations with a half-dozen different web services, and several languages to think about (C#/Java, JavaScript, HTML, CSS, template languages, maybe some SQL)…oh, plus all the tooling required to build and maintain it such as source control, build system and scripts, test automation tools, and more: see here. When we actually get to testing it, there are a myriad of possible clients to consider. Multiple browsers on multiple platforms across multiple versions resulting in a ridiculous number of possible clients. Developers get mired in this complexity and it frustrates their customers. But this is the bar that is set today for constructing software. And it costs time and money to work through this complexity.

The good news is that it’s not all an uphill battle. Developer tools are pretty good overall, even though there are many of them. Options are good, right? Connecting systems together is easier than ever – everything can speak HTTP. Languages are advancing, especially on the server side, and development tasks that used to take hours take minutes now. There are software scaling models and tools that actually work. It’s not easy, but with the right applied knowledge, developers can build applications that can support millions of users. Still, these things that are “easy” require a vast amount of knowledge to get right.

So what can be done? The job of a developer continues to become more complex, and constructing high-quality, reliable, and scalable applications for a vast array of delivery channels has become the domain of highly skilled professionals. These professionals need adequate care and feeding to manage the complexity that they must deal with on a daily basis. Businesses, from small to mid-market to enterprise, are most often simply not equipped to provide the right environment to manage the complexity. In today’s world, the best option is to find a partner who can manage this complexity for you, and provide the right environment for the professionals who must and can deal with what developers face every day. A great software development partner will collaborate with you to focus on business strategies to grow revenue and manage costs, and keep you away from the daily drudgery of dealing with modern software development complexity.

Share this content:

Related

Blog

Specialty Pharmacy Digital Transformation: What’s Next?
Holistic IT adaptation addresses key challenges such as data integrity and patient service delays. Digital-driven companies are embracing sustainable adaptation. You likely already know this, but does your IT partner?A good IT partner will deliver technology services on your behalf. A great IT partner will learn your business. They tend to ask questions like, “how can we help you better serve patients, how can you remain competitive, cost-effective, and ensure your digital systems are up to date?” Technology, alone (without any business context), has not been the answer to dollars siphoned by inefficiency. Add regulatory issues and growing technology skill gaps to the equation, and it may seem you’re digging yourself an inescapable hole.

8 min read

September 12, 2019

Blog

What is Digital Transformation?
The sometimes over-used and often misunderstood concept can create images ranging from opportunity to uncertainty and confusion.  While there may not be a universally-recognized definition, it deserves our unabated attention as many smart companies are turning in record performance through transformative initiatives. First, I’m going to explain how AgileThought defines digital transformation. Then, I’ll ask two of my colleagues, Taylor Howard and Steven Granese, to weigh in on why digital transformation is important, why organizations struggle with it, and how AgileThought can help.

10 min read

September 14, 2018

Blog

Creating An Effective Product Roadmap In The Financial Services Industry
The financial services industry is a highly competitive one where new technologies and techniques are used every day. It’s no wonder that financial service providers need to keep track of their products and services on a continuous basis in order to make sure they meet customer demands and stay ahead of the competition.The creation of an effective product roadmap is the key to doing this successfully, which means it’s important for companies in this field to have a solid process for creating them. This guide will show you how to create an effective product roadmap that aligns with your business goals while avoiding common pitfalls along the way!

10 min read

February 7, 2023