Staying True to Core Software Development Principles

4 min read

Intended business outcomes should drive choices of what applications you modernize, in what order, and to what extent.

To find out how to get the most out of hybrid and distributed cloud and AI cloud services, watch the replay of IBM Think 2021

By necessity, strategic decisions seem to be shorter-lived these days. New technologies emerge, and others change or expand. Demand and market competition grow exponentially. Last year’s strategic technology may be inefficient for your needs today. We’ve seen this in the last few years and, given the global push for digital transformation, there is plenty of evidence to support the need for an agile strategic approach to development, operations and deployment.

Results of an IBM-commissioned Forrester study indicate there is a continuous rise in use of both public and private cloud container platforms as well as virtual machines (VMs). Companies aim to gain competitive advantages and build lasting relationships with customers through digital experiences. Critical to their success is how these companies handle the challenges of complex digital transformations and cloud platforms. As such, companies may feel pressure to adopt every new or trending technology or process in order to stay ahead.

That’s the trap — feeling behind, appearing out-of-touch. Pivoting strategy based on trends of the day — and sometimes forgetting the other lessons you’ve learned along the way — is a dangerous and all-too-common temptation right now.

Basing your decisions on common principles

As previously discussed, modernization for the sake of modernizing is a near-certain way to lose time, money and efficiencies. The same can be said for adopting or buying into every new technology and trend.

Take hiring as an example. Do you hire experts solely for the technology of today? No, of course not. A few years ago, wide-spread Kubernetes usage seemed an impossibility for many; today, it serves as a foundation for many companies. That doesn’t mean those more knowledgeable in IBM Cloud Foundry need to forget everything they know and make a complete shift. The tools may be changing, but the principles are not.

That’s the differentiator for companies thriving in rapidly shifting environments. These companies make strategic choices — from tools and processes to the talent they hire — based on common core principles, not specific products or services. They operate with continued agility, knowing that not every ‘new’ and ‘cool’ trend is right for them.

What are some of these core principles?

  1. Agile development and operations processes
  2. Design-centric, customer-centered views
  3. Site reliability engineering (SRE)
  4. Automated testing
  5. Continuous communication with stakeholders

These principles are not new. We know them, we apply them. What needs to happen is a continuous questioning and testing of new or emerging systems and tools. We need to question them against our proven principles in order to know which ones are worth our time, money and expertise. Not every new tool or trend is right for all companies or customers. There is a real risk of over-engineering systems, as we’ve seen, and it’s costly. That’s why these core principles are key to these technical decisions.

Using core principles to evaluate outcomes and ‘fit’

In order to cut through the noise and make smart decisions, digital leaders must use common principles to evaluate the outcomes and ‘fit’ of new technologies and tools. This is true not just in development; we must carry the lessons of those principles through everything.

For instance, when looking to modernize legacy applications, we know automation goes hand-in-hand with a commitment to DevOps and an agile methodology. So, we apply automated tests to the cloud-native applications, but we don’t stop there. We use these same tests with legacy applications written on our mainframe because it makes the development and optimization of those better, too. If we are using infrastructure codes to build virtual machines, we should conduct automated tests in the same way on those codes. Code is code, and the lessons we’ve learned about DevOps practices aren’t magically different with these newer technologies.

Staying focused with distributed cloud

Commitment to these core principles and a distributed cloud solution make for a symbiotic partnership. Those driving principles open the door for distributed cloud to be a strong solution for companies to achieve speed, precision, reliability and security. In turn, a distributed solution helps companies modernize in place, learn fast, save money and still adhere to their core principles as they move into new technologies and applications.

Modernization requires more than learning new technologies. It calls for new ways of working and approaching IT architecture. There is so much to learn in order to be successful in a multicloud environment; no one can learn it all at once. Knowing this, digital leaders turn to service partners for the technologies and skills needed to modernize better and faster. They want partners to help them address the challenges of hybrid, multicloud platforms with an end-to-end distributed cloud solution. For IBM, the answer is IBM Cloud Satellite™, a distributed cloud solution offered as-a-service.

IBM Cloud Satellite lets you use a single API to create an IBM Cloud Satellite location, then add host machines from any cloud, on-premises data center or from the edge. This means you can consume IBM Cloud services anywhere you need them in order to modernize applications and increase speed of development and deployment. When you can run your workloads in the location of your choice, you are better equipped to meet legal requirements, compliance standards, data speeds and network latency requirements.

With IBM Cloud Satellite, companies can stop looking at ‘new’ and ‘trendy’ as reasons enough to make a change. Change, or modernization, of technical tools and DevOps strategies can be opportunities to improve and not ways to catch up with competition. How? When you can consistently deploy, manage and control your workloads across environments and modernize where it’s most effective for achieving outcomes, you are empowered to make smart strategic decisions while staying true to core software development principles.

Learn more

Be the first to hear about news, product updates, and innovation from IBM Cloud