5 software development trends shaping enterprise

Open source development, changing infrastructure, machine learning, and customer-first design meet in a perfect storm to shape the next massive digital transformation.

By Rachel Roumeliotis
January 3, 2017

Open source software development, infrastructure disruption and re-assembly, machine learning, and customer-first design are part of a perfect storm shaping the next massive digital transformation. You know the one that is creating amazing startups that are literally upheaving industries as Uber and Lyft have done with transportation, Twitter and Facebook have done with communication, and Netflix and Hulu have have done with cable television. All of these enterprises have transformed or created industries. Now all enterprise must shake off the dust of older technology and reinvent themselves if they want to stay competitive.

Open source continues to shape our world

One piece of the puzzle is to incorporate the code and culture of open source. It is a central driver behind each and every one of these disruptive and successful companies. Each has woven in open source, from the code to the culture. This is the change happening and open source is how you can play a part.

Learn faster. Dig deeper. See farther.

Join the O'Reilly online learning platform. Get a free trial today and find answers on the fly, or master something new and useful.

Learn more

For decades open source software has made it possible for us to innovate from operating systems to programming languages. Releasing open source incubates not only individual businesses but evolves, creates, and sometimes lays waste to entire industries. Using open source, making your projects open source, and being an active part of the open source community is a necessary way to keep up with technology and be a part of a larger community. Think about all that brain power working toward your company’s goals. Businesses that have been holdouts to truly incorporating open source into both their code and culture can no longer turn a blind eye to a deep and invasive change; they truly must transform or fade away.

Software development is business development

That idea that all businesses are software businesses should not come as a shock to anyone at this point, but what may come as a surprise is that the changes emerging from software development, operations, and data teams—and frankly, you and your team—are at the epicenter of this transformation!

As technology professionals, you are transforming how enterprise is run from the software on up—providing data to stakeholders to make better informed decisions, shaping how customers interact with the business, and ensuring its stability, security, and scalability. So, don’t mess it up. A lot is riding on your shoulders, from communicating business needs outside your team (i.e., InnerSource) to how you wrangle and analyze your data, and how you set up the company for growth from code to outreach.

Infrastructure disruption and re-assembly remakes an enterprise

The software architecture and systems of a company are akin to a cardiovascular system in your average mammal. If you take care of that system, you can generally ensure a long, healthy life for yourself, and the same goes with any enterprise. However, it can be easy to overlook what may be happening internally while you are off paying attention to life (or business models). Schedules are overrun, security is broken, maintenance costs from patches to purchases run wild, and servers age and die.

The good news is there have been great strides in delivery, deployment, and storage that will leave you focused on growing your business rather than ensuring its internal organs are in good working order in the form of XaaS, serverless architecture, distributed systems, containers, and microservices. You can leave that old model behind and continually have the shiniest new tech on the block by utilizing third-party services like OpenStack for its computing power, building reactive microservices to compartmentalize and focus segments of your architecture to create a much more resilient and scalable environment, and deploy software continuously with cloud-native tools like Docker and Kubernetes.

Start having your computer think (differently)

Machine learning has officially heated up again (and for good) and this time the major players are choosing open source with the computing power behind it to make a significant impact across many industries. OpenAI (Elon Musk), Watson (IBM), TensorFlow (Google), and CNTK (Microsoft) have given rise to a wealth of excitement around new products (Alexa) and paradigms (voice-driven apps), and infrastructure automation. Partner that with the power of having heaps of big, open data sets and soon we will be aiding consumers via Siri, Cortana, and Alexa in ways that were not possible just months ago. This data-fed machine learning is starting to have a significant impact on how businesses are making decisions, how information is delivered, and is driving changes in how engineering and operations teams are set up, as lower-level tasks are no longer an issue.

Putting the customer first leads to success every time

When it comes to planning, crafting, and deploying software or creating portals into your business for your customers, many considerations have to be weighed like budget, schedule, and enterprise goals, but none should take precedence over the actual customer. The customer could be an end user or another company, but if you create anything without researching and talking to your customers, all you are doing is guessing what is needed. You must put the customer front and center as you embark on iterations and new projects; their experience will decide your success. As technology innovation hastens and spreads to enterprises beyond the traditional tech industries, developers must take an active role in championing these drivers for success as we make the journey through this digital transformation.

Post topics: Software Engineering

Get the O’Reilly Radar Trends to Watch newsletter