Several weeks ago I was reading a post in one of the industry journals about something called Composite Programs and how they were the new paradigm in many businesses. After reading this rather lengthy article about how certain users build these tools, I was left with the single question: "Where are these people?"
To quote from Chris Keyser's article in last month's Architecture Journal:
"Composite applications offer a long-sought-after business nirvana whereby empowered technical business users can stitch together componentized business capabilities. In many ways, composite applications are the business web users' equivalent of Web 2.0 and "mash-ups." While there has been a lot of hype around composites, many vendors have been slow to deliver real value in this area. Technologies are emergine, however, that will change this game, and composition will become an increasingly important aspect of constructing business logic."
Pretty words, but does this apply to the average Canadian business?
In order to find out, I've been discussing this supposed 'new paradigm' with a few other programmers and found that the people that work for my employer are no different than 99% of people that work for other employers. That is to say, that while these employees are typically great at what they do, they will likely never build one of these composite applications. It's just way outside their field of expertise.
I was looking at how people went about building these apps, and when I think about all the non-programmers with my employer (there are 3 programmers and 380+ non-programmers), I can only think of four people that might venture into this area. Building these mash-ups typically means that the user has a pretty good idea of what they need the software to do, and what role they expect the data to fulfill. For all the people my friends and I work with all over Western Canada, we don't really see this catching on.
Then again … lots of people didn't see the cell phone catching on, either.
In ten years, I can see composites making their way into some companies. But even then, it will be on a limited basis. Only people who have a througough understanding of the business or processes should be making these mash-ups. Otherwise, the problem companies will face will be non-standardized mash-ups. The other big problem would be supporting these non-standard apps. Already at work, programmers are expected to reverse engineer reports based off pivot tables in Microsoft Excel using some often-unknown data source in order to make things work. Who will reverse engineer these products when the initial creators either leave, or forget how something worked?
While the software world is moving into some very exciting areas, I'm looking forward to retiring and opening that coffee shop by the beach.