My first brush with 3GL and 4GL was way back in the 90’s. It looked like, that time, a panacea to all our programming headaches. Time passed, and here we are, the headaches of programming have increased multi-fold. It’s not only about the empty catch blocks, swallowed errors, misplaced warnings, and leaks of memory – but while those problems continue to remain – the trouble domain has become much more and includes wrong pieces in the stack, overlapping functionality, solutions not working with each other and so on. You will know actually what I’m talking about if you are an IT Manager or a Solution Architect, or did I touch you where it hurts! So much for the (3+)GL dream…!
While IT continued to flourish and expand, the core technical strengths still ruled in technology world. The dream of business-value-driven-development continued to remain distant – more of touch-and-go if you will. It kept rising above water in form of reusable components, off-the-shelf functional modules/products, only to take you along and go under-water again…
Having said that, there are areas that have been less of technical plumbing and more of configuration-driven, for instance, in BI and business rules world. Still, a developer always wants to get the hands dirty and play around with the flesh and wiring. And more importantly, they cannot deliver an end-to-end functional run-time application on their own. Enterprise Apps had a huge chance with their position in dictating the terms, but on the ground there was much more custom-code, hooks, plungers and a whole lot of money to be made through “implementation services”.
But, there are at least two real trends – here and now – that change all that. One is BPM and the other is Cloud Computing (PaaS & SaaS).
And two key reasons they live up to the promise are “Abstraction” and “Modeling-driven-development”.
A BPM environment comes with the expectation (not just promise) that the implementation will be modeling driven, and the platform would have handled the technical nitty-gritty and kept them abstracted out for modelers and developers. While BPM doesn’t always lead to Zero-code development practices due to the nature of integration and the way many an implementation is driven today (IT driven), it is possible to deliver processes modeled and executed in an abstracted-out manner. That is, if you have the right intent, and you follow some of the basics. (Elise Olding from Gartner asked this question few months back on Linked In, some of the answers are revealing enough in this direction – Has BPM evolved into just tweaking and incremental improvement? …How do re-introduce innovation in process design?)
The other trend, Cloud Computing, especially SaaS & PaaS definitely change the equation in favor of business-value-driven abstraction. You see that happening in multiple ways and at multiple levels. There are products in the market that actually can deliver solutions of a larger scale through largely modeling and abstraction. The beauty of such products is that they come pre-integrated with the layers required for the application to work, are abstracted out at the functional level, and the onus of managing the platform lies with the platform provider.
Finally, “White collar Developer”, you can smile. Will you?
PS: If you have read my blog in past, you know that I don’t mix my employment interests here. However, I will also always tell you something that I come to know. And from the point of view of emphasizing how it is being done, all I can say for now is that OrangeScape PaaS platform has been able to do an end-to-end ERP implementation for Government with an abstracted-out and modeling driven approach, without coding. White Collar Development fits there so well, it would be only appropriate to call it out!