I’m going to be on stage with Mike Gualtieri soon but I thought I would drop in and listen to him on the future of application development. Sadly this meant missing a session on BI but even I can’t be in two places at once. Mike’s theme is that the value of application developers in the future is dependent on them changing roles.
Change is being driven for application developers for many of the same reasons it always changes – users demand new features, changing business models and methodologies, new languages and frameworks and new architectures. In response to this there has been a constant attempt to improve development to make it easier, faster and to bring the business more in to development. There are some trends that make it difference this time:
- Dynamic business applications (see keynote)
- Technology populism e.g. web 2.0 and knowledge workers who push IT to use technology
- New business analysts – changing policies directly without software
These trends, and the continuing ones, will make application development less like Classical Music and more like Jazz – it has an underlying structure but it supports improvisation. Similarly there are experts, improvisers, power users (less talented but energetic musicians) and remixers (mashups). Think about extending this metaphor to Rockstar and Guitar hero! Now non-technical people can be musicians.
So, what is the future of application development and how valuable will application developers be? Well, depends on what the future is. Mike thinks there are three roles that seem plausible:
- Dynamic applications developers
Same role as today, just developing new kinds of applications. This is the evolved version of today’s developers. Today they use Java or .Net, SOA, patterns, agile etc. Incremental change.
- Enlightened business developer
Business people provision their own applications and participate in the development process. New generation are not intimidated by the idea of developing applications, cheered on by business people and understand process, data and rules. Can render user interfaces and mash things up.
- Renaissance developer
Providing design and development tools for the enlightened business developer. Have to have business acumen and know the business in their bones. Less need for technical details and less driven by platform ideology. They focus on developing tools for enlightened business developers.
How likely is this to happen? Well the goal of application development is to deliver increasing sophisticated and complexity of program without increasing the difficulty of use as much. Most languages either scale poorly or have a high barrier to entry. Alternatively you can consider a syntactic boundary between power users and IT experts and a semantic barrier between power users and business experts. Some say that domain-oriented design tools are needed – like Experian’s business rules interface that is aimed at risk managers. Meanwhile web 2.0, BPMS, BRMS, widgets, mashups and more are emerging.
One risk is that enlightened business developers will initially get in over their heads, just like they did with Excel and VBA. Good business people can become bad developers. They can get stuck and need help, simple applications become monsters and extreme expectations result in disillusionment. This makes it tough for developers because they must help bring this new environment into being while being threatened by it. Application developers are increasing commoditized – resources not talent, outsourcing, competing with business developers.
- Become an enlighted business developer
- Become a renaissance developer
- Be a fundamental technology-focused Computer Scientist
Regardless some skills cannot be commoditized – empathy (for the user), creativity, deep technology know-how. To survive:
- Become a shepherd for enlightened business developers
- Learn more about the business – feel it
- Prepare for the future don’t squander it
Application developers who have business acumen will continue to be super-valuable and those who can build tools for enlightened business developers will become even more valued.
Some interesting comments:
- Mining legacy applications gives IT an opportunity to build business acumen – the rules and processes in the legacy applications are the definition now as business people who knew have retired and so no-one outside IT knows.
- The need for soft skills also came up multiple times, particularly in the light of the new collaboration between business and IT.
- Younger workers may fill some of the roles as they are so much less intimidated by technology and so much more willing to make things they need.