The Best Line of Code is the One You Didn't Have to Write!

This post isn't about code reuse or developing web services. Surely, you and your development organization understand the benefits of developing modular code, packing it in libraries, developing APIs and web services, insuring that test cases are automated, and hopefully starting to enable continuous delivery. Hopefully you have the architectural practices that recognize build once, leverage multiple times is critical to a software development organization's success in scaling to support multiple applications at higher levels of quality.

This is also not a post about code readability. Again, hopefully your organization has some basic methodologies on naming conventions, coding standards, code reviews, tools, and metrics to insure that code developed by one developer can be understood and maintained by other developers and teams.

How PaaS can Accelerate IT at Lower Investments


This post is about PaaS platforms. Platforms as a Service is a cloud computing platform or service. Whereas Infrastructure as a Service will give IT the low level infrastructure such as a Windows or Linux environment, PaaS platforms represent a computing container. Virtually all the major software vendors and cloud providers have PaaS offerings and Gartner has an extensive taxonomy of different service types.

The PaaS services that excite me as CIO enable light weight, ideally code-less applications. These are higher level environments above programmable database, application, or integration computing PaaS. The higher level PaaS platforms are often suited to specific types of applications such as workflow, analytics, data integration or document management. The platforms then provide tools to configure, develop business rules, or customize user interfaces without or with very minimal coding. The PaaS platforms that are most advanced enable a wide array of applications and can be developed with minimal technology skill set. In fact, some of them fit the "self service" category and can be developed by business users with proper training and IT provided governance practices. Mature platforms also include capabilities such as user directory integration, APIs, mobile and tablet views and standard methods to automate data integration. The most promising PaaS platforms demonstrate significant customer adoption, have proven scalability and performance records, and have low costs enabling IT teams to develop products off of them.

No Code = Speed to Market


In my experience, the best of these platforms accelerate time to market significantly as they enable teams to develop applications without a lot of software development (code) and testing. The very best ones are so light weight, they enable teams to be experimental and change implementations with minimal cost to unwind and rebuild.

Too good to be true? It's not, and the benefits are real, but it isn't trivial to achieve. The real issue is selecting the right platforms that offer the most flexibility for the expected needs with minimal functionality constraints and technology implementation complexities. You can't easily evaluate this by listening to sales people, reviewing analyst reports, or even doing some proof of concepts. I might have to develop a sequel to my top ten attributes of agile platforms to help identify strong contenders.

But for now, software developers should think beyond "good code" or even "great architecture" and think more about "smart solutions" that enable more capabilities with little or minimal code.


No comments:

Post a Comment

Comments on this blog are moderated and we do not accept comments that have links to other websites.

Share