I was recently watching an interview conducted by our own Allison Lloyd with John Mancini, president of AIIM. I was fascinated by a number of things John said regarding the future of information management and the types of skills that will be needed to succeed as we move ahead into the future, particularly where multi-media and social content are concerned. However, his commentary regarding the need for individuals who can take a holistic view of the technologies needed to provide a rich user experience really got me thinking. I think John is absolutely right. Social media and mobile computing are changing the way we experience and interface with the world, and as the technology evolves and the line between the technology and marketing layer blurs, it is going to ripple through every corner of modern life. I'll leave that discussion to the social scientists and focus on the impact on what I know and live, development — specifically, software development.
Software development has been at the core of the impact of the computer phenomenon since the earliest days, and like so many other human activities, resistance to change is inherent. That's not to say that there haven't been huge strides in technology over the last couple of decades, but what holds true for Moore's Law and physical technology does not necessarily hold true for the basic processes required to develop the software brains behind the hardware body. The problem arises when the hardware capabilities and the market trends evolve more quickly than the conceptual design and development process behind it.
For example, in my work, I run across companies that still base their entire business process on mainframes and COBOL-programmed output. Their mentality tends to be focused on data, raw data. They design and define reports that output information much the same way they did back in the 80s and 90s. Of course, the information is valuable and important, but in a surprising number of cases, data is delivered and prepared with little concern for the ultimate user's needs.
Similarly, we run into many customers whose infrastructures are designed around a PC-centric, client/server mentality and have all of the limitations and issues inherent in that now past mature branch of the technology family tree. Granted, client/server technology is a good deal more interactive and user-controllable than mainframes and dumb terminals, but they are still inhibited by the static and permanent nature of the installation. Client/server architecture, particularly those based on a Windows platform, has the capability of a rich content experience and can usually take advantage of the newest technology innovations and multi-media experiences, but it is still hampered by two key issues. First, with the exception of WiFi, it is not generally conducive to portable computing, and second, the technology itself has evolved a certain siloing of skill sets with different SMEs overseeing their own specialties within the whole.
Finally, I think innovation in older architectures has been throttled down as they have been superseded by more modern paradigms and simply cannot be sustained as the world moves to mobile, highly interactive experiences within a social media and multi-channel context. I think that the nature of the more traditional architectures restricts the ability of technical resources to get outside their box and see the bigger picture. This is because the technology behind them was evolved and developed as a series of smaller pieces brought together to make a greater whole. Each piece (operating system, application software, network transport protocols, print subsystems, etc.) were mostly built by individuals who were experts in their given segment. Those silos of expertise persist today, and it is precisely these silos that need to be merged to develop the new paradigms based on mobile and social computing.
The last key feature of traditional development that I think needs to be overcome, which may be the most significant evolution that needs to be embraced, is the move away from programmer-driven interface design. The single most important feature of the software experience, assuming functionality, is the user interface. Most development in the last 20 years or so has occurred using the tools defined by the development environment provider, usually Microsoft, and more often than not, the interface is designed using predefined objects that, while familiar, are uninspiring. Furthermore, the interface planning, when done by a programmer, is generally completely logical to the programmer and not so for the non-programming user.
So, how do we move from these obsolete mentalities into the mindset needed to develop tomorrow's rich, mobile and dynamic user experiences? The first and most obvious step to me is to nurture the mindset that leads to innovation and the move away from the past. John made the point in the interview that future developers will need people that understand both the front-end systems and how they map back to the transactional systems. This means combining the silos not only at the software development level but also between IT, sales and marketing. Perhaps initially, this becomes a combined effort between the disparate groups, but eventually, a class of development technicians with marketing and sales skills will necessarily evolve. These professionals will not only understand how to maximize the impact of the user experience but also how to use the infrastructure behind the scenes to make that experience happen. The day of the reclusive programmer, grinding out code in some dirty, disorganized cubical, will become the era of the Marketing Technologist. This individual will not only have the skills to provide a rich, effective multi-media user experience but also will have the technical skill set to understand what is possible and how it can be done. The companies that recognize this need first will also be the first to see the efficiencies and success in their own marketing and sales campaigns and will become the leaders in the next generation of mobile, computerized development.