Software Industry

Software was invented in early 1950s.  Professional IT service providers started being formed in mid 1950s to help companies build software that can automate manual business activities.  For example, Arthur Andersen created an IT services division in 1953 and helped GE automate payroll processing using a UNIVAC mainframe computer.  This division became an independent company called Andersen Consulting later, which has grown to be Accenture today, which reported net revenues of $34.9 billion, with more than 425,000 employees serving clients in more than 200 cities in 120 countries (https://en.wikipedia.org/wiki/Accenture).

Software product companies started appearing in a large number from 1960s that sell end user licenses of a standard software to a mass market.  The U.S. Department of Justice determined the bundling of software and hardware to be anticompetitive in early 1960s, and that helped independent software vendors (ISVs) proliferate.  By mid 1960s there were 50 major and 3000 smaller software product companies in the U.S.

IBM formed a task force in 1966 to study how to unbundle its software and protect its IP.  It was decided that copyrights and licenses should be used to allow IBM retain ownership of its code.  Hence came the End User License Agreement (EULA).  It also became common practice to charge an up-front fee for delivery and installation of the software product, and charge separate fees, paid over time, for maintenance and upgrades.

With the advent of Internet and World Wide Web in early 1990s companies providing web services and e-commerce services from their web sites proliferated.  Web services companies can be regarded belonging to the software industry because software functionalities such as web search, email, blog are provided to the customers.

From early 2000s cloud services such as Software as a Service (SaaS) and Platform as a Service (PaaS) started growing, competing with conventional on-premise, licensed software products.   

Software Product Business

Table 1. Profit Model of Software Product Business: Microsoft

Table 1. Profit Model of Software Product Business: Microsoft

A book titled The Business of Software authored by Michael Cusumano provides an excellent introduction for understanding the characteristics of software product businesses.  He wrote, "If the software business were like other businesses, there would be no need for this book.  But software is not like other businesses."  Leaders of software product companies who don't understand the uniqueness of software business and its right business model typically suffer from low profit and slow growth.

The difference between software business and other businesses like manufacturing stems from the fundamental difference between software and manufactured goods (hardware).  Software doesn't wear out.  The reproduction cost of software is near zero.  Software can be changed anytime, even remotely.  Software products are relatively easy to imitate through reverse engineering.

Owing to minimal reproduction costs, successful software products can generate 80%~90% gross marginal profits.  However, competitors can easily imitatie successful products and sell them at a lower price, taking away the market share from the company which invented the product.  Therefore, software product vendors must keep on upgrading the product providing new valuable features and fend off imitators.  This upgrade investments usually account for 10~15% of the sales revenue, and should be funded from the maintenance contracts with the existing customers.  It is also important to educate customers about the better benefits that the upgraded product generates in comparison with the old version and with lower-priced competing products, and this marketing and sales effort may account for 20~25% of the sales revenue.  After substracting the G&A costs of about 5~10% of the sales revenue, the operating profit can be as high as 40%. 

The revenue from maintenance contracts is recurring, while the revenue from new license sales may wildly fluctuate influenced by the ups and downs of economic conditions, and slow down as the market becomes saturated.  Therefore, software business is a "volume business" meaning that it is very important to grow the customer base creating a mass market, and incerase the ratio of the maintenance contract-based revenue to the total sales revenue.  Successful software product companies may have that ratio at as high as 50%.

Software Product Business Patterns and Anti-Patterns

A pattern is a general, reusable solution to a commonly occurring problem in a particular domain.  By business patterns, I mean generally recommendable strategies, management practices and technological approaches for companies in a particular industry sector that help companies generate high profits and grow fast, while business anti-patterns mean the opposite (making it difficult to run companies profitably).  Software product business patterns exploit the  intrinsic nature of software such as near-zero reproduction costs and anytime-changeability.  The anti-patterns fail to exploit those potentialities of software or misuse them.

Standard Functionality:  Software products (a.k.a. commercial off-the-shelf or COTS) should embody a set of functionalities that create values to a large number of customers without the need to commission custom-made, or bespoke, solutions.  The standard features of a product should have distinctive value proposition vis-a-vis competitors for target customers.  It is very difficult to find such features that can create a mass market in today's highly competitive software markets.  To overcome this uncertainty, many software startups as well as established ISVs follow iterative product development processes such as Scrum and Kanban.

Single Code Base: One of the most important business practices is that a software product should maintain a single code base.; viz., the same code base should be licensed to all customers.  The anti-pattern Source Code Customization is opposite to this pattern where the source code is changed for different customers.  If the company has to change the source for different customers, the advantage of near-zero reproduction costs goes away and that compromises the gross margin.  Furthermore, it becomes difficult and too costly to upgrade the product if you have many different code bases used by the customers.  If upgrades don't come out regularly, the company loses competitiveness in the market, and may even start losing maintenance contracts from the existing customers, which will in turn make upgrade investments even more difficult and brings the company into a vicious cycle.

Service-Oriented Architecture: In order to maintain a single code base while upgrading the product to add new features and developing new variants to address the needs of different market segments, the product should be built to be easily changeable.  The ease of changing software (a.k.a. maintainability) still keeping its quality high is in fact one of the most important goals of software engineering.  Object-oriented programming, object design patterns, model-driven design, service-oriented architecture (SOA) and more recently microservice architecture all help building software that is easy to change.

In SOA, software is decomposed into loosely coupled, functionally cohesive modules (called services), and modules invoke each other only through their interfaces (APIs).  The implementation of each module is decoupled from its interface so that modules can be changed independent of other modules, thus making the entire software a lot easier to maintain.  Services with generic functionalities are reused in different applications.  Such reuse of services make new software developments much faster and less costly.  Microservices are a new way of implementing SOA services using the container technology such as Docker. (Sam Newman, Building Microservices: Designing Fine-Grained Systems, 2014.)  Amazon adopted SOA enterprise-wide in 2002.  By 2015 it deployed 50 million microservices per year, one every 0.63 seconds, to upgrade its e-commerce and cloud services fast enough to maintain its competitive leadership. (https://www.slideshare.net/apigee/i-love-apis-2015-microservices-at-amazon-54487258)

Mass Customization: It is more difficult to maintain a single code base when the product is for enterprise use.  Enterprise applications such as ERP, CRM, SCM, etc. must support business processes of the customers, and every customer has a different process.  Therefore, enterprise software products had better allow mass customization while maintaining a single code base.  Mass customization means that the software is easy to customize without touching its source code, by configuring parameters, by writing add-ons based on the product APIs, or by specifying requirements using such models as UI design, process flow, database schema, etc.  This pattern is also contrary to Source Code Customization anti-pattern.  Building software that allows mass customization requires advanced software engineering such as parameterization of software functionalities, polymorphism, service-oriented architecture (SOA), open APIs, service orchestration, adaptive object modeling (AOM) for dynamic alteration of database schema, and model-based code generation at runtime.

Talent Management: The founder's vision and the desirability of the software product in the market is not sufficient to grow a successful product company.  It requires excellent software engineers.  A case study on Microsoft concluded that Microsoft’s success is attributed to its ability to recruit, develop, motivate, and retain exceptionally capable people—”the best team of software professionals the world has ever seen,’ as CEO Bill Gates liked to boast. (Harvard Business School, Microsoft’s Vega Project: Developing People and Products, Jan. 8, 2001.)  The talent management that requires strategic work force planning  and development based on an enterprise-level competency analysis is a critical business capability needed for software product companies.  Refer to the book titled The War for Talent authored by McKinsey consultants and published by Harvard Business School Press in 2001.  Another book titled The People CMM: A Framework for Human Capital Management authored by researchers in Software Engineering Institute in Carnegie Mellon University provides detailed how to's for executing talent management.

Professional IT Service Business

Table 2. Profit Model of Professional IT Service Business: Accenture and Infosys

Table 2. Profit Model of Professional IT Service Business: Accenture and Infosys

ITIL classifies IT service providers in three categories: internal service provider, shared service provider and external service provider.(http://os.itil.org/en/vomkennen/itil/servicestrategy/serviceproviderarten.php).  The last category is the professional IT service business that provides consulting, system integration, IT outsourcing services to customer companies.  

The characteristics of professional IT service business is well described in a book titled Rules of the Game for People Business published by Boston Consulting Group in 2005.  (Also refer to: F. Barber and R. Strack, The Surprising Economics of a People Business, Harvard Business Review, June 2005.)  Professional IT service business is a "people business" which is defined as companies with high employee costs as a percentage of sales and with low investment in capital.  According to Barber and Strack, the employ costs account for about 60% of the sales revenue on average among professional IT service businesses.  This figure is confirmed in Table 2.

People businesses include knowledge-intensive professional services such as health care, advertising, financial brokerage, contract research as well as IT services.  These industry sectors share common characteristics which are far different from those of capital-intensive industry sectors that include most manufacturing companies.

The software product business doesn't belong to the people business because of its lower employee costs (about 40% of sales) and high investment in intangible capital.  The right business model for professional IT service businesses is very different from that for software product businesses.

While software product businesses sell product licenses, IT service businesses sell IT professionals' time.  For an IT service company to increase profit, more of its employees' time should be charged to customers and the price of their hourly service should be significantly higher than their hourly costs to the company.

In Table 2, the revenue represents a net revenue excluding pass-through sales of materials (such as hardware and network implemented in customer projects) and consists mostly of the sales of employee time.  The cost of sales (i.e., direct costs) is mostly employee costs.  The gross margin indicates the margin between the price (billing rate) charged to an hourly service of an employee and her hourly cost of employment.  The main KPI of IT service business is Employee Productivity which can be measured by [Gross Margin / Number of Employees].

In order to improve Employee Productivity, the price of employee time  and the work force utilization rate (i.e., the ratio of employee time charged to customers to the total employee time) should be increased.  In order to raise the price, the competency of employees must be enhanced, which in turn requires an effective work force planning and development.

Refer to IDC, Professional Services: Small and Midsize Firms are Turning to Technology to Advance their Business Goals, 2016 for a brief introduction to professional IT service business model.

Professional IT Service Business Patterns and Anti-Patterns

Table 3. Growth of Revenue and Employment in Professional IT Service Businesses: Accenture and infosys (Revenues in billion dollars; Number of employees in thousands)

Table 3. Growth of Revenue and Employment in Professional IT Service Businesses: Accenture and infosys (Revenues in billion dollars; Number of employees in thousands)

It's been 70 years since computers were invented.  Professional IT service companies were formed soon after the computers came into being as mentioned above.  Over the period of 70 years professional IT service companies led the transformation of business processes using information technology (IT).  At first (from 1950s till 1980s), they helped companies automate manual operational tasks. From 1990s they started looking at business processes, and completely redesigned them to apply ever advancing hardware, networking and software technologies in an innovative manner.

Since 1990s IT-enabled business transformation through process reengineering has become an essential part of professional IT services.  Continuous redesign of business processes based on IT has become business-as-usual in most companies in developed economies.  The demand for professional services to facilitate business transformation has been ever increasing.  Accenture, for example, grew from 100,000 employees in 2004 to 204,000 in 2010 to 425,000 in 2017.  Today professional IT service companies help companies in various industries succeed in "digital transformation" using a combination of technologies such as mobile, social, cloud, big data, AI, IoT, block chain, etc.

Business Analysis Expertise: A pattern of successful IT service business, therefore, is that IT service professionals perform business process and information analysis to design an innovative model of IT-enabled business operations for customers.  The methods developed for "business analysis" are discussed in details in the Business Analysis page in this site.  Capgemini, for example, regards Business Analysts (BAs) the most important job in its business.  It has a standard method called SEMBA (Structured Expert Method for Business Analysts) to train all BAs in the same standardized method to perform business analysis. SEMBA employs engineering practices such as process modeling, information modeling, object-oriented analysis and design, service-oriented architecture, and unified development process.

Standard Processes: Another pattern is to establish standard engagement processes for all services lines, standard methods of producing work products in those processes, and standard tools to use when applying those methods, as examplified by SEMBA in Capgemini.  The importance of this pattern is well recognized in CMMI (Capability Maturity Model Integration) developed by Carnegie Mellon University and required by many U.S. government contracts. CMMI Level 3 requires organization-level process standardization of software development.

Strategic Training Program: A pattern closely related to the standard processes is enterprise-wide learning maps, mandatory training programs and competency certifications.  A learning map is defined for each job and rank.  All employees get mandatory training and evaluated for certification for specific jobs and ranks.  The "Rules, Tools and Schools" are the backbone of successful IT service business.  This pattern is similar to the talent management pattern for software product businesses.  Strategic training programs are an essential component of talent management in general.  Professional IT service companies tend to standardize the engagement processes and the training of common competencies (such as programming languages,  databases, software engineering) across the entire enterprise, because project teams are formed dynamically on demand for customer projects from the entire pool of employees.  On the other hand, software product companies organize a stable team for each product or microservice (if DevOps practices have been adopted), and training is done in more decentralized manner addressing different competency requirements of product teams.

An anti-pattern contrary to this pattern is Body Shopping which is a practice of IT service companies recruiting workers in order to contract their services out on a project basis (often to exploit subcontractors' low labor costs or to take on more projects than their own resource capacity can handle.)  Since contract workers are not trained in the standard processes, methods and tools of the service provider, they usually bring down the team performance.  The only way to increase sales in IT service companies is to hire more people and train them in the standardized way of working.  See Table 3 to find how the revenue of professional IT service companies grew along with the increase in the number of employees.

The book titled Return on Learning: Training for High Performance at Accenture published by Accenture in 2008 shows a good example of strategic workforce training and development in successful IT service companies.  The book reported that Accenture spent $358 million of training expenses in one year, and that the net benefit of training was $1.27 billion, generating an ROI of 353%.

Infosys shown in Table 2 is famous for their strategic training programs.  Founded by 7 software engineers in 1981 with an initial capital of $250, Infosys has grown to have 200,000 employees and a market capitalization of over $35 billion in 2017.  The success of infosys is partly due to its rigorous training.  A college graduate once recruited goes through 4-5 months of training in Java. DBMS. software engineering plus a selective stream of technologies such as BI, cloud, big data in Infosys Global Education Center in Mysore, India, which is the world's largest corporate training center.  Refer to: A Nanda and T. DeLong, Infosys Technologies, Harvard Business School (2002) and C. Trimble, Improving Productivity in Infosys, Tuck School of Business at Dartmouth (2008).

Asset-Based Service: Global leading IT service companies provide asset-based services (ABS) rather than Labor-Based Services (LBS).   In ABS, IT professionals harvest work products from customer engagement projects, assetize them, and then reuse them in subsequent similar projects.  ABS allows IT service companies significantly cut down the cost of delivering IT services to customers.  On the contrary, LBS reinvent the wheel in every project even if two projects have similar solutions to build.  IT service companies need to practice all of the above IT service business patterns before pursuing ABS.  Work products become effectively reusable only when IT professionals have deep knowledge on the business domains of customer projects and produce work products using the same standard methods.

Figure 1 illustrates asset-based services based on standard engagement processes, standard engineering methods and standardized professionals' competences in IBM Global Services.  Reusable assets are produced using the work products harvested from customer engagement projects, published in the corporate reuse repository, and leveraged in subsequent projects.

Like software product businesses, the service-oriented architecture pattern is helpful to produce reusable modules ready to plug and play.  UML and BPMN models, SOA services, business frameworks packaging many related, reusable services into a blackbox customizable through inversion of control (IoC) are most effective types of reusable assets for IT service companies.   Refer to: Frederic Giron, Asset-Based IT Services Shift Service Vendors' Operating Models: Four Crucial Steps to Succeed With Asset-Based IT Services Offerings, Forrester Research, 2012.

Figure 1. Asset-Based Services Based on Standard Engagement Processes in IBM Global Services

Figure 1. Asset-Based Services Based on Standard Engagement Processes in IBM Global Services

Time Management:  Professional IT service businesses sell time of their employees.  Therefore, time management is essential to business operation.  Time management is used to track and bill employees' time spent on services to customers, monitor each employee's utilization, report and analyze prices, revenues, costs and profits of service offerings, determine performance-based salaries for employees, build a historical database of actual project costs that is used for cost estimation of future projects. (http://www.softwareshortlist.com/website/articles/why-you-need-time-management-software-in-your-professional-services-firm/ Time management is a basis for activity-based costing (ABC: https://www.cgma.org/resources/tools/essential-tools/activity-based-costing.html) and activity-based management (ABM: http://www.accaglobal.com/hk/en/student/exam-support-resources/professional-exams-study-resources/p5/technical-articles/activity-based-management.html) that are applied in successful IT service companies.

Opportunity Management:  Opportunity identification, creation and qualification is critically important for IT service businesses.  Customer engagement opportunities should be monitored by assigning professional staff to key customers to keep close relationship with the customers, and proactively created by senior professionals by suggesting new ways to improve customers' business performance.  Identified opportunities should be qualified with respect to whether the service provider can dramatically improve the customer's business performance by conducting the project.  Once an opportunity passes the qualification test, a proposal team is formed, designs the solution to suggest to the customer, and estimates the budget required to carry out the project.

Iterative Project:  The standard engagement process in the standard process pattern above should be an iterative process that releases the custom solution incrementally.  From the beginning of 2000s many IT service companies adopted the unified software development process (https://en.wikipedia.org/wiki/Unified_Process) which constructs and releases the solution incrementally over multiple iterations.  More recently IT service companies combines agile practices into the unified process framework.  A case in point:  Capgemini applied Rational Unified Process (RUP) in a project where a 50-people team spent 6 months to specify system requirements, and then addressed 8 high-level requirements 2 at a time in each of 4 iterations over the 6- month period (ftp://public.dhe.ibm.com/software/rational/web/success/ID161_CapGemini.pdf)  OpenUP is an open source process framework developed within the Eclipse Process Framework (EPF) to make it easy to adopt the core of the unified process. ( https://en.wikipedia.org/wiki/OpenUP)

Professional Service Automation (PSA):  PSA software is an ERP for IT service companies, often provided as a SaaS these days.  A survey by SPI research showed that over a 5-year horizon, a professional IT service company could expect to invest just under $200,000 to institutionalize a PSA software and get a return of nearly $23 million in increased revenue and reduced costs. (http://www.spiresearch.com/spi-research/reports/2017psaeus.html)  Capterra provides product reviews for a list of PSA vendors. (https://www.capterra.com/professional-services-automation-software/)  A description of PSA software, SAP for Professional Services, can be found in: https://www.scribd.com/document/380852598/SAP-Professional-Services-Overview.

Cloud Service Business

Table 4: Profit Model of SaaS Business

Table 4: Profit Model of SaaS Business

There are three categories of cloud services: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS).  They are application, middleware and infrastructure provided as subscription-based online services, respectively.  Clients, once subscribed, can use a web browser to simply log in and use infrastructure, middleware or applivation software without having any of them installed on premise.  IaaS, PaaS and SaaS share common characteristics.  They, however, originated from very different backgrounds.

The first SaaS was developed by Salesforce.com in late 1990s.  Prior to that, there were already vendors providing online application services known as Application Service Providers (ASPs).  As Rick Chapman pointed out on Softletter the difference between SaaS and ASPs is that SaaS companies make money and ASPs didn’t.  ASPs couldn't make profit mainly because labor costs were too high compared to subscription revenues.  Provisioning services  to individual customers were done manually.  A separate instance of a packaged application had to be provided and maintained for each customer because packaged applications had single-tenant architecture.  SaaS is different from ASP in that it is built to be provisioned through customer self-service and has multi-tenant architecture to allow a single instance shared by an unlimited number of customers.  These two features--self service and multitenancy--eliminate labor costs and allow SaaS businesses profitable.  Table 4 shows that the gross margin of Salesforce.com SaaS was as high as 87% in 2009 owing to multitenancy and self-service.  Oracle's on demand services, on the other hand, exhibited a much lower gross margin of 27%, probably due to the same reason common to ASPs. 

IaaS was invented by Amazon in 2003.  In 2002 Amazon released product data as Web Services to hundreds of thousands of its third-party affiliates—Web sites that advertised Amazon products using the Amazon’s API and received a portion of Amazon’s resulting sales.  In 2003 Amazon decided to expand the Web Services to sell its storage, computing and other technology services to software developers, and ultimately to create an Internet-based operating system for computing. (R. S. Huckman, et al., Amazon Web Services, Harvard Business School, 2008)  The IaaS branded Amazon Web Services (AWS) is a result of exposing APIs of infrastructure management software running n Amazon's data centers.  It allows customers to access those APIs directly or through the UIs composed of those APIs.  Amazon also has maximally automated ITIL-based data center operations, and based on that, made its IaaS completely self-service.

The first PaaS is Google App Engine launched in 2008.  PaaSes are replacing conventional software platforms, freeing software developers from installing, configuring and operating on-premise development tools, runtime, all kinds of middleware and operating system.

As cloud services started getting adopted in industries from mid 2000s, professional IT service companies developed new service lines to help customers choose, contract, configure, customize, integrate and manage cloud services.  Gartner called such services Cloud Service Brokerage (CSB).  Refer to: Gartner, Market Guide to Cloud Service Brokerage, 2017.

The following article, written in Korean, discusses about the strategy of adopting cloud by enterprises:  June Sung Park, Cloud Migration Strategy and ProcessCloud Technical Report, Issue No. 4, Cloud Computing Support Center of Korea, November 2014 (in Korean).

Cloud Service Business Patterns and Anti-Patterns

Figure 2. Cloud Reference Architecture

Figure 2. Cloud Reference Architecture

All cloud services--SaaS, PaaS and IaaS--share a common set of patterns that allow the service provider to make profit and grow.  These patterns can be regarded as a part of definition of cloud services. (Refer to: National Institute of Standards and Technology, NIST Definition of Cloud Computing, U.S. Department of Commerce, 2011.)  These patterns aim to minimize labor costs for the providers and at the same time generate distinctive value proposition for the consumers vis-a-vis conventional on-premise and hosted applications, platforms and infrastructure.

Layered Cloud Architecture:  As can be seen in Figure 2, PaaS requires IaaS and SaaS is best developed, run and managed on PaaS today.  PaaS provides SaaS developers with development and runtime environments, a variety of middleware (called backing services in cloud jargon) such as DBMS, API gateway, event-driven middleware, etc., management functions such as monitoring, orchestration, CI/CD pipelines, etc., and domain-specific solutions such as BI, AI/ML, etc.  IaaSes such as AWS, Microsoft Azure and Google Cloud Platform has already evolved into IaaS+PaaS which allows customers to mix IaaS and PaaS elements seamlessly. (Refer to: Gartner, Technology Insight for Integated IaaS and PaaS, 2017.)

Self-Service:  All cloud services should provide self-service for all user interactions--subscription, provisioning, use, management and termination.  Cloud service business prospers on demand-side economies of scale, viz., requires a huge subscriber base.  Self-service is enabled by automation of business processes and IT service processes, which allows growing the subscriber base without increasing employees, containing labor costs.  The automation is realized by the cloud management platform (CMP) which consists of business support services (BSS) and operation support services (OSS) as shown in Figure 1.

To allow self-service, cloud services should provide both user interfaces accessed by naive end users and APIs accessed by programmers.  In fact, UIs can be composed from APIs.  Cloud services are therefore just a special type of SOA service.  Cloud service businesses share the service-oriented architecture pattern with software product businesses. Standard SOA technologies such as SOAP and REST web services are used for universal interoperability.  It is not a coincidence that Amazon branded its cloud services as Amazon Web Services.  AWS IaaS is SOA services wrapping infrastructure operation and management software. IaaS is, in essence, SOA services abstracting the functionalities of automated IT service processes.

Metered Service:  Usage of cloud services by customers should be monitored, metered and billed.  The use of cloud resources is automatically controlled and optimized by leveraging a metering and monitoring capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts), providing transparency for both the provider and consumer of the utilized service.

Elastic Service:  Capabilities can be elastically provisioned and released, in some cases autonomously, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.

Process Automation:  Profitability of cloud services depend on how much business and operations processes are automated to save labor costs associated with serving an increasing number of customers.  Other patterns such as self-service, metered service, and elastic service requires process automation.  The cloud management platform (CMP) in the layered cloud architecture shown in Figure 1 supports automation of business processes (e.g.,  customer account management, service offering cataloging and management, contracts and SLA management, service request management, order management, subscription management, pricing, rating, billing) and of ITIL-based IT service management processes (e.g., IT service catalog, IT service level management, provisioning, image lifecycle management, incident and problem management, change and configuration management,  monitoring and event management, IT asset management, capacity and performance management, availability management, virtualization management).

Multitenancy:  Multitenancy of IaaS means sharing a pool of infrastructure resources such as servers, storage devices and networks among multiple customers' (also called tenants) applications and data.  Multiple applications deployed as virtual machines or containers  can share a single physical server.  Multitenancy of PaaS is marked by a single OS shared by multiple application runtimes.  Multitenancy of SaaS is to share a single application instance and single database instance by multiple customers.  Multitenancy brings about much higher utilization of infrastructure resources, hence significant improvement in cost efficiencies, and also easier maintenance and upgrades of applications.  Cloud service business is hard to be viable without multitenancy.

The following YouTube PlayList shows a video of Dr. Park's presentation on "Cloud Adoption Strategy" in the Korean language.  It talks about successful ways to adopt public clouds and to build private clouds including IaaS, PaaS, and SaaS.

SaaS Business Patterns and Anti-Patterns

SaaS business patterns inherit all of the cross-cutting patterns listed above for cloud service businesses including layered cloud architecture, self-service, metered service, elastic service, process automation and multitenancy patterns.  SaaS depends on the lower layers in the layered cloud architecture--viz., PaaS, IaaS and CMP--to allow customers to share a common pool of computing resources, to provide them with self-services and elastic services, and to meter its usage.

SaaS business patterns also inherit all of the software product business patterns listed above, including standard functionality, single code base, service-oriented architecture, mass customization, and talent management patterns.  This is because SaaS is a software product delivered as an online subscription service. The difference between SaaS and conventional software products is in their delivery model--EULA vs. service subscription.  Therefore, SaaS business needs a competitive software product in the first place.  However, SaaS needs to satisfy additional requirements to support a viable business.

The revenue of the SaaS industy showed a median annual growth rate 27.9% while that of on-premise software 6.1% in 4Q 2016.  However, the median EBITDA margin for SaaS was -4.1% while that for software products was 16.4% in the same quarter.  60% of SaaS vendors surveyed suffered a loss in that quarter. (http://espacemc.com/wp-content/uploads/2017/03/Software-Equity-Group-Industry-Financial-Report-4Q16.pdf)  It is not easy to make profit in SaaS business.

Single Instance:  SaaS business should maintain a single instance of the product for all customers (beyond the single code base pattern for software product businesses).  The single instance pattern is a special case of the aforementioned multitenancy pattern generally applicable to all types of cloud services.  Salesforce.com, for example, have 70,000 customers sharing 16 production instances. (https://www.slideshare.net/dleyanlin/salesforce-comarchitecture)  OpSource CEO Treb Ryan indicated that a multitenant application (as compared to a single-tenant) can reduce a SaaS provider’s cost of goods sold (COGS) from 40 % to less than 10 %, since the cost of on-boarding a new customer approaches to zero, and upgrading is done on a single instance of the application.  (https://dzone.com/articles/why-multi-tenant-application-architecture-matters)  Ryan's opinion is well supported by figures in Table 4, where we can observe a large gap between the gross margin of Salesforce SaaS business and that of Oracle's "on demand" software service business in 2009.

Here's a video clip recorded by TalkIT (https://talkit.tv/) in Korea where I explain (in Korean) why and how you should maintain a single instance of SaaS to stay profitable in your SaaS business.

"Maintain Single Instance." by Dr, June Sung Park in Software 300 Forum in Seoul, Oct. 2019.

Continuous Deployment: In developed countries, SaaS industry is highly matured by 2016. Gartner graduated SaaS from its hype cycle for cloud computing in 2017. Finding a new feature set that has value propositions clearly distinguished from those of incumbent SaaS vendors is very difficult. As with software product businesses, a set of standard functionalities has to be created that provides distinctive values to a massive number of target customers. Building such an innovative feature set requires an iterative and adaptive approach to product development. A successful SaaS company typically releases its product increments several times a day, observes the market response using actionable metrics, and determines whether to pivot from or persevere with the current feature roadmap. The single instance pattern facilitates fast releases of updated versions. Currently the most popular development process followed by SaaS providers (as well as any software organization pursuing "digital transformation") is a combination of design thinking, lean startup, agile development and DevOps. These processes allow SaaS development projects fail fast, fail cheap and fail often to adaptively discover and learn features desirable in the market. These processes can run effectively when the vendor has mastered object-oriented programming, domain-driven design (DDD), test-driven development and continuous integration (CI) promoted by extreme programming (XP). They can be best accelerated using such technologies as service-oriented architecture (SOA), container-based microservices, continuous deployment (CD) based on PaaS+IaaS, process orchestration and event-driven choreography. Refer to: Gartner, Enterprise Architects Combine Design Thinking, Lean Startup and Agile to Drive Digital Innovation, 2016; Forrester Research, Integrate Design Thinking into Agile Development, 2017; Gartner, Hype Cycle for DevOps, 2017; Sam Newman, Building Microservices: Designing Fine-Grained Systems, 2015. The Twelve Factor App lists 12 technical patterns recommended in developing SaaS. (https://12factor.net/)

Multitenant Software Architecture: The single instance pattern is realized by designing the software product for SaaS as a multitenant software architecture. To maintain a single instance of a database, the data owned by all different SaaS tenants about an object type (e.g., Employee class) should be stored together in a single physical table. Therefore, TenantID column is required in each table to distinguish rows belonging to different tenant organizations (e.g., Employees working for different tenant companies).

Figure 3. Force.com's Metadata-Driven Architecture

Figure 3. Force.com's Metadata-Driven Architecture

Metadata-Based Customization: Multitenancy of SaaS is much harder to provide when customizations of SaaS by individual tenants have to be allowed.  SaaSes for enterprise applications mostly need to support customization to attract customers.  It requires an innovative design of the multitanant software architecture to be able to maintain a single instance while allowing tenants to change UI, database schema, workflow, procedural logic, etc. to meet their unique needs.  The mass customization pattern for software product businesses mentioned above applies to customizable SaaS as well; viz., a single code base must be maintained, despite tenant-specific customizations, by applying the parameterization of software functionalities, polymorphism, service-oriented architecture (SOA), open APIs, service orchestration, adaptive object modeling (AOM) for dynamic alteration of database schema, and model-based code generation at runtime.  However, in addition, all the information concerning customization (e.g., bespoke database schema, UI design, workflow, procedural logic, triggers, etc.) must be stored in a repository outside the product source code and interpreted at runtime.  

Salesforce.com has built one of the best product architecture in this regard (See Figure 3).  In that architecture, database objects such as tables, fields, stored procedures, database triggers are all abstract constructs that exists merely as metadata stored in a central repository called Universal Data Dictionary (UDD), which is separate from the system catalog inside a DBMS.  This metadata includes some common metadata as well as tenant-specific metadata incorporating individual customers' customizations.  Force.com, a PaaS underlying Salesforce.com SaaSes, has a runtime engine that materializes all application data from that metadata.

Developers can declaratively build server-side application components using the Force.com Web browser-based development environment.  This point-and-click UI supports all facets of the application schema building process, including the creation of an application’s AOM-like data model (tables and their fields, relationships, etc.) using ER diagrams, user interface (screen layouts, data entry forms, reports, etc.), declarative logic (workflows) using process modeling, programmatic logic (stored procedures and triggers), and security and sharing model (users, profiles, role hierarchies, etc.).  Force.com also provides open, standards-based APIs that developers can use to build apps. Both REST and SOAP web service APIs are available that provide access to Force.com’s many features.  Apex, which is similar to Java, is provided as a development language used to code procedural logic in the application schema. All these facilitate self-service customization by business users, internal IT staff or professional cloud service brokers without involving the SaaS provider.  Refer to  https://developer.salesforce.com/page/Multi_Tenant_Architecture.  

Web 2.0 MarketingSaaS businesses can use free marketing tactics--e.g.,  automated lead nurturing, search engine optimization (SEO), blogging, social marketing, video, newsletter, case studies, interactive demos, product trial, etc.--to grow their subscriber base with near-zero marginal customer acquisition cost.  They should build a nexus of relevant web traffic through links from search result, search ads, banner ads, websites, blogs, feeds, widgets, bookmarks, toolbars, etc.  They should find Web 2.0 -based ways to grow revenue without advertising, marketing campaigns, sales calls or manual order processing.  This pattern, together with the single instance pattern, self-service pattern, and process automation pattern help bring the cost of on-boarding a new customer near zero.

Partner Ecosystem:  SaaS should be built based on global leading PaaS, IaaS and CMP and exploit their ecosystem.  It also needs to build its own ecosystem to enjoy the positive feedback effect, by connecting itself to a large number of complementary SaaS.  (M. Cusumano, Staying Power, Oxford University Press, 2010) SaaSes open up their APIs using standard technologies such as REST and SOAP web services so that they can be easily  integrated with each other and provide customers with a "whole product solution" (https://en.wikipedia.org/wiki/Whole_product) while concentrating on a niche solution for themselves.  As Geoffrey Moore pointed out (G. Moore, Crossing the Chasm, 1991) whole product solution is needed for a SaaS to cross the chasm (i.e., to go beyond an early adopter market and create a mass market).

The following articles, written in Korean, discusses about SaaS and  the strategy of transforming an on-premise software product to SaaS, respectively:  June Sung Park, An Essay on Software as a Service, Cloud Technical Report, Issue No. 1, Cloud Computing Support Center of Korea, August 2013 (in Korean); ___, Successful Strategy for Software Vendors’ SaaS Transition, Tech M, Vol. 49, May 2017 (in Korean). 

The video below contains a ZDNet Korea interview with Dr. June Sung Park about suucess factors for a SaaS business (spoken in Korean).

SAAS BUSINESS SUCCESS FACTORS

ZDNet Korea Interview with Dr. June Sung Park
Chair of Planning Committee for Global SaaS Incubating Program of Ministry of Science and ICT in Korea (in Korean)

Digital Business

According to Gartner, by 2020, more than 7 billion people and businesses, and at least 30 billion devices, will be connected to the Internet. With people, businesses and things communicating, transacting, and even negotiating with each other, a new world comes into being--the world of digital business. (https://www.forbes.com/sites/gartnergroup/2014/05/07/digital-business-is-everyones-business/#3f27b7d07f82)

Digital business is the creation of new business designs by blurring the digital and physical worlds. It promises to usher in an unprecedented convergence of people, business and things that disrupts existing business models--even those born of the Internet and e-business eras.  What makes digital business different from e-business is the presence and integration of things, connected and intelligent, with people and business. This could be the incorporation of greater intelligence and sensors into jet aircraft engines to improve passenger jet performance and to reduce the need for aircraft maintenance.  In retail, digital business could involve providing retail fashion customers a world with seamless integration between the digital and physical that blends the boundaries between the two. For example, a customer would enter a retail apparel store, try on a coat, and the store systems would know this had happened. They would then project an image of the buyer on a screen with the coat on and propose some accessories or alternatives that would go well with the new clothes, all the time taking into consideration any price limits placed by the customer in the process of discussing their purchases.

The Internet of Things (IoT) plays a crucial role in digital business.  In the past, people were a proxy for things in business. In the future, things will be an agent for themselves and will thus shift that way a business views its opportunities.  The fact is that digital business will disrupt all industries and business executives, CIOs and technology providers will need to think differently to help their businesses avoid disruption.  Michael Porter and Jim Heppelmann claimed that smart, connected products substantially change the work of virtually every function within the manufacturing firm.  What is under way is perhaps the most substantial change in the manufacturing firm since the Second Industrial Revolution more than a century ago. (M. Porter & J. Heppelmann, How Smart, Connected Products are Transforming Competition, Harvard Business Review, Nov. 2014;  M. Porter & J. Heppelmann, How Smart, Connected Products are Transforming Companies, Harvard Business Review, Oct. 2015.)  This is a new world that makes the prior ones obsolete while creating massive opportunities for those who can visualize the opportunity. Business executives who understand the digital industrial economy of 2020 will play a leading role in helping their organizations win in this new era.

The promise of digital business is that a universe of applications and digitalized assets that work together almost automatically will allow very rapid development of new capabilities that will yield competitive advantage. The reality will be that digital business will require sophisticated engineering, integration and orchestration to fulfill the promise of a future of people, business and things.  Organizations that excel in the digital industrial economy will be those that can become more technologically capable and sophisticated. Their digital stories will be written in technology, especially software technology.  Jeff Immelt, former CEO of GE, liked to say "If you woke up as an industrial company today, you will wake up as a software and analytics company tomorrow."  Bill Ruh, Chief Digital Officer at GE, said "At GE, we’ve spent five years and a billion dollars learning how to become a software and analytics company."  See the video below containing the interview with Jeff Immelt about digital transformation at GE (narrated in Korean, with Enlglish subtitle).

In the digital business era, the distinction between software industry and other industries are increasingly blurred.  For example, Daimler used to be a car manufacturer, but now provides intermodal mobility services based on the Moovel platform it developed.  The Moovel app suggests people the optimum route from A to B, and reserve, book and pay for different means of transport for a route.  What Daimler developed to create this mobility service is mainly software.  Is Daimler not a software company?  Digital business entails softwarization and servitization of manufacturing.

The following article, written in Korean, discusses about digital government--an application of mobile, cloud, data analytics and IoT to government's public services:  June Sung Park, Strategy and Methods to Transform E-Government to Digital Government, 2015 Local Informatization White Paper, Korea Local Information Research & Development Institute, December 2015 (in Korean). http://www.klid.or.kr/section/board/bbs_view.html?PID=policydata&seq=3689.

DIGITAL TRANSFORMATION AT GENERAL ELECTRIC

Interview with Jeff Immelt, CEO of GE
(in Korean with English Subtitle)

Digital Business Patterns and Anti-Patterns

Digital businesses most often need to develop software products, some of which are embedded in the manufactured products (such as Smart ForTwo cars used for car sharing in case of Daimler) and some of which are platforms (such as the Moovel platform in case of Daimler's mobility service) and applications running in cloud or data centers.  Therefore digital business patterns inherit all of the software product business patterns--single code base, service-oriented architecture, mass customization, talent management.

Digital business most often delivers software product functionalities as cloud services (as in the case of Daimler's mobility service).  Therefore digital business patterns also inherit all of the cloud service business patterns--layered cloud architecture, self-service, metered service, elastic service, process automation, multitenancy, as well as all of the SaaS business patterns--single instance, continuous deployment, multitenant software architecture, metadata-based customization, web 2.0 marketing and partner ecosystem.

Since digital businesses most often  need to integrate smart connected products with the enterprise backend applications, many of the professional IT service business patterns are relevant for developing and operating the enterprise backend by the internal IT organization or professional IT service providers--including business analysis expertise, standard process, strategic training program, asset-based service, time management, opportunity management, iterative project, professional service automation.

In addition to those inherited patterns, digital business-specific patterns include the following:

IoT Reference Architecture:  An IoT-based digital business should have a system composed of three parts: (1) smart connected devices (Edge), (2) cloud platforms (Platform) that provide IoT application development and runtime environments, big data storage, processing and analytics, service orchestration and event-based choreography, etc., and (3) backend applications, databases and data warehouses of the enterprise (Enterprise) that run mission-critical business processes.  IoT reference architectures are available from Gartner (Figure 4), Enterprise IoT (http://enterprise-iot.org/), Industrial Internet Consortium (IIC) (https://www.iiconsortium.org/IIC_PUB_G1_V1.80_2017-01-31.pdf), EU IoT-Architecture (http://www.iot-a.eu/arm), IBM, SAP, etc.

IoT gateways are often used for data filtering, aggregation, storage and analytics, local compute (offloaded from endpoints), shared connection to networks and applications (instead of one for each device), address and protocol translation, device security and access control, device control and fault tolerance, etc.  IoT gateways come in several different forms: industrial IoT gateways typically using rugged hardware and provides high availability through proprietary protocols, streaming analytics IoT gateways optimized for real-time analytics at high speed on event streams, consumer/home IoT gateways designed for undemanding domestic use, and PC/tablet/smartphone as IoT gateways.

IoT platforms are PaaS that monitors, manages and controls various types of endpoints and integrates them with enterprise backends often via applications end users build on the platform.  They usually also provide such capabilities as data digestion, event processing, analytics, decision processing, process orchestration, cybersecurity, network communication, adapter and user interface. (Gartnet, Market Guide for IoT Platform, 2016.)

The API mediation layer handles both outer APIs to interact with cloud services, apps and smart connected devices and SOA services of partner organizations, and inner APIs to interact with SOA services of legacy applications, packaged applications and internal SOA applications.  It is implemented using various technologies--such as API gateway, mobile backend as a service (MBaaS), integration platform as a service (iPaaS), enterprise service bus (ESB) or API management tool--to deal with many tasks including authentication, authorization, identity federation, intrusion detection, malware detection, encryption, signature processing, service discovery, routing, load balancing, scheduling, monitoring, API translation, protocol translation, model translation, composition, orchestration and choreography. (Gartner, Mediated APIs: An Essential Application Architecture for Digital Business, 2016.)

Figure 4. Gartner's IoT Reference Architecture

Figure 4. Gartner's IoT Reference Architecture

OT/IT Integration:  Since the IoT architecture requires connectivity and integration between products and enterprise IT, employees developing products and embedded software (the OT side) and those developing backend applications (the IT side) should work together with common KPIs, under a single integrated architectural blueprint, following a single integrated system lifecycle process, using common software engineering practices.  Gartner predicted that by 2020, 80% of asset-intensive industry CIOs will have embraced IT/OT integration as a strategic imperative (Gartner, Predicts 2016: Unexpected Implications Arising From the Internet of Things, 2015.

Asymmetric Competition:  Digital transformation of a business often changes the basis of competition from that in the incumbent market.  Apple's iPhone did not compete against Nokia with a better quality of mobile phone connection, but with a completely different attribute such as the app store.  Accenture estimates that by 2030 revenues from car manufacturing will be around 2 trillion euro, only marginally higher than they are today.  By contrast, revenues from mobility services such as digitally-enabled car sharing and ride-hailing are projected to soar to almost 1.2 trillion euro. (https://www.accenture.com/t20180307T030129Z__w__/us-en/_acnmedia/PDF-71/Accenture-Mobility-Service.pdf#zoom=50)  Car manufacturers need to prepare themselves to compete based on new services and try to best integrate their services with their core business of manufacturing cars.  See the video below about a connected car application in truck logistics.

CONNECTED CAR--LOGISTICS TRANSFORMATION

(in English with Korean Subtitle)

Business Model Innovation:  Digital transformation typically requires a new business model.  Designing the new business model should start with the customer, then clearly determine and validate value propositions for the customer to be created through digital transformation, and then, only then, design products and services, business processes, business resources, external partners, etc.  Design thinking can be followed in designing the new business model to ensure the new product and services to be developed are desirable by the customer, feasible with the current business, technical and workforce capabilities, and viable with respect to sustaining profitable growth.

Popular methods for business model design such as business model canvas, TOGAF business architecture framework, and ArchiMate are helpful in clearly describing and communicating the design, reaching a consensus among stakeholders, and providing a high-level design for business analysts and technical architects who can then decompose and elaborate the design into detailed system requirement specifications.  The business analysis expertise pattern for IT service business applies here too.

Integrated modeling tools such as Visual Paradigm support maintaining consistency and traceability between a high-level business architecture design in ArchiMate and detailed requirement specifications in formal modeling notation such as BPMN 2.0 and UML 2.0.  IoT development methods, such as Ignite (D. Slama, et al., Enterprise IoT, 2015: http://enterprise-iot.org/) and IIC IoT Lifecycle Process (https://www.iiconsortium.org/IIC_PUB_G1_V1.80_2017-01-31.pdf), all starts with business model design and then proceed to system analysis and design.  Refer to the Business Analysis page in this web site for more details on software requirement engineering for digital transformation.

IoT-Enabled Operations:  Many digital businesses are based on various use cases of IoT for innovating operations.  IoT can be applied to operations at different levels of sophistication: monitoring, control, optimization and autonomy, each building on the preceding one. (M. Porter & J. Heppelmann, How Smart, Connected Products are Transforming Competition, Harvard Business Review, Nov. 2014.)  For example, the CGM device from Meditronic, a medical device company in Ireland, inserts glucose sensor under the skin and monitors, displays and alerts glucose levels for diabetes patients.  ABB Robotics, an industrial robot supplier in Switzerland, remotely monitors, analyzes, controls, upgrades, reconfigures and preventively maintains industrial equipment.  GE Brilliant Factories combine lean manufacturing, advanced and additive manufacturing with advanced software analytics to maximize productivity.  They embed sensors onto their machines, leverage software to gather data, and use analytics to gain insights to optimize performance, reduce costly unplanned downtime and ultimately drive greater productivity.  Caterpillar manufactures mining equipment which use sensors, data and central computer operations with wireless and fiber networks to perform mining operations autonomously without workers on site, both in and above the ground.

IoT-Enabled Product Design:  Softwarization of manufacturing products (i.e., making products smart and connected) adds sensors, computing capabilities, data storage, actuators and communication ports to the products.  Once product functionalities are implemented by software instead of hardware, the product becomes more like software whose intrinsic nature is far different from hardware as mentioned at the beginning of this blog.  Recall that software does not wear out, its reproduction cost is near zero, and it can be changed anytime remotely, which are all impossible with hardware.

There are many innovations made possible by softwarization of products.  Product design can be varied via software for a single physical product.  John Deere, an agricultural machinery manufacturer in the U.S., used to manufacture multiple versions of engines, each providing a different level of horsepower.  It now can alter the horsepower of a standard physical engine using software alone.

Such a product line variation can be done even at run time, enabling so called "dynamic" software product lines.  Tesla Motors, an electronic car manufacturer in the U.S., after batteries in two Tesla Model S cars were punctured and caught fire in 2013, was able to reconstruct the road conditions and speeds leading to the punctures, and then sent a software update to all vehicles that would raise their suspension under those conditions, significantly reducing the chances of further punctures.

Softwarization combined with IoT enables companies to continuously monitor real-world performance data, identify design problems, and unearth powerful insights by identifying patterns in thousands of readings from many products over time.  Once a design problem and its causes are understood, the problem can be fixed remotely via software, enabling "evergreen" product design.

IoT-Enabled CRM:   The data from smart connected products provides a much sharper picture of product use, showing, for example, which features customers prefer or fail to use.  By comparing usage patterns, companies can do much finer customer segmentation.  Marketers can apply this deeper knowledge to tailor special offers or after-sale service packages, create features for certain segments, and develop more-sophisticated pricing strategies.  Companies are beginning to see the product as a window into the needs and satisfaction of customers, rather than relying on customers to learn about product needs and performance.  For example, Nest Labs, a home automation supplier in the U.S., uses its Learning Thermostat installed in over 1 million homes as a platform to offer energy management services to utilities. Utilities companies use the Nest services to better understand their customers' energy usage and reduce overall electricity requirements by 50% in peak times thus saving significant money.

Customer service and support is another area greatly benefiting from IoT.  With smart connected products, technicians can diagnose problems remotely, and have supporting information for executing the repairs at the customer site.  In many cases, a product can even be repaired by remote technicians by rebooting it, delivering a software upgrade.  Smart connected products improve service and efficiency and, using predictive analytics, enable a fundamental shift from reactive service to preventive and proactive service.  Bosch, an automotive components supplier in Germany, established the Industry 4.0 initiative that includes IoT-based manufacturing analytics and preventive maintenance.  For example, ultrasonic or vibration sensors attached to spindles in milling machines identify the patterns of a fragile spindle.  By analyzing the sensor data, it is possible to predict when the spindle is about to break, and schedule a preventive maintenance.

Digital Value Chain:  As indicated by the above three patterns (IoT-enabled operations pattern, IoT-enabled product design pattern and IoT-enabled CRM patterns), digital businesses can "digitize" business operations and management across the value chain from R&D, marketing to manufacturing, sales and customer support.  Successful implementation of digital business entails fluid digital communication across the value chain--this continuous flow of data is the "digital thread". (J. Nanry, et al. Digitizing the Value Chain, McKinsey Quarterly, March 2015.)  The best way to design and implement a well-functioning digital thread is to analyze end-to-end business processes across the value chain and find the steps of the process flow where various IoT sensor data or insights derived from them can be fruitfully utilized.  Typically a piece of information can be utilized in multiple places.   For example, product malfunction sensed by a smart connected product may be useful information for product design as well as customer service.

Analytics are best utilized when embedded in business processes.  Intelligent business process management suites (iBPMSs) support highly intelligent applications that seamlessly integrate advanced decision automation technologies—such as predictive analytics and artificial intelligence (AI)—to automate business processes that require more situationally adaptive behavior.  An iBPMS is a type of high-productivity application platform as a service (HP aPaaS).  Business analysts can use iBPMS such as Pegasystems, Appian, BizAgi, IBM Process Transformation Manager, Oracle Process Cloud Service, for rapid continuous improvement of a business process or experimentation with new operating models.  An iBPMS provides real-time insights supporting "BizOps"--viz., continuous process improvement and reinvention at the pace of DevOps. (Gartner, Magic Quadrant for Intelligent Business Process Management Suites, 2017.)  Business analysts need to master modeling languages such as BPMN 2.0 and UML 2.0, and modeling methods for process, data, use case and service modeling to be able to use iBPMS effectively.  An iBPMS as a type of HP aPaaS is also classified as a low-code development platform (LCDP) which supports model-driven development with minimal coding.

Product Servitization:  Servitization of manufacturing products comes in several different fashions: service bundling, product as a service, product sharing and productless service.

Service bundling is to provide connected value-added services directly to buyers of a manufacturing product, enabling new ongoing customer relationships and disintermediation of channel partners or maintenance partners.  Schneider Electric in France provides cloud-connected digital services to customers owning their building products to gather volumes of data about energy consumption and other building performance metrics and provide advisory services in reducing energy use and other costs.

Product as a service allows customers to pay the usage-based fee without buying the product and the manufacturer assumes responsibility for and associated cost of maintenance.  Kaeser Compressors in Germany has sold machinery including air compressors since 1919.  But once it began putting sensors on those compressors and examining the data it collected, Kaeser found a new way to generate revenue.  With a better understanding of its machines and the ability to analyze them continuously, Kaeser now sells air by the cubic meter through compressors it owns and maintains. It’s “air as a service.”

Product sharing let service subscribers share the product without buying it.  Daimler provides the car sharing service called car2go in urban areas in Europe, North America and China.  It offers exclusively Smart ForTwo and Mercedez-Benz vehicles and features one-way point-to-point rentals.  Users are charged by the minute.  Cars are user-accessed via a downloadable smartphone app wherever they parked.

Productless services provide IoT-based information services or owner-user matching services without manufacturing or even owning the product.  OnFarm is a SaaS company in the U.S. that aggregates disparate agricultural data available from diverse agricultural equipment manufactured by other companies into a single farmer-friendly platform and provides farm management tools and API services.

API Business:  Digital economy is also called API economy because devices, businesses and consumers are all connected via APIs.  Even for e-business and social business, API was very important to businesses.  For example, 7 billion worth of items were transacted through APIs on eBay, and the API had 10 times more traffic then the website at Twitter in 2010.

In digital business, smart connected products provide open APIs to allow customers and partners to assemble the parts of the solution—both the products involved and the platform that ties the system together—from different companies, and to enable 3rd party players including app developers to create value-added applications augmenting the product functionalities.  Many digital businesses further provide an API portal with an SDK to allow developers register for, learn about and leverage APIs to speed app development and maximize app quality.  Nest Developers, Philips Hue API, GM Developer are just a few examples of the app developer site established by manufacturers.  Some vendors provide API hubs to simplify the integration and orchestration of a variety of smart connected products.  IFTTT is a free PaaS to create applets that are triggered by events in other web services; for instance switching on a light when a motion is detected by an associated compliant device in a room (https://ifttt.com/discover).  Samsung SmartThings is another example of an API hub that can connect a wide range of smart home devices such as voice assistants, speakers, lighting, electrical outlets, sensors, cameras, thermostats,door locks, etc. (https://www.smartthings.com/)

Pace-Layered Application Architecture:  Pace-layered architecture is s segmentation strategy for application portfolio based on the required pace of change to deliver different business capabilities in an enterprise.  Gartner suggests three layers: system of record, system of differentiation and system of innovation.  (Gartner, Use Bimodal and Pace-Layered IT Together to Deliver Digital Business Transformation, 2018)   IoT applications enabling digital business certainly belongs to the system of innovation, of which the development requires rapid iterations for experiments (or Mode 2 style of work as defined by Gartner).  The continuous deployment pattern of SaaS business applies here, too, which favors a combination of design thinking, lean startup, agile development and DevOps.  Low-code development platforms (LCDPs) introduced above in the digital value chain pattern are often used to develop systems of innovation.  To facilitate development of the systems of innovation, the system of record, mainly composed of legacy applications, had better be modernized into service-oriented architecture, so that functionalities and data in the legacy applications are readily reusable via APIs when experimenting with new digital business applications.  Such modernization (or technical debt pay-off) is important for the same reason why the asset-based service pattern and service-oriented architecture pattern are important for IT service business.

System of Systems:  The partner ecosystem pattern of SaaS business may require a more complex architecture in the ecosystems of digital businesses.  Take the Moovel-based mobility service as an example.  Business processes of Daimler and those of all partnering transit agencies should be seamlessly integrated.  This requires a modeling of business processes and business semantics across the entire supersystem encompassing many independent systems.  That is, an ecosystem of SaaS business could be designed at the software architecture level, while an ecosystem of digital business may require a design at the business architecture level.

It is best when connected systems are all built in the service-oriented architecture pattern exposing APIs so that the integration, orchestration and choreography of those systems do not depend on implementation details of individual systems.  However, it requires much more than just interconnecting a number of software via APIs to build a system of systems for an IoT business.  The business modeling as well as software architecting of the entire supersystem becomes critically important.

IoT evolved from M2M which can be regarded as Intranets of Things--closed environments with little connectivity outside of the device estate or solution in question.  The natural next step is to connect these solutions to the outside world including adjacent products, services and other Intranet of Things.  This stage of development will be driven by common ownership of data sources typically within an enterprise or common cause among data owners such as a community of intelligent building providers that come together to form a common platform.  This stage is called Subnets of Things.  (Refer to: D. Slama, et al., Enterprise IoT, O'Reily, 2016.)  A full-scale Internet of Things may connect stakeholders across the boundaries of conventional industries as can be seen in Figure 5 (M. Porter & J. Heppelmann, How Smart, Connected Products are Transforming Competition, Harvard Business Review, Nov. 2014.), where farm equipment vendors, irrigation systems, weather data systems and seed optimization systems are connected to create a digital business of farm management.  Daimler's intermodel mobility service is another example of full-fledged IoT system which is a system of systems.

Figure 5. IoT Ecosystem: a System of Systems (Porter & Heppelmann 2014)

Figure 5. IoT Ecosystem: a System of Systems (Porter & Heppelmann 2014)

I found an interesting infographic titled "Agile Digital Transformation Roadmap" that agrees pretty well with the digital business patterns discussed here.  Check it out at  https://intellyx.com/the-agile-digital-transformation-roadmap-poster/.

Here is a video recording of my talk at a conference on digital transformation held in Seoul, Korea, in October 2020.  This talk, spoken in Korean, discusses the essence of digital transformation (the 4th industrial revolution) and systems engineering approaches to successful transformations, which involve design thinking, Customer eXperience (CX) creation, business modeling, lean startup, business analysis, machine learning, service-oriented architecture, agile development, and DevOps engineering.  Apology for poor voice recording in a small portion of the video.  Hope this talk be helpful for your company to succeed in digital transformations.

Here is a Youtube video playlist where Dr. Park talks (in Korean) about a recommended process and methods for developing applications for digital businesses.  The process starts with defining customer experiences with an innovative value proposition and then proceeds with designing new business architecture.  Next, designing process and data models, extracting use cases, and writing use case scenarios provide detailed business and software requirement specifications.  Given these specs, application architecture and programming objects are designed, producing UI wireframes, domain models, database schema design, service-oriented architecture design, API design, and test cases.  Finally, test-driven development including refactoring, continuous integration, and a continuous deployment pipeline is performed iteratively to release the application incrementally to the users.  This application development process is illustrated using the case of creating P2P car-sharing services.

In the next Youtube video playlist, Dr. Park explains (in Korea) an integrated, end-to-end process of developing a three-tier IoT application consisting of (1) smart connected IoT devices, (2) big data analytics based on machine learning algorithms on cloud platforms, and (3) enterprise IT applications.  The P2P car-sharing service is used as an example here, too.  The developed application collects sensor data from IoT devices using their embedded software components, performs data mining using machine learning models on the cloud platform, and sends the analysis results to the enterprise IT applications to make real-time decisions and automatically process the triggered business operations.

Latest comments

21.03 | 17:18

Took me time to read all the comments, but I really enjoyed the article. It proved to be Very helpful to me and I am sure to all the commenters here! It’s always nice when you can not only be informed

05.02 | 01:55

Very good job of discussing both MSA as well as SOA and providing adoption considerations etc.

10.09 | 15:53

Thank you for covering Mendix in your blog so comprehensively. The Mendix community would welcome your participation should you wish to join?

Share this page