Toward the end of last year, the frenzy of running internal IT and providing strategic technology oversight in a company that grew by almost 40% over one year, left me unable to read any more status reports, software specs, business requirements, Gantt charts, white papers, etc. Instead, I used my iPad to catch up on what’s happening in Star Trek universe. After reading a handful of chapters on the Enterprise crew’s adventures I felt ready to again tackle the far less advanced technologies of today.
And then it dawned on me that while we are still pretty far from the imagined world of Star Trek, in some aspects we already have some similarities. In that world, software is completely ubiquitous, supporting uninterrupted interaction with a user who moves between different environments and interacts via a variety of devices. Software is highly autonomous, able to analyze tremendous amounts of data, find patterns and interface with people wherever they happen to be. And it all works without anyone giving a thought to managing computing capacity, adding features, testing, or deploying new functionality. It’s seamless and it works!
It seems pretty futuristic, but the reality is that we have the initial pieces of the puzzle in place now, and it is very possible that the future will indeed look a lot like Star Trek.
Modern day cloud computing already provides a solid foundation for almost infinite computing capacity in a simple infrastructure – IaaS. And standardized commodity services such as data and object storage, messaging, memory management/caching can be managed in PaaS, while commonly used solutions for everyday activities such as data analysis, CRM and collaboration are available with SaaS.
A variety of xDD frameworks (TDD for Test Driven Development; BDD for Behavior Driven Development) bridge the gap between users and software developers and help ensure that software solutions perform their functions as written, remaining stable as functionality is added.
The emergence of DevOps – a set of best practices, processes and tools to bridge the gap between software developers and computing infrastructure – is already a reality, with or without platforms like Heroku.
Advances in mobile technology have made real the promise of ubiquitous connectivity, enabling users to access functionality delivered by software systems without being tethered to their workstations. The technology allows enriching software features with additional context for the interaction. That context may include location, orientation, and physical attributes of the environment.
Internet of things
One of the most Star Trek-like advancements is the internet of things. We are starting to connect with the real, physical world via a network of connected, autonomous smart sensors, controls, and other devices which also interact with each other. This will make it possible for us to control our environments without a central, powerful computer that collects data and issues instructions. Big Data combined with agile, self-service BI solutions, has already made it far simpler for us to process, store, manipulate and analyze vast volumes of data.
Living in a Star Trek world is within our reach, but we have some big challenges to overcome before we get there – technology fragmentation, security, multiple standards – to name a few. I could be wrong, but it feels to me like we’re on the right track. Certainly within this century human beings will not have to spend time verifying software performance, pushing it out to servers, and then looking for bugs.
In future blogs I will discuss some of the ways we’re using these exciting new technologies at Coherent.