The software development world is an ever-changing landscape that cuts across industries and sectors in ways never imagined even one short decade ago. Where once it was all about building reliable desktop software programs, now everyone is focused on the next killer mobile app. Where once the industry was solely driven by sales of software that ran on the latest version of Windows, now if you don’t make it a web app or provide cross-platform support for macOS, iOS, and Android, you’re toast.
The last few years have seen yet another shift, one that began with the emergence of ready-for-public-consumption artificial intelligence (AI) and the continuing growth of the Internet of Things (IoT). We see this as a harbinger of the direction software will be moving for the foreseeable future, toward more interactive and cross-platform offerings. With that in mind, we offer our picks for the top 5 trends in software development for 2020 as we look toward the second half of a year that’s already changed everything.
1) Hybrid Development Methodologies Will Gain Steam
The world of software development methodologies may not seem like one we’d be saying to watch, after all, how exciting can it be, really? You might be surprised that with the growing number of hybrid offerings emerging, it’s actually an extremely dynamic segment of the industry right now. What’s happening now is that prominent regulatory organizations and PM experts are beginning to pick and choose the best bits from existing methodologies, and combining them into new and dare we say it, exciting offerings. Two of our personal favorites are SAFe (Scaled Agile Framework), and Jaglion.
SAFe is a framework that grew out of Agile, adding a layer of top-down management to make things more scalable. The primary issue with the existing Agile framework has always been that it was awesome when the developers were all in the same room, but as soon as a company began to grow and that one team became 2, or 4, or 6 teams dispersed around the world it broke down. SAFe aims to address and remedy that. We’ve written at greater length about SAFe so we’ll leave it there for today.
Jaglion, on the other hand, is a completely new take on the theme of software development methodologies. Taking the structured lifecycle of a Waterfall project and blending it with the platform-agnostic and flexible nature of Agile, Jaglion is stepping into the breach with a model that integrates an iterative approach with a minimal viable product at each step and change controls that allow for easy pivots when called for.
2) Edge Computing to the Rescue
Edge computing is a distributed infrastructure model that aims to bring data sources and analytics engines closer together with the aim of faster analysis. The introduction of 5G data networking speeds has ushered in the potential for mass adoption of edge computing to complement existing cloud infrastructure.
In order for data analytics to be useful, it has to provide timely, actionable insight for the company. The problem with modern infrastructure is that it simply can’t keep up with the inundation of data many organizations are seeing. By enabling analysis to be performed across a distributed platform, the processing and turn around time for those insights is cut dramatically over the current model where data is sent to the data center where the engines are housed, processed, analyzed, then sent back before any action can be taken.
The main area to watch this year is how edge computing will enable IoT to come into its own. IoT devices generate a LOT of data, and many companies in manufacturing and elsewhere have adopted this technology to monitor their production facilities, etc. These companies are finding that they’re being held back by the fact that by the time they receive the analysis, they can’t take action because that production run is long over. Data latency involved in sending data away for analysis is leading to many companies feeling that their investments in IoT may be for naught.
With the realization of edge computing, data doesn’t have to travel to a remote data center, it can instead be analyzed by an analytics engine spread over multiple locations closer to home. This model renders latency a negligible factor and makes that glut of data being generated by the IoT sensors more actionable.
According to Grand View Research, the edge computing market was valued at approximately 3.5 billion USD in 2019 and is projected to reach over 40 billion by 2027. That’s a compounded annual growth rate of over 37%, so you can see why this made our list. Edge computing is poised to change the data science world for the better.
3) New Programming Languages Rise in Prominence
Research conducted by Stackoverflow recently showed 3 new languages rising to nearly the same level of importance as the reigning champ, Python. Kotlin, Typescript, and Swift have come to dominate their niches in the same way Python continues to dominate its own.
Python — The top language new developers need to know in order to be considered for jobs in software development in 2020, it’s the multi-tool of programming languages as you can write everything from a simple web app to a complex analytics engine with it.
Kotlin — A relative new-comer, Kotlin is leaving its mark due to it’s Swiss Army Knife level of multifunctionality. Like Python, Kotlin can be used to write full-featured web apps, mobile apps, server apps, and even desktop apps just as readily.
Swift —A general-purpose language developed by Apple to build apps for its ecosystem. A recent study showed that of the top 110 apps in the Apple App Store, a full 42% were already using Swift as of 2019.
These are the languages to watch, and the ones to look for when you’re building out development teams. We’ll cover this in item 5, but it’s key to know that you don’t have to staff your own dev department with masters of these languages, it’s possible to hire skilled teams that come ready-to-go with all the mastery you’ll need.
4) Containerization Is Replacing VMs for Development Environments
Containers are basically super-lightweight, portable versions of virtual machines (VMs). They allow development environments to be set up quickly using cloud platforms and increasingly rely on edge computing to be even more flexible.
Google’s Kubernetes was the clear front runner as of 2019, but there’s no shortage of competitors making inroads on their domination of this emerging niche. Apache’s Mesos and Docker’s Swarm come to mind as leading the charge. We recommend keeping an eye on all 3 of these as the last half of 2020 hits, as we see great things coming out of the ability to essentially toss up a new dev environment on the fly, or find a managed infrastructure provider to partner with, as they’ll likely already have containers on their menu and can help you get up and running even faster.
We’re not alone in our thinking here. According to industry leader Gartner, by 2023 a full 70% of organizations globally will be running 2 or more containerized applications. That’s up from a paltry 20% just a year ago. By turning to the combination of edge computing and containerization, software development times can be cut dramatically, time-to-cutover can be reduced, and updates can be created while beta testing is still underway. The combination of edge computing, managed infrastructure, and containers keeps all of this from interfering with your production servers to boot.
5) Outsourcing is Becoming Easier, and More Common
Outsourcing grew out of increasing globalization a few decades ago and quickly took over certain segments like customer service and production software development. It wasn’t long before it had also grown a bad reputation and the word itself came to have quite a negative connotation.
Along with so many items on our list today, this is changing in 2020. Nearshoring is the newest iteration of outsourcing and it’s poised to step in and revolutionize many aspects of the business world. Of course for our purpose today, the focus is on software development, which stands to benefit perhaps more than any other segment from this new development in business process outsourcing.
Nearshoring is the practice of hiring a fully-formed team of developers, complete with oversight and project management—to fill out your project team needs. These teams are located in a country other than your own, yet still within your time zone. This keeps costs down while enabling easy collaboration with your colocated teams. For smaller companies or those without the internal resources to handle larger one-time or ongoing projects, this may be the answer you’ve been waiting for.
By taking the onus off your own teams and putting it on a preexisting team in a nearby country, you reap all the benefits of that custom software you need, without sinking the time and budget into growing out a team, outfitting them with the newest hardware, and so on. A nearshore team will be equipped with the latest and greatest, and may even already be taking advantage of the additional benefits we discussed above related to edge computing and will likely already be expert in the development languages and methodologies that sit right on the cutting edge of the industry.
Learn More About Intertec’s Software Engineering and Support Services
Intertec specializes in building and supporting custom software for its diverse clients. Our experienced team of interdisciplinary professionals have experience at all stages of the software development lifecycle. Click here to learn more. Prefer a personal consultation? Go ahead and schedule a meeting with us here!