sungrid link
20050420 Wednesday April 20, 2005
Evolutionary Software

In the past I've talked about the need to enable a new development model... something in which the agility is shared between the developers and the IT department. Recently I read this article on a move toward ASP's and the inherent pace that can be achieved where an ASP is the software companies primary target:

BeyondVC: ASPs/Service Providers:

“In the time it takes Microsoft to deliver an application (went from 1 year to 5 years), a company delivering software as a service can deliver 60 iterations of its product. As Adam points out, ”things that breed rapidly more quickly adopt through natural selection to a changing environment.“ I have never thought about software in evolutionary terms, but it certainly makes sense.”

This really brings home some of the key points around the ability to create agile business processes, through an evolutionary approach and constant refinement. One thing that I think that a utility centric approach to development in which the develop->deploy paradigm is both iterative and shares a common runbook is the ability to “try things out” and have the digital runbook (the functional and systemic design for a production system - like our N1 technology enables) become aware of successes and failures. This builds upon the patterns and micro-architecture work done by the patterns community, but adds a learning path which allows knowledge/experiences to be documented and preserved - not in the developers per-se, but in their annotations within the design.

I think that one of the things that may be holding some developers back is the fact that their development environments are frequently substantially different from their deployed environments... something that I think Sun Grid has the opportunity to change... why not instantiate a developers instance(s) of a web server (ours, theirs, open - whichever containers have deployment plans for the Sun Grid), app server (ours, theirs, open...) and db container(s) on the grid, attach to it from Java Studio Creator... do intial development, and gather statistics. Begin to instantiate additional elements of infrastructure: identity, entitlements, logging, firewalls/packet filters as development progresses using your corporate runbooks to find deployment errors early, gather statistics, fix incompatibilities and re-factor as necessary to make optimal use of environment... and so on until you have a system.

Keywords:

Permalink
Trackback: Technorati cosmos http://blogs.sun.com/dhushon/entry/evolutionary_software
Trend toward Software as a Service

I found this really interesting article on Software as a Service (Saas) and how enterprises are adopting Utility (standardized software for whose demand is aggregated by a service provider for economic efficiencies):

A field guide to software as a service | InfoWorld | Analysis | 2005-04-18 | By Eric Knorr,Leon Erlanger,James R. Borck:

“But an urgent need to stop piling cost and complexity on IT is sowing the seeds of change. Although enterprises may not be replacing effective, large-scale systems with SaaS alternatives, the SaaS option suddenly becomes perfectly viable when it comes to adding new functionality. And, as Salesforce.com discovered, SaaS can be particularly successful at replacing in-house or off-the-shelf software that has failed miserably.”

What is exceedingly interesting to me is that there is a continuum that I have been experiencing over the past couple of years:

Round 1/Year 1: “Time to cut costs”

Customer recognizes reduced budgets and begins process of reducing costs

  • Path 1: Outsource non-critical/ segmentable application to outsourcing provider
  • Path 2: Move toward consolidation (simple) of compute and storage resources within similar classes of applications starting with non-business critical applications

Outsourcing works for first year (the true benefit year) and then change costs, and delivery cycles which although contractually committed/agreed become to stiff to allow for business agility for certain business functions
Initial consolidation does reduce costs from operations / expense from acquisition by 15+%, and outsourcing benefits are realized for most customers

Round 2/Year 2: “Time to re-evaluate strategy”

New controls negotiated into existing outsource contracts Consolidation recognizes need for improved Operational Readiness / ITIL / Process & approach standardization and moves forward only with support of business customers
In return for standards based approaches business customers begin to demand detailed metering to better understand the true cost of IT to their business
Business and IT collaborate on approach to decrease variability and the huge costs associated with customization

Round 3/Year 3: “Increased appetite for standardization”

Businesses recognize that their highly customized business processes come at a price both real (time-to-market, expense, and revenue) and regulatory pressures force upgrades ? “is the time right to re-factor our business?”
Anicdotally: in a recent meeting between a handfull of CIO's, one brought up “has anyone been able to implement XYZ - large enterprise package here- on time and on budget?” “nope”, “nope”, “nope” so what are we doing wrong?

SaaS seems to be taking off if you look at the growth of ASP's like Salesforce, Oracle-On-Demand, and other ASPs
Elaborate a strategy taxonomy for enterprise applications based upon a basic taxonomy: Custom Apps, Custom applications on compute/net/store consolidated platforms, Standard apps on fully virtualized platforms, Standard apps on utility models.
Start talking to IBM, HP and Sun about their Utility models, and Business Grid technical approaches...

One big question invariably arises: “How do we keep from doing this to ourselves again?”... answer of the day seems to be SOA, yet another acronym to solve all ails, but to me this just addresses a part of the problem... like saying that “standards will enable a complete solution to interoperability”. I think that there is actually an ecosystem change / play afoot which is very interesting... similar to the well recognized “getting Amazoned” moving toward “getting googled” (becoming inadvertently marginalized through a loss of direct relationship with a customer because of a competitors ability to offer aggregation and mass-customization at scale) we begin to see defensive plays being forced on businesses to enable improved agility only afforded by economies of scale. I've got some ideas in this space because in fact explicit collaboration between developer/BU and IT becomes a key factor in success. And I'll elaborate some of my ideas around the role that a properly architected utility ecosystem can play in bridging the gap in the next couple of days.

Keywords: ,

Permalink
Trackback: Technorati cosmos http://blogs.sun.com/dhushon/entry/trend_toward_software_as_a
Disclaimer: These are the express views of Dan Hushon, and in no way are indicative of the views, strategies nor plans of Sun Microsystems, Inc. Creative Commons License
All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a Creative Commons License.
Valid HTML 4.01! Valid CSS! Listed on BlogShares