Jim Stikeleather is Chief Innovation Officer for Dell Services where his team enables, facilitates and accelerates new technologies, business models and processes to address evolving business, economic and social forces for the company and customers.

For more than 30 years, Stikeleather has designed, developed and implemented award-winning information and communications technologies that help businesses and institutions succeed as well as starting and growing multiple companies.

He has spoken and consulted internationally on digital infrastructures, evaluation of emerging technologies, and provided strategic guidance on their application to achieve business outcomes and Jim holds two patents.

Stikeleather spoke to Software-Russia.com about his view on the future of software development.

What are the major trends and changes you see in today’s software development world?

Rather than talk about today, I prefer to look out a few years and anticipate what will be happening. It is pretty clear that there are a few areas of focus that software developers need to pay attention to, not so much in how they develop but in what they develop.

First, I would suggest that the Internet of Things, the Industrial Internet, Machine to Machine Internet — whatever it is called — will likely be three to four times the market of the web and internet that we know today.

There is a great TED talk by Kevin Kelley about the first 5000 days of the web, which is well worth everyone watching for the lessons to be learned. One of his key thoughts is that back then we couldn’t imagine the business models that would evolve from the web — Google, Amazon, eBay, Facebook and many more. Likewise the same thing will be true about the Internet of Things. A few ideas are becoming clear — increasingly people will not be buying products for the products themselves but for the windows into services that the product provides. Think about contemporary running shoes. The value is in the embedded sensor and the data they upload to the web enabling tracking performance, competing with friends and even running virtual worldwide marathons. All of these services will be software enabled, facilitated, and accelerated.

The second element is the continuing change in the nature of the software value proposition. Even today, the majority of software is still transitionally oriented. This is generally an outgrowth of business needs to reduce transaction costs (costs not directly tied to generating value for the customer) via scale and drive efficiency focused on a single unit of work — the transaction. The Corporate Executive Board did a great study on the future of Corporate IT in 2010, updated in 2011 — I highly recommend it to everyone to better understand the demands and requirements that will be coming from the corporate sphere.

In 2013 they undertook to update it again and actually generated tremendous insights from one of their human resources studies. Basically, we have pulled the existing productivity levers pretty much as far as we can, and the next opportunity for productivity and efficiency is at the group rather than individual (transactional) level. This fits well with research supporting high performance companies with levels of collaboration, orchestration and choreography rather than straight productivity. I expect a continuing explosion in software that enables people and machines to collaborate non-directionally.

The other thing software developers need to monitor is the massive shift from ownership to rents for all things. The new generation of consumers are not particularly interested in owning things as long as they can access the benefits the “thing” offers. You see this now with a new generation not interested in car ownership and more inclined to us zip car or uber or city bikes instead of owning their own (for everyday use). The same will be true for software — don’t sell me the software let me rent the benefits — so expect ever-increasing Software as a Service models. Further, for much of what is visible software today to disappear into pure services — rather than rent a calendar or contacts application, I will hire a company to manage my calendar or contacts and ensure that they are available and up to date.

My next to last observation for software developers is to spend way more time in understanding usage patterns and context, with special emphasis on context. There is a great scene in the movie “Minority Report” where the protagonist has to get a new pair of eyes to defeat security systems, and starts getting all of the tailored advertisements for the original “owner.” In addition to collaboration, the next step up in value proposition for software lies in understanding the context within which it is being used. You see this to a degree in new smartphone software that is location aware (based upon GPS). We are working on a foresight scenario that we call the Serendipity Economy and is based upon some original work by Dan Rasmus. Think about the basic value of a smartphone — it can make calls. But let’s say you wake up in a strange hotel room — now it can tell you where you are and why you are there. Its value just went up a lot. It also tells you that you are at a conference, that three friends in your cooking club are there with you, and there is an Indonesian Texas barbecue fusion restaurant four blocks away and that is the topic of your next club meeting. That scored a whole lot more value. It also checks your friends’ phones (and eventually intelligent personal assistant) to find out that all are free and there is an opening for dinner reservations tonight. The phone is now at its utmost value. Same time tomorrow it is worth much less. Value is created by context and actions taken in context. Again, no software will stand alone and how we create the discovery, collaboration, integration (functional, not tight), choreography and orchestration of function will create more value than the actual direct function of the software in standalone mode.

Lastly, in many ways we are approaching what economists call a perfect (or equilibrium) economy. Think about it. Two guys go fishing on Sunday and notice that a slight improvement in their reel would significantly improve their experience. They get back home, get on a SaaS CAD program, draw up the idea, ship the file to KinkosFedEx (who is installing 3D printers in their locations) to be “print/built” show it to their friends who suggest improvements and give recommendations that they then put up on kickstarter, whose funding they use to send to an offshore job shop manufacturer after signing UPS to handle logistics and distribution and opening up an Amazon storefront. This (and other issues like loss of buyer/seller information differentials) means that supply immediately rises to meet demand (even for something that people do not yet know they need) almost instantly (eliminating time friction from the economy) and the economy comes to equilibrium. The interesting thing about equilibrium economies is that they offer no opportunity for profit. The only form of profit left is monopoly profits — those profits that come from that short period of time where you have a value proposition that no one else has. In other words, innovation.

This means more than ever (software is easier than a physical product like the new reel) software developers have to be continuously innovative. This in turn means more development models like DevOps that allow quick introduction (and retrieval in case it doesn’t have the expected benefit) of value continuously.

Are there any significant new ideas in this field in the last 2-3 years or are they just repetitions and further development of already known methods?

There is a famous William Gibson quote “The future is already here, just not evenly distributed.” This idea permeates much of my team’s foresight and insight work.  You can look at the tools of software development — architecture, languages, environments — as basically following the progressions of thought in philosophy (logic, semantics, taxonomy, epistemology), mathematics and, more lately, general systems theory.  Originally programming was derived from logic. General system theory provided foundations for early environments, set theory brought us relational technology, OO and Functional programming derived from the more advanced philosophical disciplines.

A couple of things are clear. The above ideas of collaboration, orchestration and choreography needs for both productivity and to enable a lot of the capability of the Internet of Things will require ideas from the more advanced mathematics — complex adaptive systems theory, ecological models, learning theory like neural net models and more “self-discovery programming” like genetic algorithms. These have actually been around for a while, but as the information value proposition (amount of time and money to be invested versus the benefits achieved) shifts more to these emergent and social value propositions they become more relevant.

Take an extreme thought experiment for example. Think about what it will take to have the sensors in your undergarments sensors (monitoring your health) detect and coordinate the sensors in your outer wear (environmental detecting) as well as being organized by the systems in your car or home as well as perhaps linked to your calendar and upcoming plans. Then tie all of this to your phone, glasses and watch. Suddenly no software stands alone — of which we are seeing the early signs of this in the app space for phones.

Even today most of this type of code is still done at a level very close to the silicon. That will have to change — there are not enough programmers in the world to accomplish all that will be needed. I suspect we will see new forms of programming that leverage ideas from prototype instance model OO to represent the aggregation of sensors in a “thing” and then advanced functional models to implement the complex adaptive systems rules that such a system of systems will require to function dynamically. I am not sure what the “Darwinian crucible” model for the evolution and emergence in these new usage patterns will look like — genetic algorithms, neural nets, adaptive predict calculus — or whether the capabilities are embedded in the software development environment, an external add on to an “application” or even a central configuration management approach.

Fortunately the hardware is ready for the most part — 64 bit ARM or x86 SoC are adequate, and will only get better. Interestingly, as they get better the bandwidth issue sort of self corrects. Imagine all those sensors in your clothing are generating gigabytes of data per second – not only to feed your environmental systems but to also get you a discount on your health insurance if you upload them to your insurer. That is a lot of data, but with a SoC discovering the sensors and receiving their data, it can generate an equation representing the data stream and only update changes in the distribution curve. Conceivably, the IoT may actually reduce bandwidth needs (if we get the architecture right). Something like that will be necessary as wireless becomes the default mode of interface for everything.

What’s your opinion on using agile/lean in the context of outsourcing? How does it work?

People forget that at the end of the day the tools and techniques one applies to a problem is driven by the economics of the problem.  Lean and agile are always a tradeoff between “Speed to benefit” versus “cost of failure.”  Interestingly, if you study the speed part of the equation it is no longer developing the software that is the bottleneck, but it is the legal and administrative issues of what software to develop; when, where, and how. This in an attempt to reduce or eliminate the cost of failure. Given the previous comments about the need for continuous innovation and development models like DevOps, where it effectively encourages experimentation — try it out and see if it works and quickly regroup and try again — there is not a lot of time left for traditional procurement models.

Instead what our foresight work is suggesting is that companies will need to become highly trusted ecosystems with gain and risk sharing replacing traditional contractual relationships. This includes sharing all the needed information with your outsourcer and trusting that they will build the right thing, maybe even something better than what you would have thought of and written into a contract. People, especially legal departments, shudder. But historically, most business was conducted on such a “handshake” relationship. Francis Fukuyama even wrote a book called “Trust,” which states that all economic value is created from transactions of trust, regardless of “legal” overlays.

In addition to the historical perspective there are two very contemporary economic subcultures that currently operate this way. One is the Chinese Shanzai which are the small specialty manufacturers that will produce anything you ask and do so by coordinating (dynamically based upon capacity, capability and availability) among themselves all of the components and final assembly – without any contractual relationships and totally based upon reputation and verbal commitments. The prime reason is that they have no recourse to the legal system (being somewhat loose with IP issues) but also because it has given them competitive advantage against traditional manufacturing ecosystems. There is also the makers’ movement, which behaves in a similar manner simply by choice and yet is able to produce sophisticated products like those from Local Motors.

The point of all of this is that the relationship between outsourcee and outsourcer will change to be more cooperative, collaborative, orchestrated and choreograph (not to beat a theme to death) participants in a ecosystem where each trusts the other and the purpose is for the latter to make the former succeed – but each does what they do best to create value. Whether it is lean, agile or maybe even CMMI level 5 life safety structures is, and should be, a choice of the trusted partner.

What would you like our readers to take away from this interview?

We have always claimed that software will change the world but, for the most part, we basically just automated the human bookkeepers and assistants of the past. Now, it is clear that the Internet of Things, delivery “as a Service” and new continuous development and delivery models like DevOps mean that we may actually begin to live up to that claim.

Developed by I-Help

© 2011–2015 Software-Russia.com. All rights Reserved
Contact: editor@software-russia.com