IT consumerization is affecting much more than application design and device delivery, moving into the world of development and bespoke application design. If Bring Your Own Device is changing infrastructure and security thinking, what will be the longer term effects of Bring Your Own Developer?
While we’ve always had end-users building applications in tools like Access and Excel, a new generation of languages and development tools has changed the way applications are built – substituting scripting languages for C++, cloud services and public data sources for line-of-business systems, and web-based visual development environments for the command line. It’s a democratization of development, much like the combination of cloud and bring your own device is a democratization of infrastructure.
The new world of development, with web-savvy user-developers, owes much to the work done by Web 2.0 developers. Open APIs from web giants like Google made it easy to quickly mash-up your own data with the web, and popularized the technologies that are at the heart of today’s new generation of API-as-a-Service companies like telephony service Twilio.
Development consultancy ThoughtWorks' quarterly Technology Radar report gives an interesting overview of the current development landscape, looking at the tools, methodologies, technologies and APIs that are moving in and out of fashion in organizations around the world. While ThoughtWorks focuses on the technologies used in IT departments, the same trends are affecting the ad-hoc and end-user development.
Big data is also part of the story, with cloud-hosted analytic tools like Google’s BigQuery simplifying querying and exploring large amounts of information. Again, like the new generation of databases, there’s no need to construct complex SQL incantations, or to design OLAP cubes. A simple ad-hoc query language lets you quickly get insights from your data that can then be used to build more complex applications that can take a prototype query and turn it into part of a team dashboard.
These trends all follow from the widespread enterprise deployment of service-oriented architectures. When combined with web- and cloud-technologies, SOA makes it very easy for users to put together their own applications, especially in conjunction with the tooling built into many cloud platforms like Azure and Salesforce. Scripting languages can glue elements together, and instead of waiting weeks or months for an application to be built using traditional means, a free download of Eclipse or Visual Studio and an account at Azure or Google App Engine are enough to get started. A weekend at a keyboard pulling together scripting elements from a Google search or a query on Stack Overflow, and there’s a cloud application in place, ready to share with colleagues. There’s no need for approval committees, project plans, or buying servers.