2014-05-12



Enterprise IT Innovation: Producing an infinite variety of applications to serve the needs of the many on one technology platform

Some people with big names in the world of enterprise IT have gone on record to say they believe the time when enterprise IT could be seen as a competitive differentiator has passed. They believe business IT today is more about consolidating platforms around best-practice methods melded into software code provided by the big software giants of the era: ‘If all of our competitors are using their software, then why don’t we use it too?’.  Recent trends in enterprise IT platform consolidation and the overpowering pressure of compliance and regulatory demands appear to support this perspective.

Even when this argument of ‘IT Parity versus IT Innovation’ is put to one side, there can be no denying that many organizations have come to realize they simply have too many different software applications and best-of-breed tools resulting in inflated IT operating costs.  The consequential impact on IT budgets of adopting many different software tools lies not only in their onward support and maintenance costs but the significant increase in complexity of managing change, bringing data together and supporting ever changing needs to re-use data for different reasons. IT leaders know it makes sense to have FEWER technologies to support.

A HUGE AND GROWING UNMET NEED exists in today’s enterprise software market – found in organizations of all sizes – to solve the obvious conundrum: How to best service the demands of more IT literate domain expert user communities for new applications WHILE reducing the number of software tools that already overstretched IT teams must support. 

This article looks at the role of the next-generation of Situational Applications platforms characterized by Encanvas Secure&Live™ in addressing this unmet need.

 

Introduction

Enterprise IT has become a somewhat boring topic in the world of IT.  It just hasn’t kept up with the cool consumer-wave of online software tools like Google Maps and Facebook that kids find so much fun to play around with and even the rest of us, when we’re not working, wonder why such easy to use technologies are in such contrast with the software used in the office!

Fact: There is a sizable and STILL GROWING gap between the quality and usability of consumer-facing software and business software that most people use.  But fear not, you won’t have to be using that application user interface that looks like Microsoft Access on a bad day for too much longer!

The term situational application has been defined in many ways but generally most practitioners agree on a common ‘purpose and reason for being’; that individuals and communities of users with domain skills frequently need business-class applications to support their information analysis, management and sharing needs.  Situational applications then are those software apps that are produced to serve the needs of individuals or small communities of users to address ‘situational needs’.

While the majority of applications needs for business users are served by BIG DATA-CRUNCHING OPERATIONAL PLATFORMS – purchased for enterprise resource planning, finance, customer management, operational management, stock and warehouse management, logistics etc. – as organizations develop and fine-tune their operational practices, inevitably more requirements for applications emerge.

Over the last decade IT leaders have spoken about the importance of ‘serving the long-tail of demand’ for professional enterprise-grade (i.e. safe, scalable, tuned, compatible…) applications.  Most commonly these demands come from individuals and communities that want to analyze data gathered from disparate sources, from individuals that want to put data they already have to other uses and from groups of users within and beyond the enterprise that want to share knowledge and content remotely on mobile devices, from home, or with communities of users beyond the traditional firewall of the enterprise.

 

Situational applications drive IT innovation

Innovation happens in the enterprise generally in small pockets of users.  These are the roles empowered to look across enterprise silos, to find new customers, source new customer value, to be curious about why things happen as they do, to invent new products and come up with better ways of working.

Originally, the general consensus was that situational apps were transitory in nature and could be discarded if unhelpful or adopted should they prove to be valuable.  The reality of deployments has shown that situational applications generally form part of an applications innovation life-cycle where domain experts start with a ‘question’ demanding data to qualify the answer, but that when answered with data the same enquirers then need to ‘organize data’ and probably build-up a ‘process’ resulting at some point in an operational ‘system’.

A quick history of situational applications technologies

The first situational applications tool was the spreadsheet. Applications like Supercalc and Lotus 123 revolutionized how domain experts could fashion new ways of interpreting, capturing, managing and sharing information to meet their personal needs or those of the work communities they operated within.  It was the creative tool that underpinned business planning, market research, performance and operational analysis, budgeting and sales forecasting for decades.

The spreadsheet was followed by presentation software applications like PowerPoint that enabled non-programmers to build-up their ideas into stories and share them.  These desktop tools were great but they weren’t great at managing ongoing data relationships. For this a relational database was needed and the tools to create databases were generally too complicated to use.

It was applications like Dataease and Lotus Notes that eventually moved Situational Applications tooling on a level.  Suddenly users could create their own sites and ‘mini-ecosystems’ including relational database-driven applications.

It wasn’t until thought-leader Clay Shirky published his essay ‘Situated Software’ in March 2004 that the idea of socially-centric, built-for-purpose and potentially thrown-away software hit the media.  He wrote, “Part of the future I believe I’m seeing is a change in the software ecosystem which, for the moment, I’m calling situated software. This is software designed in and for a particular social situation or context. This way of making software is in contrast with what I’ll call the Web School (the paradigm I learned to program in), where scalability, generality, and completeness were the key virtues.”

In August 2007, Luba Cherbakov and a team from IBM wrote the first of two articles on what they described as ‘Situational Applications’.

In their paper titled ‘SOA meets situational applications, Part 1: Changing computing in the enterprise’, Cherbakov and her colleagues defined the attributes of Situational Applications, stating, “The loosely accepted term situational applications describe applications built to address a particular situation, problem, or challenge. The development life cycle of these types of applications is quite different from the traditional IT-developed, SOA-based solution. SAs are usually built by casual programmers using short, iterative development life cycles that often are measured in days or weeks, not months or years. As the requirements of a small team using the application change, the SA often continues to evolve to accommodate these changes. Significant changes in requirements may lead to an abandonment of the used application altogether; in some cases it’s just easier to develop a new one than to update the one in use.

The 2000’s saw the introduction of Rich Internet technologies, Web 2.0 and a growing sense of the opportunities that harvesting third party ‘big’ data’ could provide.  Many software companies (including JackBe, Corizon, Twinsoft, Nexaweb, Just Systems, Serena, Microsoft, IBM and Encanvas were experimenting with ‘enterprise mashups’ at a time that IT analyst firms were talking up the impact of self-service applications with the means to mashup existing data. A report published by IT industry analysts Forrester Research in 2008  suggested the enterprise mashups software market would generate global revenues of $700 Million by 2013 (Forrester defined mashups as “custom applications that combine multiple, disparate data sources into something new and unique”). It never happened.

 

New innovations that are making situational applications publishing work today

A number of advances in technology have occurred in the last decade that have made it possible today for situational applications platforms to exist and serve the unmet needs for applications:

Rich Internet Technology

Many new innovations in the use of Rich Internet Technology have enabled developers to improve usability of applications and things like security, user identity governance etc. for web applications.  Balancing client and server-side processing has particularly become a fine art – essential to ensure reasonable levels of performance for users migrating from desktop to web server hosted applications.

Cloud and Web Platforms

The impact of investments by software and infrastructure companies like Microsoft, Google, Amazon and Rackspace to progress very large scale applications delivery have made it much easier for smaller companies and the broader software development community to get onboard with new applications and develop middleware tooling to support situational applications. Of particular note has been Microsoft’s development of the ASP.NET and IIS architecture that has produced many rewards for development companies including powerful security protocols, resilient Internet Services and the adoption of standards.

Maturing browser platforms

In the early days, browsers were barely able to reliably present text!  Nowadays browsers are much more capable of presenting rich media and have overcome many of the hurdles that once prevented applications from migrating from desktop to the web.

Maturing hardware platforms, particularly mobile computing platforms

My first mobile phone was the size of a brick.  Today, we carry computing power in our pockets every day that would make the first computers look embarrassingly ineffective.  Most people today have the ability to access a web browser from one or more applications.  Without access to web browsers, the centralized management of ‘federated applications’ would not be possible.

 

10 reasons why enterprise situational applications tools haven’t taken off

With the 20:20 advantages of hindsight it’s now possible to look back over this period and the emergence of situational applications technologies and understand ‘what went wrong’.  While the unmet need for enterprise-grade situational applications has never gone away, history has taught us a succession of important learning lessons on the must have’s of situational applications tools – and the use and application of those tools.

Some of these must-haves are mentioned here:

1. Clarity over role definitions

There has always been a belief (call it perhaps a ‘hope’) that a more tech-savvy generation of users would one day be able to build their own apps without needing coding skills, process know-how or project skills.  Not only has this proven not to be the case in practice, nowadays it’s accepted that wasn’t really a great idea after-all.  The fact is that people whose day job is focused on doing something other than IT don’t REALLY need the distractions of having to build their own applications!  Not only this but experience of deploying situational applications over a decade suggests that there is a lot more to building applications than just coding know-how.  It’s only in recent years that practitioners of situational applications technologies have bottomed out the various roles that need to exist in this new model of situational software authoring.

2. De-skilling database and applications design know-how

We know now that understanding ‘how databases think’ and how ‘work-flows’ is an essential ingredient to building good applications (for any purpose) and in reality the way people think isn’t always in-tune with these attributes. Not everyone can build applications EVEN IF they didn’t need to code to do it and EVEN IF it was considered a great plan to let everyone in an enterprise start building their own apps!

3. Richness of data integration and ETL tools

A fundamental aspect of situational applications is that they should be able to harvest data and leverage investments in IT that already exist. Accessing data from disparate sources is a highly complex task.  Not only are there many different forms of file types, there are also many alternative formats.  Situational Applications technologies need to be able to coordinate and manage information flows, data transforms and uploads without the need for additional data connectors or middle-ware tools – otherwise the cost of bringing data together becomes too great.

4. Adherence to platform compatibility standards

Until very recently, standards around infrastructure, security, tuning etc. simply weren’t adopted sufficiently broadly to make them de fact standards. It’s taken a long time for de facto enterprise computing platforms to mature.  We have much to than Microsoft for in this regard. Platforms like ASP.NET have done much to establish a level playing field of standards that third party software houses can leverage, often without incremental cost.

5. Platform scaling and versioning

The ability to produce many hundreds of situational applications has a significant potential downside.  As was encountered when Lotus Notes became popular, proliferation of applications can result in EVEN MORE disparate data and LESS control over enterprise IT.  Modern situational applications have to be able to manage scaling issues, to enable IT teams to scale applications to tens, hundreds and thousands of applications without demanding a similar growth in numbers of support staff!  A key roadblock in this regard is managing the platform versioning of supporting platforms.  Imagine how complex it could be if an organization develops and deploys a hundred applications only to find that they are all operating on different levels of platform.  Upgrading the platform could result in 10’s of applications becoming non-functioning.

6. Infrastructure governance and scaling costs

Situational Applications need to scale to large proportions but if this meant every installation needed to be ‘hand cranked’ then the costs of scaling could make the whole idea of using situational applications uneconomic.

7. Codeless authoring and operation

Codeless applications authoring and operation means that point and click design tools and parameterized configuration selections (drop-down choice menus etc.) are used to negate the use of code and scripting.  When applications are coded or scripted they inherit costs that make them too expensive to repeatedly build; costs such as testing, tuning, reworking, integration etc. Situational applications need to be authored without coding because it’s the only way to deliver the scale of authoring and deployment economies needed to make the model work.

8. Critical-mass of incumbent design tooling over best-in-class components

It probably goes without saying but any situational applications platform, in order to deliver the variety of information management applications demanded by business users, needs to include out-of-the-box’ a substantial critical mass of features.  If not, all that happens is people try to build the apps they need, only to find out they hit a road-bock due to limitations of the platform and they therefore have to return to good ol’ coding to get the job done properly.

9. Extensibility

No-matter how complete a software platform might be, it would be almost impossible to cater for the needs of every single use-case.  It’s therefore essential that platforms can cater for close integration of data sources, user interfaces, third party applications – whatever is needed to ‘complete’ an application.  Modern platforms employ extensibility capabilities in a number of forms such as HTML script and C# code windows, DLL integration tools and data connectors of various forms.

10. Predictable economics

Organizations would struggle to build a business case to justify adoption of situational applications platforms if there were a scaling of costs that led to unbudgeted, unpredictable expenditure.  This means that Enterprise Situational Platforms are normally charged on a flat line rate irrespective of the number of data connections, users or applications they scale to.

 

Rewards of adopting Enterprise Situational Applications (ESA) platforms

Using a common platform for authoring situational applications has a number of key impacts on the effectiveness of IT organizations:

1. Lowering the Total Cost of Operation (TCO) of the enterprise IT function

Reduced or removing software costs

These economies come in areas of software licenses and rentals, annual maintenance charges and upgrade charges (situational applications have no upgrade costs!).

Reduced IT project costs and risks

Adoption of live-prototyping applications created without coding take the risk out of software developments.  Before major investments are put into software projects, live prototypes are developed in consort with stakeholders and deployed.  Their return-on-investment is qualified.

Reduced technology skill-sets

Adoption of code-less software has a huge impact on

 

2. Raising the bar on stakeholder value and competitive innovation

Improved stakeholder value through faster time-to-release and design of better-fit applications

A characteristic of situational applications designed in consort with stakeholders (thanks to the removal of coding delays and overheads) is that applications can be iterated to the point they become the ‘best-fit’.  Not only is this a qualitative dividend with applications being more intuitive, but the design approach also contributes towards the faster time-to-release of new applications given that the majority of testing, tuning, integration and reworking tasks are removed.

Achieving step change innovation possibilities

With situational applications more opportunities exist for innovation.  The people with the ideas, curious managers, creative minds, thoughtful analysts all get to access the data they need in the way they need it.  They have more opportunities to work collaboratively with individuals and teams that can add knowledge, experience and resources. In short, IT stays always in-tune with the needs of the most influential minds.

 

3. Improving data governance and information risk

Fewer shadow systems

Shadow systems are self-authored applications (commonly spreadsheets, presentations and word processing documents employed to capture, analyze, manage and share data).  Use of enterprise situational applications platform means that demands for new situational applications can be easily served by central IT teams – so there is NO NEED for workers to build their own self-authored apps that expose data to risk.

Fewer occasions when data is held on hard drives

One of the most common forms of data risk occurs when workers hold their data locally on hard disks – on phones, memory cards, laptops etc. Cloud-based situational applications platforms make data accessible via a web browser ‘anytime, anywhere’ so there’s no need for workers to hold data locally on devices.

Greater control over user permissions across and beyond the enterprise

Situational applications platforms employ greater control over user permissions.  They support federated identity management and provide fine-grained control over what users see, the forms they can access – even the building blocks on forms they can see.  This ability to shape permissions to suit differing needs means IT administrators can coordinate security protocols that envelope needs of stakeholders and users beyond the traditional firewall of the enterprise.

Show more