What you don’t know can hurt you. Sometimes the world can change under your feet and you never saw it coming. I like to anticipate and stay ahead of the curve where I can. As part of our patterns & practices Application Architecture Guide 2.0 project, I’ve been hunting and gathering trends that influence software development. Rather than make this exhaustive, I wanted to share "good enough" for now, and leave you room to tell me what I’ve missed and share what you’re seeing in your world.
Key Notes On Trends
- Trends aren’t fads. Trends tend to have depth and staying power, whereas fads tend to be short-lived.
- Some fads are future trends in disguise.
- In my experience, consumer trends influence Enterprise trends.
- Use trends to help you avoid surprises and to sound hip at the water cooler when you too can speak the buzz.
Trend "Hot Spots"
Rather than distinguish between trends and fads, I decided to focus on “hot spots” and simply identify the topics that keep showing up in various contexts with customers, in Microsoft, in the industry, … etc.
I know the list looks simple enough, but it actually took a bit of vetting to spiral down on the ones that have wood behind the arrow and have signs of a trajectory.
David Chou on Trends …
In this post, Cloud Computing and Microsoft, David Chou identifies the following trends:
- Consumerization of the Web, and use of browsers
- Application development efforts shifting towards thin clients and server-side programming
- Improvements in network bandwidth, anywhere wireless access, etc.
- Increased maturity in open source software
- Proliferation and advancement of mobile devices
- Service Oriented Architecture
- Utility/Grid Computing
Simon Guest on Trends …
In his talk, An Architectural Overview of Software + Services, Simon Guest outlines the following industry trends:
- Trend 1: Service Oriented Architecture (SOA)
- Trend 2: Software as a Service (SaaS)
- Trend 3: Web 2.0
- Trend 4: Rich Internet Applications (RIA)
- Trend 4: Cloud Computing
Simon connects the dots from the trends to how they support Software + Services:
- SOA – Reuse and agility
- RIA: Rich Internet Applications – Experience
- SaaS: Software as a Service – Flexible pricing and delivery
- Cloud Computing – Service Utility
- Web 2.0 – Network Effect
Phillip Winslow on Trends …
In an Interop Keynote Panel on Current Software Trends, Phillip Winslow responded to the to please predict the biggest IT story for 2008 as follows:
“ … decoupling of the end user platform. Virtualization and desktop virtualization and layering on SAAS… Salesforce.com, gmail, etc how we think about the desktop sitting on our desk will be much different.”
TrendWatching.com on Trends …
Here’s a snapshot of interesting tidbits from a an earlier version of this trend report page on TrendWatching.com:
- HappyNomics – In fact, this year may be a good time to move ‘HAPPYNOMICS’ from the academic world to your ideation team.
- 12 Themes – The 20+ trends covered in the report are part of bigger themes:
‘REAL’, ‘BEST’, ‘STORY’, ‘UNREAL’, ‘UNFIXED’, ‘TIME’, ‘GREEN’, ‘DOMAIN’, ‘ONLINE’, ‘(R)ETAIL’, ‘ASSIST’ and ‘PARTICIPATE’. These themes are all about what will EXCITE consumers in the near future, and can be read/presented independently, or as a coherent ‘story’.
Here’s the cool part. I saw GREEN on their page well before I noticed any of the Green IT initiatives show up. It struck me as an example of consumer influencing Enterprise.
Here’s some of the posts that I found to be useful for understanding the impact and influences behind some of the trends:
- 8 Trends in Software as a Service Platforms (Alex Barnett blog)
- An Architectural Overview of Software + Services (SomonGuest.com)
- Cloud Computing and Microsoft (David Chou)
- Consumerization of IT: An Example (Gianpaolo Carraro )
- Dynamic Languages Strike Back (Steve Yegge)
- Justifying the Need for Composite Applications (Mike Walker)
- Mr. and Mrs. CIO SaaS will not make your life simpler (Gianpaolo Carraro )
- User Interface (UI) vs. User Experience (UX) (SimonGuest.com)
I know this looks like a laundry list of links but these are actually helpful to quickly get what some of the topics are about:
- Business Process Management (Wikipedia)
- Cloud Computing (Wikipedia)
- Comparison of Programming Languages (Wikipedia)
- Dynamic Progamming Languages (Wikipedia)
- Functional Programming (Wikipedia)
- Grid Computing (Wikipedia)
- Green Computing (Wikipedia)
- High Performance Computing (Wikipedia)
- Microsoft’s Services Platform Takes Shape (Microsoft Watch)
- Parallel Computing Dev Center (MSDN)
- Parallel Computing (Wikipedia)
- Platform as a Service (Wikipedia)
- REST (Wikipedia)
- Service Oriented Architecture (Wikipedia)
- Software Plus Services Means Greater Choice, Microsoft Exec Says (Redmond Developer News)
- Utility Computing (Wikipedia)
My Related Posts