Categories
Insights

Designing the sandbox for Enterprise Innovation

The previous post in this series, discussed issues confronting an enterprise and how they translate into the need for building innovative applications, and here is an outline the sandbox that could meet this need.
While it is easier to understand the need for innovative business applications, enabling their development in an enterprise is not easy. Let us explore four major factors that shape an enterprise innovation platform.
Speed: An enterprise innovation platform should enable applications to be developed quickly, integrated with data sources or System of Records in the company, and deployed for ready use by the business. While the speed of application development is important, it is also necessary to get the user experience and scalability right – two traditional time-consuming elements.
Ideation: Innovative applications need ideas, inputs, and participation from many different people in the enterprise, even during stages of development. While most developer tools are not accessible to business users and those beyond IT, a collaborative environment provides an opportunity for the company to innovate faster.
Involvement: Apart from critiquing and suggesting improvements post facto, it might be good to involve business users early on in application building. The innovation infrastructure should provide a way for “citizen developers” (business-user-developer) in the company to compose applications using thin software staff.
Evolution: Really, no one knows exactly, and it cannot be pre-determined, what applications are needed for the company to succeed through innovation. At times the specs are unclear to start with or can only become clear when the application (and its underlying intent or strategy) is used in the market. That means the innovation infrastructure must be designed for multi-round evolution of application with zero hindrance to change and always open to chance.

The Sandbox should obviate ‘Shadow IT’

Business users and software developers are not happy at the pace of innovation in their companies and find it hard to understand numerous processes and limitations that prohibit them from moving faster. In some cases, this results in ‘The Shadow IT’. While the intent may be good, the path may prove not to be.
Internet is full of stories of things gone wrong with Shadow IT. The worst of all is when sincere efforts at innovation end up in wasted resources and frustrated talent.
This necessitates an IT-sanctioned platform that not only encourages enterprise innovation but also makes innovation application projects effortless as much as possible.

How the Sandbox makes it easy

Development
The speed and ease of development of apps is the key to enterprise innovation infrastructure (the Innovation Sandbox). Replace traditional methods of long-drawn software projects (possibly through an RFP process) with Rapid Application Delivery (RAD).
Speed of development is important, but not at the cost of user experience of the application. This is important, as every user (including employees of the company), is influenced by the great apps of the consumer world.
Therefore this sandbox environment must enable a wider section of the enterprise to participate in building applications and not be limited to highly professional developers.
Integration
Any enterprise application has to integrate with important data stored in the company’s System of Records (applications that hold key data) and perhaps with Systems of Differentiation (applications that automate processes).
Enterprise application integration is achieved rapidly when such integration is done through Application Programming Interfaces (or APIs). The simpler architecture of REST APIs and learnings from the consumer web are finding widespread adoption in the enterprise.
Deployment
Building an app for scalability is a challenge that can slow down any development team. Gradual decline in hardware pricing and increasing power of commodity hardware means developers no longer need to build software for hardware scarcity, they can assume a scalable platform underneath. The sandbox has to enable designing for the cloud, where applications are built to horizontally scale (through the addition of computing resources as needed at runtime, without the need for software changes).
An IT-administered private cloud (under IT control, flexible on-demand provisioning, and enterprise data-safe, hence private) needs to power the enterprise innovation infrastructure to remove dependence on IT for provisioning computing resources and reduce wait times for apps to become available to business users.
Collaboration
Innovative applications cannot be conceived and built-in in isolation. The wider the participation, the higher the chances of innovation in the enterprise. Collaboration tools integrated into the development process improves visibility of apps being built, API design, and coordination within the team as well as outside.
Management
While the sandbox should be a simple, fully integrated environment, the task of managing such an environment is obviously complex. Doing this complex job of configuring, managing, and monitoring this system, needs powerful and integrated management tools.

Sandbox means freedom

The Sandbox for enterprise innovation (a new piece of software running on an IT-sanctioned environment) should provide the essential freedom from issues that confront today’s enterprise app development teams. The picture above captures the essential ingredients of such an infrastructure. Clearly, to think outside the box is to think rapid development, to think Cloud and rapid integration through published APIs.
As Peter High, the author of “World Class IT: Why Businesses Succeed When IT Triumphs” says “Infrastructure excellence separates proactive organizations from reactive ones.” Creating an innovation sandbox for their enterprise is fast becoming an important responsibility of the CIO office.

Categories
Insights

IT Challenges for the Modern Enterprise

Even as you begin to read this, you are probably already in the midst of a disruption in the industry and are wondering how to equip your company to meet the new challenge.

5 big reasons why enterprises face challenges

1. Customers are more demanding – The digital world is constantly redefining customer taste, trends, and needs. Sometimes, these changes present opportunities that your company shouldn’t let go, to stay relevant.
2. Rate of business change is ever-increasing – Constant speeding of business change caused by the internet and mobile technologies is hugely determining who survives and who thrives.
3. Size doesn’t matter – Size is no protection in this digital world against market traction. The digital age has enabled everyone to innovate and cause disruption. New startups and lean competitors have no baggage of running the business on older models (or backward compatibility, in simple terms).
4. Lineage doesn’t matter – Customers are lapping up innovation and fresh ideas brought by younger and smaller players. Those with no lineage in an industry are chipping away the market share of large established players. Experience is no safety and reputation is transient.
5. Competitive threats are hard to see or act – Companies need to experiment, and plan products and services that cannibalize their own successful (in the past) offerings. Innovate or perish paradigm is now a reality.
“40 percent of the top 500 companies (US) are no longer in the top 500, 10 years later” – Gordon Graylish, Intel global vice-president and general manager, Enterprise Solutions. Clearly, there is no reason for complacency.

Implications on IT

Whip the horse. Isn’t IT supposed to enable companies to steer through challenges? Do enterprise challenges translate into challenges for IT?

Application strategy is of high importance as every business strategy is powered by a software application behind – When Marc Andreessen said “Software is eating the world”, he meant it and it is not surprising that software is going to play a significant role in solving these enterprise challenges. Apps drive every strategy. Hence, app development (powering innovation in strategy) is of utmost importance to the enterprise.
Applications are needed faster than ever – Traditional development practices no longer meet the needs of new-age businesses. Enterprise IT taking business needs and translating them to software requirements for vendors (after an RFP process), is too slow to be acceptable. IT needs to find new ways of catering to this demand.
Do more with less, as budgets are limited and uncertain – Gartner estimates that 70 percent of IT funds go to things other than business innovation; most likely keeping the current systems running (keeping the lights on). Older software becomes a liability for numerous reasons and reduces the ability of an Enterprise to change. The problem of shrinking IT budgets is compounded by the gradual turning of software investments into legacy (a liability, not an asset). IT needs to generate more value out of prior investments and build on top.

Technology is changing too fast, limiting capacity build-up – Scorching pace of technology infusion is crunching the time enterprises have to build up their internal capability. New technology is rapidly multiplying possibilities for business leaders but is also questioning their status quo.
An incentive for saving time than money – Instead of striving to save its own expenditure, IT can serve better by equipping the company for its future battles in the shortest possible time. This forces IT to think of “Wrap and reuse” instead of “Rip and replace” strategies.
Innovation and reuse are at a premium.

What then?

This calls for a relook at what the enterprise IT spending and overall effort is focused on. Gartner has nicely captured how applications stack up (based on their pace of change), which also provides the proportion of focus and budget traditionally accorded by Enterprises.

 

However, considering the new set of challenges, a higher focus is needed on “Systems of Innovation” now than ever before. We should stop treating Technology or IT investment as Capex that needs predictable ROI. “Technology is a metaphor for Change. Technology is also a metaphor for Risk”, as Dr. Kenneth Green, Director of The Campus Computing Project, said at DiECon 2013.

In subsequent posts, I would attempt to further elaborate on this new kind of Enterprise Innovation Infrastructure and the options available for enterprises to implement in their organizations.

Check out other posts in the series. Twitter: #FutureAppStrategy

Jay Pullur

Categories
Enterprise Application Development

WaveMaker: Rationale behind the product

Today, enterprises are facing tremendous challenges in the market that can only be addressed through business strategy innovation. Given that every new strategy needs to be powered by software, the time has come to analyze how their software applications are built and explore if newer technologies or methodologies can make that better.

The intent of this series of postings is to talk about how software-powered enterprise innovation can be put to work. This thinking shapes the WaveMaker product and I would welcome views and suggestions from everyone connected with the topic.

Here is the rough outline for the series.

#1. IT Challenges for the Modern Enterprise

#2. Designing the sandbox for Enterprise Innovation

#3. Rapid Application Delivery (RAD) reality

#4. Can Private Cloud speed up application delivery?

#5. Designing for an unlimited supply of commodity hardware

#6. Integration Enable Everything

#7. Collaborating on API design

#8. API-First design. Can we parallelize development?

#9. Fixing the broken component sharing

#10. Designing the software component supply chain

Twitter:  #FutureAppStrategy

Jay Pullur

Categories
Enterprise Application Development

Maven support for WaveMaker Projects helps developers use their familiar IDEs

The new release of WaveMaker Studio (version 7.1) expected to be released next week offers a bi-directional integration of WaveMaker projects with other IDEs. WaveMaker Studio projects can be exported and imported into any IDE of your choice i.e., Eclipse, IntelliJ IDEA, etc. providing an easy way for developers to utilize their familiar IDE for complex programming tasks.  Maven-based project export feature is especially relevant to Professional developers and Enterprise Architects, who want to do more than just a simple drag-n-drop operation to build their applications. While WaveMaker Studio provides visual-design-based drag-n-drop, code generation, collaboration, readily available templates, and widgets for faster application development, you can now export WaveMaker project with a Project Object Model (POM) file to code, debug, or test with a different development environment that supports Maven.

In this post, we will learn how you can export your project from WaveMaker Studio and experience the added benefits of a Maven compliant project.

Currently in WaveMaker Studio 7 you can export your project as a ZIP file using the “Export” menu option.

These exported projects are Maven compliant and generates a Maven based pom.xml as shown below in FIG-2

The biggest benefit of making the exported project as Maven compliant is the ease with which the user can switch between WaveMaker Studio and the IDE of his choice to leverage the superior Java code editing and debugging features of the IDE.  Let’s see how you can import a project into Eclipse IDE and use it.

Importing WaveMaker Studio projects into Eclipse is just a 2-step process as shown in FIG-3 & FIG-4.  This allows the user to instantly switch from WaveMaker Studio to Eclipse, work and leverage Eclipse features, switch back to WaveMaker Studio, and import back the modified project.

Some of the common tasks in WaveMaker that can leverage Eclipse (or any IDE) features include the following

1. Writing and debugging Java services
2. Debugging a WaveMaker app deployed on Tomcat or any other webserver

Java Services are just Java classes that can be written and debugged with far more ease and authority in an IDE like Eclipse than in WaveMaker Studio itself.

For debugging the app you can use the “Remote Java Application” (see FIG-5) feature in Eclipse to remotely debug your Tomcat deployed app.

If your organization is using WaveMaker applications as part of a bigger project that uses Maven, you can include WaveMaker project as a Maven sub-module.

You can also instantly generate the project war file to deploy using the Eclipse “Maven install” menu option as shown in FIG-6.

And finally after you are done making your changes to the files using Eclipse, you can import the ZIP file (%PROJECT_HOME%/target/export/PROJECT_NAME.zip), created automatically using “Maven Install”, back into WaveMaker Studio.  You can do this using the “Update Project Source” (see FIG-7) feature in WaveMaker Studio.

WaveMaker continues to focus in bringing the new trends in application evolution such as API-driven development and design-first paradigms to WaveMaker Platform in the upcoming releases, keep looking out for more exciting news from us.

Create your WaveMaker app now!  If you have any suggestions or feedback, please mail us at feedback@wavemaker.com

 Karthick Viswanathan
Product & Customer-Success Manager