The next wave in software innovation
Over the last decade, software developers have made a number of significant transitions in software development. Many developers have shifted platforms, from client/server to windows to mobile and then on to cloud platforms and they have shifted methodologies from waterfall to agile. At the same time, we have shifted from "build it yourself" to "assemble from parts" as open source technologies have proliferated.
We don't know how fast software development productivity has been rising, in part because we can't really agree upon measures of developer productivity, but it is rising significantly. The result is that software development is driving much of the global electronics industry.
In the coming 5 years, we believe that software development approaches will be shaken up again by several big emerging trends in the electronics industry. As these trends gain strength, much of what we think of as software development will change.
Key trends that we see reshaping the electronics industry (and therefore) software development in the next five years:
The implications of these five trends will have a significant impact on the business of software development. They will drive another step-change in developer productivity and they will also drive yet another step change in systems complexity.
People will have to accommodate more platforms as open source hardware systems come on board, but that will be much easier to do. Native code will always have its place in high performance applications, but many client-level applications on mobile devices will not require that kind of performance. The bulk of computing will take place in the cloud and end points will be just that - end points - where data is both gathered and displayed.
Most importantly, software development will accelerate the trend towards being a dramatically more collaborative business. As developers snap together APIs into complex network services, they will need to work with partners (sometimes dozens of them) to build integrated solutions. Collaboration will be as much about sharing in the wealth created by the solution as it will be around the technology.
Understanding and managing complex analytics will also be a large part of the future of software development. With everything connected and everything interactive, developers will be as a matter of routine building solutions with millions of end points. They will have to get much better at managing that exaflood of data (both the flow) and the analysis. And just about everything will be equipped for complex A/B testing.
Lastly, I think software developers will have to become much smarter about power and connectivity. Just because something can be connected to the network all the time doesn't mean it has to be. Furthermore, where as in the past we have tended to assume that all connections are created equal, they are not these days. A cellular connection is different from broadband and roaming is different from local. We'll have to become aware of the cost of electricity and connectivity in application development.
About the author
Paul Brody leads IBM’s Global Electronics Industry team serving the world’s top electronics companies. Paul’s work ranges from detailed operations transformation in factory planning up to CEO-Level enterprise transformation plans. He has authored numerous white papers and co-authored the book Irresistible Electronics.