Copyright Page

e-Business: Building online business solutions
by Robert Batzinger,Praeceptor Emeritus

Payap University Faculty of Science
Computer Science Department
Chiang Mai, Thailand 50000

© copyright 2020, Robert Batzinger. All rights reserved.

This edition was written in Bookdown Markup and compiled into PDF, EPUB , HTML, DOCx, and Markdown. As this is a work in progress, it is revised and uploaded to https://www.bookdown.org/rbatzing/ebusiness.

Feedback and suggestions are invited and welcomed as they are important part of the revision process. Please send all inquiries and comments to the author.

Front Matter

Traditionally, all business transactions start by crossing of the threshold and exploring the possibilities within. Regardless of whether the entrance is a physical door or the splash page of an online website, the initial contact plays an important role in helping the customer understand the nature of the business. Likewise, you are invited to explore this front matter section to better understand the context in which this book was written.


Colophon

The cover is a photograph of the Financial District from the Marina Bay in Singapore. The amazing metamorphosis of this central business district from swamp land into a thriving financial center of the Region is representative of the current sea-changes in business driven by technological and social developments. Similarly, today’s developers of business systems are sowing seeds that will change the future, much like Sir Raffles’ vision for a seaport has grown into today’s Singapore.

The cover, front matter, and Chapter 4 photos were downloaded from Pixabay. The extra reading, discussion and exercise sidebar icons were created by Freepik and used as per Creative Commons 3.0 License. Network and flow diagrams were created with yEd from yWorks. (yWorks 2018)

While early drafts of this book were written in Leanpub Flavored Markdown, this book was developed in RStudio using the bookdown package (Xie 2016) (which was built on top of R Markdown and knitr (Xie 2015). It was edited in RStudio and later compiled and published online simultaneously as an HTML website, a printable document in PDF and electronic book EPUB format with only 3 clicks of the mouse. This current edition has been migrated to bookdown-plus.(Zhao 2017) The goal of this development was to produce a bilingual teaching resource useful for both Thai and International Students.

About the Authors

Robert Batzinger1 started programming on 4 bit computers in machine code at the age of 12. Since then he witnessed the technical changes that emerged as computers became faster and systems became easier to program. In his 40 year fascination with computers, he has developed, deployed and managed software systems for a variety clients across Asia-Pacific. At the same time, he has taught numerous computer science courses ranging from elementary programming to advanced topics in application development, software engineering and business operations management. He has is now an emeritus lecturer in Computer Science at Payap University.

Sirinna Sirinaphaphan2

Surachet Wongchompooh3

Acknowledgments

The content of this book continues to evolve in response to technical changes in the software industry, to emerging business trends, and to student feedback. The development of this book would not have been possible without the feedback and suggestions of colleagues and students. While we the authors are responsible for any remaining errors in this book, our students, referees, and readers have contributed immensely to the development of this book. The content and nature of this book was improved by meaningful feedback, consultation and conversations. The impact of suggestions and feedback from Ms. Phatnaree Srisomphan and Dr. Somboon Panyakom is particularly noted with gratitude.

At the same time, the authors are also grateful for the support and encouragement of family members and close friends throughout the long creative process that modeled and forged the manuscript of this text.

Robert Batzinger4

Sirinna Sirinaphaphant5

Surachet Wongchompooh6

June 2021

Preface

Advances and developments in Computer Science (CS) are driven by need to create applications that effectively address real-world problems. Successful software development starts with a deep understanding of the problem domain from the users perspective and leads to the development of applications that users find intuitive and easy to use. Breakthroughs in understanding the nature of problem being address create new opportunities for developing epic software solutions that address the needs of users. Thus, it is common practice to integrate end users into the IT teams that design, develop and test the software products. When developers and users communicate, the resulting products tend to be more intuitive and successful.

However, most universities tend to isolate business education from computer science even though in the real world, IT professionals generally create careers out of developing applications and solutions for clients who, for the most part, have not studied CS, but who are experts in other problem domains. This course is an attempt to help introduce IT/CS students to the basic issues in the business world in an attempt to help them more effectively in that market place. At the same time, the course is being developed as an elective for Business majors to help them appreciate the various resources and opportunities available for developing effective online business applications and services.

Why read this book

This is textbook was written for the Payap University course in E-Business offered by the Computer Science Department. This course is taught in Thai as an introduction to e-Business from the joint perspective of both IT and Business. The course description is shown below.

CS340 E-BUSINESS: Principles of business operations using information technology. This includes a discussion of Enterprise Resource Planning (ERP), Customer Relationship Management (CRM) and the use of social media to communicate both within and outside the organization.

CS340 ธุรกิจอิเล็กทรอนิกส์: หลักการการดำเนินธุรกิจโดยใช้สื่ออิเล็กทรอนิกส์ การวางแผนทรัพยากรขององค์กร (ERP) การบริหารความสัมพันธ์ลูกค้า (CRM) และการสื่อสารผ่านโซเซียลมีเดียทั้งภายในและภายนอกองค์กร

The goal of this course is to provide computer science majors insights about the underlying requirements of software designed to support business online. At the same time, this course is meant to provide a basis for business administrators in making wise choices as they navigate technical possibilities whilas they participate in the effort to develop, install and use software solutions designed to address their business needs.

This book was written as a guide and resource for that course. It attempts to describe best practices in the IT industry and draws on as decades of experience of the authors as a software developers and consultants in business operations management. This book will explore the context and use of common e-Business techniques and applications within modern business. This will lead to a detailed discussion of the basic principles, examples and relevant source code. Ultimately, the book is meant to provide a bridge by which IT specialists will understand enough about business to become an asset to business management. At the same, the book provides insights to business managers to help them manage e-Business development within their organizations.

Structure of the book

This book started as a collection of class slides, notes, and exercises. The basic design of this book is meant to parallel the outline of the corresponding course, and is organized in the following way:

  • Chapter 1: Key principles of Business. A discussion of the key principles that define and characterize business both in the real world and in cyberspace.
  • Chapter 2: Modeling Business and its Processes. A discussion of leading methods used to create software models of the key busines transactions and activities, both those that take place in physical business settings as well as those that take place online in e-business applications.
  • Chapter 3: e-Business Sodtware Systems. A survey of the concepts and functions of key open-source, online business systems. The examples discussed demonstrate how solutions to mission-critical questions are developed by applying business logic to available data resources.
  • Chapter 4: Emerging Technologies. A discussion of futuristic e-Business technologies and practices that are already impacting businesses.

The following typesetting conventions were used to enhance clarity.

Typesetting feature Description Example
Bold text Package names rmarkdown
typewriter Inline/commandline code puts 5 * 3 + 1
typewriter Filenames hello.c
() Functions sqrt(25)
[][] URL links and crossreference http://www.ibm.com

1 GENERAL BUSINESS PRINCIPLES

Key components of a successful business

Figure 1.1: Key components of a successful business

This chapter explores the nature, requirements and management of business processes and components as a means for introducing the context that surrounds business communications in general and e-Business in particular.

1.1 Essentials of Business

Business at its core is based on a network of contracts in which goods and services are provided and for which compensation is rendered. Businesses work towards establishing the means for acquiring marketable goods and services that customers will purchase in sufficient qualities to make the endeavor worthwhile. Ideally, all companies aim to seek fair compensation for goods and services rendered in the most efficient and effective manner. Businesses become sustainable when the compensation meets their short-term and long-term requirements. Conversely, businesses fail when they are unable to develop and maintain a market demand that leads to a level of sales that meets their expenses.

\(\blacktriangleright\) Exercise 1.1: Linking business principles to market characteristics

Match the business principles to their corresponding market characteristics. Determine how each principle contributes to the growth of a business. Also determine how the link changes as the business and the target community grow.

Matching business principles to relevant market characteristics
Principles Characteristics
(A) Access to market ___ Most customers order on Saturdays
(B) Brand recognition ___ Only dirt roads to market
(C) Consumer pool ___ Products made from seasonal crops
(D) Investment capital ___ Popular product reviews
(E) Production capacity ___ Decreasing stock price
(F) Market value ___ Stock is always sold out.

Balancing the demands and requirements of each component of a business endeavor requires timely management decisions based on accurate information. As the speed and volume of businesses grow within the global market place, rapid communication and confirmation of detailed information is so crucial to successful business practice that many e-Business technologies and applications have emerged to support and facilitate the operation and growth of business activities. However, the philosophy of business managers effects the ethos of a corporation in a way that impacts potential for growth and survival.

\(\triangleright\) Exercise 1.2: Philosophy of Business

Discuss how each of the following premises impact the nature of a business, as well as the potential for short and long term success. Note how the philosophy impacts the focus and range of activities within the IT departments that support such businesses.

  1. Business as a means to create wealth: Business is all about making lots and lots of money quickly in order to acquire wealth.
  2. Business as a win-win contract: Business is about fair compensation for goods and service that balances the expectations of investors, staff, suppliers and customers. Ideally, Customers are satisfied that the transaction was value for the money; Staff are fairly paid; suppliers are compensated and investors obtain a reasonable return on their investment.
  3. Business as means to help people find the best value for their money: Business is the process of addressing current market needs by providing goods and services below the cost of the market competitors.
  4. Business as a social entrepreneurship: Business provides an opportunity build a relationship with its customers for the purpose of addressing the critical needs of the community and society at large.

Because of its impact on the nature and growth of individual businesses, the philosophy of business has been the subject of many popular business books. The philosophy of a business also fuels and guides the growth of businesses as they evolve from small family businesses into small and medium-sized enterprises (SME) as well as the modern large-scale enterprises (LSE) as described in subsequent sections. In addition, large multinational enterprises (LME) take these principles to even higher levels as they harness these principles on a global scale.

While a full study of the implications of the different business philosophies (See Exercise 1.2: Philosophy of Business) is beyond the scope of this book, this introduction focuses on how IT Departments act as an integrated component within a business, forging a relationship with management that amplifies and supports the shared vision and mission of the business. At each stage of business development, IT departments must reflect, project and support the prevailing philosophy within the business it supports.

\(\triangleright\) Discussion 1.1: Study of vision and mission statements

Appendix B contains the mission and vision statements of a wide range of organizations. A quick scan of these statements reveals the diverse range of interaction between customers, suppliers, investors and employees among the businesses cited. Each statement reflects how the business has been designed and crafted to appeal to their constituencies in some specific way. Also, it is easy to compare the level of corporate social responsibility expressed within the various vision and mission statements.

The mission and vision statements capture the philosophy of the business and reflect the ethos, activities and aspirations of individual businesses. These statements were written or commissioned by the founders to inspire and guide the evolution of the business well into the future. Thus, these statements have been used motivate business activities, often forming the heart of employee orientation programs and establishing the basis for corporate decisions. Once the vision and mission has been communicated, IT departments are expected to develop systems and services that fully support these statements and provide services that help the businesses achieve these goals.

\(\triangleright\) Discussion 1.2: A vision and mission for Payap University

Payap University (PYU) has from the beginning adopted the motto: “Truth and Service.” While over the years core values and other guiding statements have been proposed, there is currently no widely accepted mission and vision statement for PYU. Suggest a mission statement not exceeding 30 words that describes how students, donors, staff and alumni might work together to carry out the motto to build a sustainable and distinctive future despite growing competition for fewer and fewer high school students. Also, write a vision statement not exceeding 20 words that describes your aspiration for Payap University in the future.

1.1.1 Business processes

At the core, a business is a set of goods and services that derive their value from addressing specific needs of clients in accordance with its vision and mission. Good design and pre-market testing help define the nature and production of these products and services. Careful control of production and distribution costs make it possible to deliver the goods and services at a suitable price point suitable. Managers of the supply chain and operations use a web of contracts and business transactions with suppliers and distributors to ensure a reliable flow of materials, resources and cash needed to deliver product on time and on budget. When all components of this supply chain work together, the business is able to create a sustainable profit and revenue stream. However, many things can go wrong and even simple mistakes and minor communication breakdowns can disrupt this flow and reduce customer satisfaction and revenue.

Key business processes

Figure 1.2: Key business processes

The information and distributed at each stage of production and between links of the supply chain form the intellectual property critical to both the product design and business success. IT departments in turn must develop systems to that capture, support and implement this information within the controls and operations of the enterprise.

However, target audiences are constantly evolving and the nature of this information is also not static. Regardless of whether this critical information is highly protected as intellectual propriety or shared within an open development community, effective development depends of the ability to collect, access, apply, and revise this information in order to better ascertain the needs and changing trends of the target audience.

1.1.2 Core activities of established businesses

When a business is just a small shop of only 1 or 2 people, coordination and communication is relatively simple. However, as businesses grow in their capacity to meet the growing demand for goods and services, the work force must also grow. However, merely adding new workers tends to reduce the efficiency per person, creating additional cost and time to the production line. Instead, the work force needs to be reorganized around coordinated teams of specialists organized into various departments. The work must be divided into specialized skill sets that can be taught, tested and updated. In this way, having more employees will be able to carry out a larger number of tasks simultaneously in a way that can be coordinated. Although effective communication within a large work force is incredibly complex, tracking of progress and production is critical to achieving efficiency and effectiveness on a large scale.

Traditionally businesses addressed the need for effective communications by structuring the business into the basic departments shown in Table 1.1. These disciplines map well to university degrees helping to ensure that jobs could be filled. When all the departments are functioning well, there is synergy in the way shared information and coordination increases the efficiency and productivity of the organization.

Table 1.1: Core departments of most SME / LSE
Department and its function
  • Finance: mid-term and long-range financial planning to ensure that there is an adequate supply of money to pay bills and payroll and to compensate investors.
  • Accounting: a record of financial commitments and compensations for the purpose of tracking the movement of assets and liabilities across the organization throughout the production process
  • Marketing: increasing the brand and product recognition in order to increase the number of potential customers and and consumers interested in the products and services.
  • Sales: selling and distributing products and services to customers while maintaining records to assist forecasting of future demand and market growth
  • Operations: systems to acquire resources, produce, package, store, and deliver products in an efficient manner
  • Management: sets the direction and pace of business endeavors

However, university enrollments are down in many of the critical disciplines, especially those related to professions requiring mastery of STEAM subjects.7 Building the human resources needed to run a business is a constant issue especially since an increasing number of graduates lack the skills, drive and motivation needed to success in business.

1.1.3 Supporting functions

However, as the business grows so do the opportunities for political factors, personal infighting and lack of information flow. Physical distances, levels of bureaucracy and authority, as well as protected personal data silos and other disruptions to information flow can reduce the effectiveness of a team especially as the head count increases. In addition, poor coordination and other forms of mismanagement can limit the effectiveness of businesses to quickly adjust to threats and changes in the market place. Therefore, as businesses grow in size, various support functions (such as those shown in Table 1.2 are added to keep the core business functions running smoothly.

Table 1.2: Supporting departments of SME / LSE
Supporting department and its function
  • Management Information System: collect, analyze and distribute mission-critical information to key administrators
  • Human Resources: attract, hire, train and retain effective employees
  • Legal Department: ensure compliance with laws and regulations
  • Investor Relations: communications with shareholders to attract support and investments
  • Customer Relations: after sales care of customers and encouragement of brand loyalty
  • Facilities Management; maintenance of facilities and equipment to maximize the utility and value of capital investments in equipment and infrastructure.

As enterprises continue to grow, so do the various departments. Some departments begin to develop marketable skills that could help other businesses carry out their activities. Marketing these services have the potential of turning former cost centers into profitable businesses and revenue streams. For example, Google Mail was created initially to provide communications between the various internal departments of Google. Later it was scaled to provide a free service on the internet that evidently attracted corporate customers to buy this service online at Google for Business. This business development strategy requires corporations to be flexible and adaptive in supporting the changes to information flow that occur as departments are restructured and evolve from cost centers into profitable businesses which are in turn sold to other corporations.

\(\blacktriangleright\) Exercise 1.3: Key business concepts

Create a mind-map that illustrates the relationship between the following sets of terms.

  • Key business components: Access to market; Resources; Value; Investment capital; Marketable goods and services; Customers
  • Core business activities: Finance; Accounting; Marketing; Sales; Operations; Management.
  • Support functions: Management information systems; Human resources; Legal department; Investor relations; Customer relations; Facilities management

\(\triangleright\) Reading 1.1: General Electric Company: a brief history

While the General Electric Company (GE) was founded by Thomas Edison in 1878 to produce light bulbs and electrical generators, the history of GE is full of examples of cost-centers and experimental services being converted into profitable businesses. From its origins in light and power, GE expanded into the production of electrical household appliances. During the Great Depression of the 1930s, they started a consumer credit scheme to allow customers to buy appliances on credit in a program that became the start of a network of credit unions. In the 1950s, GE expanded into steam, nuclear and hydro-electric power systems. It is also established its IT department in the 1950s to monitor and help manage its rapidly growing operations. This lead to the network of GE Data Centers and Power Grid Controls. To communicate with over 30,000 workers at its Schenectady plant, GE started WRGB a public radio and TV station to broadcast news as well as to test and sell radios and televisions. GE expanded this into a network and eventually ended up owning the National Broadcasting Company (NBC). In the 1980s, new divisions were added to create medical devices, jet engines and wind powered systems.

The global GE work force were protected by a retirement fund that covered a total of over 200,000 employees. A new holding company GE Investments was created to manage retirement funds by increasing investment opportunities for their factory workers world-wide and expanding financial services of their credit unions. The improvements in efficiency and effectiveness resulted in savings and growth not realized by pension funds of other large corporations. In 2007, GE Investments realized a USD $15 billion surplus in the pension funds.

However, miscalculations by fund managers in 2008 resulted in over investment of the surplus from the pension funds into multiple business ventures that resulted in loss of funds, limited cash flow, and subsequent fall in stock prices resulting in a pension fund debt of USD $31 billion for the 600,000 retirees on its pension program. GE stocks never regained their former value. The lack of timely information about the condition and emerging trends of the various business activities of GE in 2007 resulted in poor business decisions that nearly destroyed their 128 year old legacy.

1.2 Understanding the role of IT in business

Personal computers have made it possible for individual workers to use computers to carry out their function within the business. While word processing and spreadsheets have improved the speed of various clerical tasks, the use of these applications tended to encourage the creation individual data silos where important information becomes inaccessible to others in the organization who need it. The introduction of affordable computer networks made it possible for better collaboration and synergy between workers. Connecting to the Internet made it possible for business to expand their interaction worldwide, increasing the range and scope of business operations.

However, realizing the full potential from investment in IT has been slow for most companies and government offices because of a lack of standardization and inter-operability. Expanding network services raised numerous of security concerns concerning the unauthorized distribution of critical information or the destruction and denial of service by individuals and software with malicious intent. Migrating computing functions to mobile phones have resulted in loss of productivity in many business sectors as employees are distracted by social media and electronic games.

To address these issues, SME have been hiring IT specialists to improve the communications and data infrastructure within their organization. In the past decade, establishing an IT Department as a central service became common and many consulting firms have arisen to address this need in the manner outlined in Table 1.3.

Table 1.3: Stages to establishing an effective IT Department
Goals of each stage of IT Development
  1. Study the business strategy: Understanding the nature of the business
  2. Translate into an IT strategy: Balance IT growth to support business goals within the resources of the business plan
  3. Create transparency for IT developments: Encourage inclusive planning and development
  4. Define IT target picture: Establishing a strategic direction
  5. Defining a roadmap for IT deployment: Creating a plan
  6. Harmonize and govern: Build teamwork and integration of data streams and work flow in a safe and secure manner
  7. Obtaining feedback and refinements: Improving operations
  8. Coaching and mentoring: Building staff skill and leadership

As IT Departments emerge and become integrated into the business strategy, they provide tools, information and communication systems that played a transformative role in the nature of the business. Enterprise architecture, networks and data systems tend to grow as IT Department move along these evolutionary steps. (Hohpe 2017a), (Hohpe 2017b) Among IT Managers, there appears to be 2 major approaches to understanding the nature of business and IT’s function: using IT to redesign the business or re-engineering the current organization. (See Table 1.4) The approach chosen represents a strategic decision concerning the role and nature of the IT department. The political implications of the strategy chosen can be immense and often the success of an IT manager will depend on the level of support received from those in management who supervise the IT department head, especially in an organization that has multiple centers of development.

Table 1.4: Two strategies for setting up an IT department.
Architecting the Business to run from a central IT system Re-engineering the Business using IT to support productive units
  • Identification of growth areas
  • Profitability of goods and services
  • Geographic/demographic opportunities
  • Geopolitical aspects
  • Acquisitions and divestitures
  • Divisions and business lines
  • Group level vs divisions
  • Lines of reportings
  • Matrix organizations
  • Improving the organizational chart to encourage team loyalties

1.2.1 Business views of the role of IT

The past two decades of Business IT development have shown that IT departments are generally given by business managers one of the 4 roles described in Table 1.5. Each distinct role has its own impact on the nature, funding, staffing and developments of IT departments as it depends on the vision and expectation of the business administrators that manage the Director of the IT Department. Decision concerning IT development are based on the current capabilities of the IT staff and the plan for growing their skill. However, IT Departments in Thailand generally have a high staff turnover rate, especially in situations where the expectations of the staff do not match the role that the IT Department has been given.

Table 1.5: Four different roles of IT within business
Role of IT Cost Center Asset Partner Enabler
Focus: Cost of IT Return on Investment Business value Speed / innovation
Lever: Cost cutting Economy of scale Economy of efficiency Economy of speed
Development: Outsourced Hybrid8 Inhouse IT business
Supervisor: Chief Financial Officer (CFO) Chief Operations Officer (COO) Chief Development Officer (CDO) Chief Executive Officer (CEO)

IT Strategy provides a road map of expected IT developments and operations. This is derived from an understanding of the nature of the business development and is not necessarily restricted by current realities. Most IT departments can be classified within a 2 dimensional mapping as shown in Table 1.6, namely the degree of integration between data centers and the degree of standardization between data and operational systems. The IT strategy is both a definition of what IT proposes to do as well as a statement of what it does not intend to do. Above all, effective IT Business strategies do not conform to the product road map of IT vendors. However, successful strategies must recognize the role that the business gives to the IT Department. (Ross, Weill, and Robertson 2006)

Table 1.6: Four modes of IT within business
Minimal standards for software systems Highly standardized software systems
Highly integrated IT centers

COORDINATION of unique business units

  • Examples: Merrill Lynch, Toyota, Google
  • Key IT capabilities:
    • access to shared data
    • standard technology interfaces

UNIFICATION as a Single business with global standards

  • Examples: Delta Airlines, Pepsi
  • Key IT capabilities:
    • systems reinforce standards
    • provide access to global data
Independant IT Centers

DIVERSIFICATION with Independent business units with different skills / customers

  • Examples: Johnson & Johnson, GE, Yahoo
  • Key IT capabilities:
    • provide economies of scale
    • do not limit independence

REPLICATION of Independent but similar business units and expertise

  • Examples: CEMEX, Marriott, Lazada, 7-11
  • Key IT capabilities:
    • provide standard infrastructure / apps
    • maximize global efficiencies

1.2.2 IT operating modes within large enterprizes

As shown in Table 1.6, IT Departments within large multinational enterprises can be classified within a 2 dimensional scale. In particular, the degree of integration between the computer services used by the various entities and the degree of system standardization across the enterprise.

As businesses are acquired and merged into larger firm, the respective IT systems also undergo metamorphosis. Large franchises like 7-11, KFC and McDonald’s use standardized computer services to accomplish economy of scale. Companies like GE and Google that depend on technical innovation tend to have large research and development budgets and use their multiple computer systems to address their needs creatively.

Interaction between business departments

Figure 1.3: Interaction between business departments

1.2.3 Software to facilitate business interactions

As a business grows, so does the complexity of the interactions between the departments, as shown in Figure 1.3. For example, management focuses on the control, operation, and development of a business. Financiers use investments to maximize opportunities to grow the business. Production engineers tune the processes needed to deliver products on time and at cost. Marketers build brand and establish product acceptance by consumers.

The key concern for IT is the nature and volume of information to be analyzed, shared and communicated in a timely fashion. Even after the past 50 years of intense computer development aimed at building systems to support the needs of business, new software tools and apps are still emerging at an astounding rate. Business software systems designed for medium to large size enterprises are classified in in 2 basic groups (See Table 1.7) that will be further explained in subsequent sidebars.

Table 1.7: Business software for medium and large size business enterprises
Classes of Business software
  • Enterprise Resource Planning (ERP): data systems that store and communicate operational data in a way facilitates reporting and future planning. The emphasis is on the recording of information by users to alert those managing activities in other departments.
  • Enterprise Resource Management (ERM): software systems that facilitate the monitor and manage interaction and the use of resources. The emphasis is on automated analysis of the system to optimize operations.

\(\triangleright\) Reading 1.2: Enterprise Resource Planning (ERP) Software

  • CONTENT MANAGEMENT SYSTEM (CMS): a system to document the nature of the business and support the

    • Collections of guides, rule books, forms, and procedure guidelines
    • Blogs, newsletter, announcements
    • Catalogues, price lists
    • Documentation of intellectual property and licenses
  • PRODUCT INFORMATION MANAGEMENT (PIM): a system to document to identify, sell and support the use and maintenance of the products sold

    • Manual, troubleshooting guides
    • Parts list, equivalences
    • Price lists and stock inventory
    • Photos and promotional materials
  • ACCOUNTING INFORMATION SYSTEM (AIS): a system to document and transmit transaction information and financial plans

    • Revenue: cash inflow (such as sales, donations)
    • Expenditure: cash outflow (such as payroll, equipment cost)
    • Conversion: work-in-progress transactions (such as raw material, precursor inventory)
    • Administrative: reporting (such as budgets, income statement, balance sheet, cash flows)

\(\triangleright\) Reading 1.3: Enterprise Resource Management (ERM) Software

  • BUSINESS-TO-BUSINESS SOFTWARE (B2B): manages communications and workflow with suppliers and partners

    • Directory of suppliers and products
    • Social media confirmation of quality
  • BUSINESS-TO-CONSUMER SOFTWARE (B2C): serve the needs of individual customers particularly in regards to customer history, order status, and billing information.

    • Online store
    • Product manuals, product information
    • Delivery tracking
  • HUMAN RESOURCES MANAGEMENT (HRM): help to manage the workforce and the range of jobs within a company

    • Compensation: Payroll, bonuses, raises, benefits
    • Staff work experience: Assignments, scheduling, performance appraisal, skills testing
    • Staff retention: Flight risk, employee satisfaction
    • Staff development: Education, training, mentoring
  • MARKETING AUTOMATION PLATFORM (MAP): tracks the trends, patterns and possibilities concerning the market for the company’s goods and services

    • Customer Relationship Management CRM: purchase history, rewards, interests
    • Marketing Campaign Planning MCP: Ad words, analytics, costs, contracts, effectiveness

These systems tend to be built on very large databases that record not only the primarily data set but also metadata concerning user access time and frequency. The full data can be used to determine speed, volume and the relative importance of the data and the corresponding workflows.

1.3 Essentials of Business Communication

Businesses are driven by an active communication chain that supports and synchronizes all the ongoing processes of the business. The effectiveness of teamwork and management within a business depends on an efficient communication chain to create an accurate picture of the business status and trends. However, businesses with many departments and lines and levels of authority often have breaks in the communication chain and can be interrupted by bottlenecks in the flow of data, inconsistent or misleading reporting, and other communication breakdowns. Order specifications, production targets and quality control results are time sensitive and provide essential information needed for data-driven management. In essence, the ability of a business to operate and fix problems depends on the quality of the communications that describes true nature of the current situation and knowledge of possible options.

Communication Chain

Figure 1.4: Communication Chain

Meaningful communications require reciprocal interaction between the speaker and the listener. As shown in Table 1.8, social norms and good etiquette depend on transmission of a message and an appropriate response. Interaction with customers and suppliers depends on clear and effective communication, but the communication chain is broken when messages in either direction are lost or misinterpreted. The problem is compounded each time the message is conveyed down a chain of messengers. The growing use of social media with its emphasis on icons or one-word responses has often been blamed for the reduction in quality of personal verbal and written skills adding additional challenges to the communication process.

Table 1.8: The reciprocal nature of communications
Initiation Response
Greeting Acknowledgment
Question Response
Proposal Acceptance or Rejection
Command Action
Accusation Acceptance or Rebuttal

1.3.1 ISO9000/ISO9001

The International Organization for Standardization (ISO) published ISO 9000 in 1987 as an attempt to standardize the nature and reliability of business communications. The purpose is to improve communications surrounding contracts and transactions in a way that allows the customer to verify the terms of an order. At the same time, the company must sign off on the work when the details of the agreed order have been completed. ISO 9000 certified companies have also committed themselves to track and improve the quality of services.

The essence of ISO9000 can be summed up in 4 key points that describe the nature of the interaction between customers and suppliers as shown in Table 1.9. The first 3 points are meant to insure that the customer’s order is clearly specified, confirmed and delivered. The fourth points is a commitment to record the outcome and feedback and search for ways to improve products and services.

Table 1.9: Key points of ISO9000/9001
Key Areas of Focus within a ISO9000 Compliant Business
  • Receive the customer order: Customers have the opportunity to understand the nature of goods and services to make a contract based on knowledge of available options
  • Verify of intended order / work: The company confirms the details of the customer order
  • Prevention of undesired effects: The company checks the quality and the timing of the products and services to be deployed
  • Improve performance: The company reviews their records looking for opportunities to improve goods/service

The revised standard ISO9001 provides guidance and tools for companies and organizations who want to ensure that their processes regularly deliver products and services that meet customer requirements. It also defines the requirements for certification against these standards which are reviewed and revised every 5 years.(International Organization for Standardization 2015) In the past 30 years, this standard has been at the core of every ISO quality standard that concerns the development and delivery of goods and services as it addresses the needs of customers and while meeting relevant statutory and regulatory requirements.(International Organization for Standardization 2019)

\(\blacktriangleright\) Exercise 1.4: An ISO9001 compliant transaction

Identify the points of the ISO9001 standard satisfied by the follow stages of a simple business transaction at a restaurant and consider what could happen if the step was skipped.

  1. The customer enters a restaurant and is given a menu with pictures of the food.

  2. The waiter takes the order and repeats the order back to the customer for confirmation.

  3. The waiter brings the food and doubles check that the order is complete.

  4. The waiter comes back to check if everything is okay.

  5. The cashier checks that all was well when the bill is paid.

  6. The whole transaction is recorded and the receipt gives the customer a website to send feedback.

  7. The customer’s feedback is analyzed for patterns of service that could be improved.

\(\blacktriangleright\) Exercise 1.5: ISO9001 and MacDonald’s

Despite the fact that MacDonald’s is a successful multinational enterprise, most the work within its restaurants around the world is carried out by staff who are under the age of 21 and have worked for the company less than 2 years. However, as a certified ISO9001 company they have implemented systems and procedures that guarantee a high standard for business communications across their entire business. When a customer orders food at any MacDonald outlet in the world, the nature of the interaction between the customer and the counter staff is always the same regardless of the country or location of the restaurant.

  • Create a swim lane workflow diagram to describe the flow of information that occurs in the conversation between the customer, the counter staff, the kitchen staff, the accounting system, and the point-of-sale computer system.
  • Identify how the basic principles of ISO9001 principles for quality management are addressed by this basic operating procedure.

1.4 Changes to Business Structure

Businesses today have unprecedented opportunities to rapidly address issues as they arise. Advances in such fields as Deep Machine Learning, Big Data analytics, Internet of Things, Collective Intelligence, Online Payment and Social Media are creating a reality that was only hinted at by the 1999 book Business at the speed of thought. (Gates 1999) Businesses that were market leaders in the past, but failed to keep pace with the changes, suddenly find themselves bankrupt and replaced by newer competitors. In 500BC, Heraclitus of Ephesus once penned the warning that “Change is the only constant in life” but he words ring true as an accurate description of today’s business environment. In recent years, there has have been reports world-wide of a philosophical shift toward post-modernism and its impact on human resources. Table 1.10 summarizes the changes that have been reported.

Table 1.10: Shift from traditional to post-modern values of employees
Characteristic Traditional values Post-modern values
  • Loyal to:
  • Organizational hierarchy
  • Mission, purpose and values of the organization
  • Problem solving:
  • Compliance
  • Create creative solutions
  • Approach:
  • Predictable
  • Adapt to change
  • Mode:
  • Efficiency
  • Effectiveness
  • Development:
  • Plan, Prescribe, Execute
  • Envision, Prioritize, Implement, Adjust

1.4.1 Open Organization

Since ISO9000 was first published in 1987, it has been revised and superseded by a long list of international standards that define and specify how various aspects of business, hardware, and software are to be implemented. Each new standard built on the principles already established and addresses the weaknesses of previous standards. (International Organization for Standardization 2015) While these developments help to ensure consistent service and quality at each level and division of a company, there were inconsistencies as customers interacted with the different departments. It was clear that that something else was needed to empower staff to embrace and enhance the vision and mission of the business as a whole, and to collectively design and implement creative solutions to challenges that arise.

When Jim Whitehurst became president of Red Hat, Inc., he attempted to address this problem. He started with the realization that “the best practices in creating open source software also translate well into managing an entire company.” By embracing open source values and creating a new open standard for communities, he showed how leaders could successfully create “a rebooted, redesigned, reinvented organization suitable for the decentralized, empowered, digital age.”(Whitehurst 2015) In creating the open organization, he and his colleagues have documented a paradigm shift that is changing in the way businesses are organized, managed and run.

Successful, innovative organizations demonstrate the following core principles which form the basis for the core elements of open organizations. (Whitehurst 2019) (See Table 1.11 While these simple principles are not new, they empower every employee at all levels to become engaged in the creative process of addressing challenges and new customer needs.

Table 1.11: Core principles of an open organization
Description of core principles
  • The best ideas come from anywhere.
  • The best ideas should always win.
  • Contribution matters more than title.

As simple as the core principles seem, it turns out that many organizations have trouble creating the level of trust and cooperation need to engage their workers in this way. The traditional hierarchies of most companies created a sense of distance between the workers and the management and initial attempts were meant with resistance both from workers and from management. The key was for management to take the first step in building trust and demonstrating a willingness to consider good ideas and suggestions from any levels within the organization.

Core elements of open organizations

Figure 1.5: Core elements of open organizations

The success at Redhat drew the attention of the Harvard Business School and RedHat became consultants in the movement towards Open Organizations. Although every open organization is unique, there seemed to a common core of elements that characterize open organizations. (See Figure 1.5) Each core element is contributes to teamwork and collaboration and changes the organization in in powerful and productive ways.

\(\triangleright\) Reading 1.4: Core elements of open organizations

  • Transparency: Workers have access to all pertinent information and willingly disclose and discuss their work. Workers can access and review the processes and arguments that lead to decisions and are free to comment and respond to them. Successes and failures are valued for the lessons they provide.
  • Inclusivity: Protocols and procedures are developed to encourage constructive discussion from diverse perspectives. Leaders actively seek to include voices not present in the dialog. Technology is used to ensure and encourage access to discussion forums.
  • Adaptability: Feedback mechanisms facilitate the flow of suggestions from members of the organization as well as customers and suppliers.
  • Collaboration: The organization adheres to the principle that working together produces better results. Products of development are made available to other projects to use creatively.
  • Community: Because all members of the organization are familiar with shared values and principles that guide decision making, all workers are encouraged and empowered to make meaningful contributions to the collaborative effort. Leaders mentor others and model shared values and principles.

Organizations that embrace the core concepts of open organizations soon discover that openness and transparency are necessary for success. Even an expert team of problem-solvers perform better when they know and understand the context and nature of the problems they are attempting to solve. At the same time, pursuing openness have led to important benefits and outcomes that changed the organizations in powerful ways as shown in Table 1.12. (The Open Organization Ambassadors 2017)

Table 1.12: Outcomes from adopting open organization principles
Description of outcomes
  • Greater agility: resulting from the synergy that arises when members share a common vision and work together toward common goals.
  • Faster innovation: because ideas from both inside and outside the organization receive more equitable consideration and rapid experimentation
  • Increased engagement: as members clearly see connections between their particular activities and an organization’s overarching values, mission, and spirit.

\(\triangleright\) Reading 1.5: Common distructive behaviours of IT graduates

Large IT development centers like Google, Oracle and Apple are becoming open organizations that encourage and value innovation. Each worker in those companies is expected to do his/her part in contributing to the development effort. However, young IT graduates find it hard to join and work in such organizations. Hence, new IT grads have a very high rate of turn over because they lack the experience in working in creative environments that solve issues quickly. This mismatch is also seen in the common destructive behaviors.(Short 2017)

  1. The phrase ‘I do not know’ is used as an excuse to absolve the worker from the responsibility to dig deeper and learn.

  2. Asking colleagues for answers is used as substitute for reading the manual or doing a proper search.

  3. The lack of testing opens the development to expensive failures by omitting rigorous testing and verification meant to build trust and confidence.

  4. Undisciplined coding practices create technical debt in the products which fail to handle all cases causing bugs and other problems that others will need to correct in the future.

  5. Young IT practitioners borrow and use technology widely without understanding it and contributing back to the community that created it.

Even the traditional studies in Computer Science has been evolving as the demands for mathematics, logic and statistic skills increase in an age when these courses are not popular. The resulting scarcity of trained IT staff have made expert level IT professionals some of the highest paid employees.

IT Jobs in High Demand within Data driven Businesses
Applications Developer Functional Analyst
Business Analyst Process Analyst
Business Architect Process Owner
Business Process Analyst Product Owner
Business Process Manager Project Manager
Data Analyst Requirements Engineer
Data Scientist Scrum Master
Digital Marketeer Systems Analyst
Enterprise Architect Systems Security Officer
Full Stack Developer

1.4.2 The changing nature of customers

Computer technology has always been sold as is and it has the responsibility of the consumer to test and verify whether the technology is appropriate for their application. Advances in technology have increased the ability to produce products as well as the range of functions. This has increased the expectation of customers and media have capitalized on this by focusing on the needs of individuals to indulge the self-centeredness of younger generations. The internet and social media expose individuals to a wider range of products and vendors to the point that any one person could properly examined and tested in a lifetime. This situation creates new desires and expectations in customers and increased competition among businesses and reduces business decisions to reflect reactions. At the same time, technology driven social changes are impacting markets, particularly as youth explore new careers, lifestyles, technologies, and life goals.

Table 1.13: Changing goals of Singapore youth
Goals of Singapore voters Goals of Singapore Youth
1. Career / Work 1. Emotional well being
2. Finance / Money 2. Personal skill development
3. Studies / Degrees 3. Family
4. Family 4. Finance / Money
5. House / Belongings 5. Spirituality

Changes in the life goals of youth have been accelerating since the 1940. Social and cultural changes were fueled by technological changes, urbanization, rise of social networking, changing career prospects and access to online information. Century long traditions have been replaced by newer methods that are faster and more convenience. This has also changed the goals and vision of youth worldwide.

\(\triangleright\) Discussion 1.3: Impact of changes in life goals on business

  1. How do you think changes in life goals of youth will impact the market place?

  2. Based on these changes, which products would be expected to have the greatest increases or decreases in demand in the next 10 or 20 years?

  3. What aspirations of Thai youth have changed in the last 10 years?

  4. What impact will these changes have on the Thai economy?

In a 2019 study, the most common indicators of success mentioned in conversation with Singapore voters in 2000 were compared to the list compiled from conversations with Singaporean youth in 2018. (Singapore National Youth Council Youth Conversations 2019), (Tan 2019) The results of these studies are shown in Tables 1.13 and 1.14.

\(\triangleright\) Discussion 1.4: Changing goals of success in Singapore

In 2019, the following results were obtains from Singapore youth ages 21-25. (Tan 2019) For the most part, the bottom goals of youth were top goals for their parents. Discuss how this shift in values and goals might effect the behavior of the market place over the next decade.

Table 1.14: Top 10 Life Goals Important to Singapore Youth
Goals Percent
Home ownership 70%
Strong family relationships 70%
Learning / acquiring new skills 62%
Successful career 59%
Earn lots of money 46%
Help less fortunate 41%
Contribute to society 40%
Get married 36%
Have children 35%
Good religious life 31%

Today’s businesses need to be as versatile and diverse as the customers and markets they serve. In the past, only businesses with a large customer base could to benefit from economies of scale. However, online services have made it possible for businesses to support mass distribution to millions of consumers and/or cater to the diverse needs of individual customers that number in the millions. Some companies Amazon or Lazada are able to do both at the same time.

Impact of social media on Brand and Product Marketing
Ways that social media impacts marketing
  • Word-of-mouth referrals from trusted acquaintances are powerful endorsements and attractions.
  • Customer testimonials are often decisive in purchasing decisions.
  • Community discussion of the products being developed increases trust in the company.
  • False testimonies are a significant problem: fakes entries attempt to oversell a product or provide complaints in an attempt to destroy opportunities for the company.
  • Online searches and discussions are becoming the primary source of information for most.

In addition, social media provide a forum for expressing opinions without being held accountable for the view expressed. Generally, the rewards for being liked help to regulate the web but increasing courts are given the power to litigate on defamation cases where rumors have caused damage.

\(\triangleright\) Discussion 1.5: Online ad strategies

Given the changes in the nature of the online market, discuss how the following approaches help to target the population to focus on those who are most likely to purchase. For each of these approaches, identify the nature of a particular market for which it would be more effective than the others.

  1. Search engine ads based on topics being searched (Google ad words)
  2. Social media ads based on shared views and ideas (Facebook ads)
  3. Personal profiling to drive the user experience at a website based on specific interests and preferences expressed (Google map ads)
  4. Banner ads on popular pages (Wikipedia ads)

1.4.3 Changing nature of business

It is clear that the retail companies in rapid growth are those who are able to upgrade the services of the traditional storefront into a more convenient, efficient and user-friendly setting that compliments the services available online. Banks have moved their services online and to ATM to increase the convenience of handling money while lowering operating costs. Online companies like Amazon have teamed up with traditional shopping chains like Target to allows customers the opportunity to compare, touch and feel products before purchasing them either in the shop or online. Online orders can be delivered to shops to reduce shipping costs. Amazon has even integrated such high tech features as AI, face recognition and sensor to change the user shopping experience.(Amazon.com 2016) Technology play a critical role in all of these developments.

\(\triangleright\) Discussion 1.6: New generation 7-11 (Seven Eleven)

View this news clip about a new Seven Eleven outlet that opened in Pattaya with a new look that is in keeping with the era of Thailand 4.0. The store is full of sensors, monitors and systems to create a modern, futuristic, efficient shopping and eating environment complete with innovations to improve energy-saving and user convenience. Watch the video (Suriyawong 2018) and list the number of ways computers have been used to change the user experience.

1.5 Online Commerce

In 2019, it is estimated that over 56% of the world’s population has access to the internet. There are 26.6 billion devices and 4.54 billion people are connected to the internet. It is estimated that 3.8 billion social media users. Facebook alone has well over 2.5 billion users each month. Google answers 65,000 searches per second. This is creating unprecedented levels of opportunity for marketing to huge markets world-wide. In the following graph, the number of users grows linearly while their revenues grow exponentially. (Statista 2019)

\(\triangleright\) Discussion 1.7: The mobile phone market

Review the statistics of the performance of leading mobile phone producers since 1994 [TNW2019] and discuss the following:

  • What factors contributed to the fall of market leaders?
  • How will President Trump’s technology embargo on China effect this market?
  • Is there room for new competitors in this market?

1.5.1 Growth of the Internet and e-commerce

As the following graph shows, the types of devices used to access the internet have also changed in the past decade.

The basic three Web site development options are:

  • Internal development: where company employees build and maintain the Web site. This builds web skills among the staff and gives a business tighter control and faster responsiveness for problem resolution, content management, and ongoing development.

  • External development or outsourcing: where the business hires another firm to build and/or manage the Web site. The desire for faster speed to market and better access to special expertise, especially in the Web site construction phase are often cited as decisive factors in choosing this option. Some companies do not have web savy staff and prefer to leave this important job to experts.

  • Collaborative development: in which business forms a partnership in web development. Depending on the nature of the site and the skills required, a mixture of internal and external development is possible and may be desirable especially when systems must support a wide range of mobile and web devices.

The trend has been to using mobile devices for shopping, and surfing for possibilities. There appears to be some resistance to using mobile devices to order online.

E-commerce activity by devices
Measure Computer Tablet Smartphone
E-commerce traffic 53.9% 12.4% 33.7%
Volume of Retail sales 76.9% 12.4% 10.7%

With the development of the world wide web in the 1990s, online commerce has been gaining advantage over corresponding brick and mortar firms. During the time of COVID-19 social distancing and lock downs, sales and services online soared. Most customers find it easy to shop online (See Table 1.15 and businesses find e-commerce websites to be far cheaper and easier to operate, upgrade and maintain than brick and mortar shops.

Table 1.15: Top named reasons for preferring to shop online
Reason for preferring to shop online
  • Ability to find detailed and decisive product information
  • Ability to shop 24x7
  • Ability to track the progress of order fulfillment
  • Ability to find and provide feedback through social media
  • Ability to review and choose items from a large catalog

However, the elderly are more resistant to adopt online shopping, but there is growing acceptance by the younger cohorts. For many businesses, the majority of the sales are from adults in their working years.

Per cent of user that shop online by age and frequency
Age Weekly Monthly Annually Never
18-29 35% 41% 24% 0%
30-39 37% 35% 28% 0%
40-49 23% 35% 42% 0%
50-64 17% 38% 45% 0%
>65 11% 31% 50% 8%
Business functions of e-commerce

Figure 1.6: Business functions of e-commerce

1.5.2 The e-shopping customer experience

As shown in Table 1.16, the process of shopping for goods online has many similarities to shopping at traditional brick and mortar shops. These similarities have contributed to rapid growth in online purchases which in 2018 totaled $2,489 trillion worldwide. This represents about 8.8% of all sales worldwide. (Saleh 2019)

Table 1.16: Comparison between physical and online shopping
Physical vs Online user experience for each stage of shopping
  • Finding the store
    • Physical: Ads and billboards
    • Online: Google / Facebook Ads; Referrals from blogs
  • Browsing items for sale
    • Physical: Window shopping; Exploring shelf contents
    • Online: Search the website
  • Scanning product information:
    • Physical: Check packaging and sales staff
    • Online: Internet searches and social media recommendations
  • Selecting items for purchase:
    • Physical: Places them in a cart or shopping basket
    • Online: Virtual transfer of items to the virtual shopping cart
  • Checking out items for purchase
    • Physical: The customer takes the shopping cart to the check out cashier
    • Online: The virtual cart is checked out creating a preliminary bill complete with shipping information
  • Preparing payment:
    • Physical: The customer swipes a credit or ATM card
    • Online: The customer logs into e-banking, or credit card services
  • Transferring funds to the vendor:
    • Physical: The customer signs the electronic receipt or pays cash
    • The customer verifies and authorizes payment
  • The financial institution sends payment verification:
    • Physical: ATM or Credit card service authenticates the transaction or cash given to the cashier
    • The financial institution sends a secure memo to the e-store that payment was made.
  • Sending a pick list to the warehouse:
    • Physical: The storekeeper faxes the order to the warehouse
    • Online: The fulfillment center is notified of the order and picks the items
  • Sending goods to the shipper:
    • Physical: The items are boxed and set aside for pickup
    • Online: The items are boxed and sent to the courier
  • Updating the order tracking system:
    • Physical: The customer number is displayed and called to claim order.
    • Online: The online system is customer can track the progress and location of the order.
  • Delivering the goods:
    • Physical: The counter staff checks the bags and hands them over
    • Online: The shipper delivers the goods the customers.
  • Taking possession of the goods:
    • Physical: The customer picks up the bags and leaves
    • Online: The customer signs for the goods and the transaction record is closed

Although e-commerce shopping continues to grow rapidly, brick-and-mortar stores are still holding up well versus online retail sites, as many people still prefer the in-store shopping experience where they can see and try out products before committing to a purchase. However in recent years, hybrid businesses have been a new strategic choice as such companies integrate online and brick and mortar services as a seamless process. Customers can choose and switch between online and physical functions depending on convenience, comfort and shopping preference. The IT systems help keep costs low and the physical location can double for both showroom and customer services such as training, installation, upgrading and repair.

\(\triangleright\) Discussion 1.8: Hybrid businesses

Online shopping giant Amazon has recently attempted to merge with Target a traditional department store chain. Explain why this merger is a good idea and what benefits both Amazon and their customers would expect to gains from it.

Although the store front and supporting technology continue to evolve, the basic principles of business will continue to drive business into the foreseeable future. At the same time, the role of e-Business continues to evolve the ongoing need for IT support of business processes that match and address the needs of customers with solutions that manages the full range of goods and services available in an efficient and effective manner.

1.5.3 Development Cycle

At its heart, e-Business is a basically a communication platform for businesses to reach out to their customers, staff, vendors and investors in an increasingly more competitive world. Research and development efforts are part of an ongoing quest to improve the quality of communication and the efficiency and effectiveness of activities. A key method for managing the change is a quality assurance technique that compares actual performance against planned expectations throughout the life cycle of the products and processes associated with the business. In the 1950s, Dr. W. Edwards Dening introduced a 4 stage development cycle to post-war Japan that was instrumental in creating a major surge in the Japanese economy. The cycle is popularly know as PDCA corresponding to 4 stages in a development cycle: Plan, Do, Check, Act (PDCA).

The stages of the Plan, Do, Check, Act (PDCA) Development Cycle.
Name and description of each stage
  • Plan: this phase establishes direction and expectations and ensures that both business process context and internal process design align with the organization’s strategic objectives.
  • Do: this phase deploys processes per the specifications developed in the “Plan” phase and to commit the process to operations.
  • Check: this phase measure process performance against performance expectations.
  • Act: this phase makes determinations based on the analysis of the Check phase and react accordingly. This allows for identifying adjustments for maintaining and/or improving process performance and integrity despite environmental instability or changes in technology.

As a business grows, the number of ongoing processes and development projects increases requiring new means to monitor the status and condition of all part of the business. Dashboards have become a popular means for displaying critical information in large qualities through indicators that basically have say “green is good, and red is bad, needing attention.” While dashboards provides instantaneously insights and a quick indication of the overall status, successful businesses a broader scope of analysis to track progress in all aspects of the business.

Quality control metrics
Class of high/low ranges of acceptable limits
  • Product metrics: Describes the product characteristics such as size, complexity, design features, performance, and quality level.
  • Process metrics: Describes the process characteristics such as customer satisfaction, Mean Time To Failure, effectiveness of defects removal.
  • Project Metrics: Describes the project characteristics and execution, includes resources allocation, cost, time, and productivity.
  • Business Metrics: Describes the business characteristics such as transaction volume, event reaction time, backlog, waste, material, profitability
  • Financial metrics: Describes cost of goods, savings from new solution, scrap, activity based costing, stability of costs
  • Legal metrics: Describes the legal implications of legal compliance, application of union terms, contract and handoff issues
  • Customer Experience: Describes the characteristics of customer interaction, such as user-friendliness of web/phone, usefulness of the help desk, error in distribution

1.6 Strategic planning

With the business environment constantly changing, it is essential to monitor the critical changes that impact the business and to execute measures that will help the business. Such is the purpose of strategic planning around insights gained by evaluating the nature of the business and its busiess environment.

1.6.1 SWOT Analysis

Although there are many methods to achieve this, the most popular focuses on the strengths, weaknesses, opportunities and threats (SWOT) The purpose of this analysis to better understand the position of the organization within its operating environment. By developing a clear understanding of its position within this 4 dimensional space, the business can set more realistic goals and targets.

The 4 dimensions of SWOT analysis
Area of focus Key issues
Strengths
  • What are you good at?
  • What are you doing well?
Weaknesses
  • What challenges do we face?
  • Where is there room for improvement?
Opportunity
  • Is there a condition that will lead to a new advantage?
  • Can a weakness be turned into a strength?
Threats
  • Are there any external or internal forces that might come against you in the near future?

1.6.2 Porter’s Five Forces

Michael Porter first outlined the five forces of competition in a 1979 Harvard Business Review article,(Porter 1979) and later in a book which has been extensively revised in later editions.(Porter 2008) Porter attempted to measure the forces that help to determine the competitiveness of a business and came up with a 5 point system for assessment. He discovered that the number and power of a company’s competitive rivals, potential new market entrants, suppliers, customers, and substitute products influence a company’s profitability. This system has often been used by investors to rate and compare competing alternatives within the market place. It is described in Table 1.17.

Table 1.17: Porter’s Five Forces of Competition
Porter’s Five Forces of Competition
  • Threat of new competitors: How easy is it to gain entry into this competitive space?
  • Threat of substitutes: Are there was to substitute for the product?
  • Bargaining power of the buyers: Will they have changes in income? Will they be in a position to buy?
  • Bargaining power of the suppliers: Are there changes in availability?
  • The competition among existing players: Is there room for another competitor? Is the competition fierce?

1.6.3 Five C’s of marketing

Another common measure centers around five key marketing criteria or better known as the Five C’s of Marketing Framework or the 5C Framework). The purpose of this framework is to analyze the environment in which a company operates and the goals is to provide insight into the key drivers of success, as well as highlight the risk exposure from various environmental factors. This framework helps to determine the viability of a business within a given environment by evaluating the growth and risk potential of business investments.(CFI Education Inc. 2020) The details of this framework are given in Table 1.18.

Table 1.18: Five Cs Marketing Framework
Area of focus
  • Company: Who are you; what do you represent; what are you selling and what are you all about?
  • Collaborators: Who helps us get the work done? e-commerce provider, credit card, supplier
  • Customers: Target audience; what motivated them
  • Competitor: who is trying to compete against you; who is operating in your competitive space
  • Climate: what are the forces beyond one’s control that will effect outcomes

\(\blacktriangleright\) Exercise 1.6: Strategic Investment

An investor wanted to invest in one of the large beverage companies in Thailand. Choose of one the 3 strategic planning measures described above to compare between Coke Cola, Pepsi Cola and Est and determine from publicly accessible data which company has the best capability for growth with the least risk. Create a spreadsheet of your findings within the strategic framework you chose. Add a summary paragraph to state your recommendation and describe your reasons for this conclusion.

1.7 A note about the effects of COVID-19 on business

This draft of this book was written during the months of social distancing in attempts to control the spread of COVID-19. While the numbers of new infections are beginning to wane, the economic effects of several months of lock-down and lower productivity are still not fully known. However, double digit rates are now seen in unemployment and in the losses in stock value. Companies that were quick to support customers online have done better than those who had to close their doors. This virus continues to rampage without a cost-effective cure and vaccine across America and Africa. It is clear to most economists, that whatever emerges from this crises will establish a new normal as world leader attempt to balance the need to restart economies and against the high mortality rate caused by this virus among the elderly world-wide. Successful businesses will need to act strategically in 5 dimensions to successfully weather the challenges of COVID-19: (Sneader and Singhal 2020)

  • Resolve: Businesses must take immediate action to address the challenges that COVID-19 represents to the workforce, customers, technology and business partners. They must avoid the toxic combination of inaction and paralysis and decide the scale, pace and depth of required action.
  • Resilience: While the pandemic metastasized into an economic and financial crisis, businesses need to stay afloat despite near term cash flow problems and find a long term position in a market place about to enter a depression of indeterminate size, duration and depth.
  • Return: Businesses need to create a detailed plan to scale quickly as the effects of COVID-19 become understood. This includes restaffing and training as business units resume operations.
  • Re-imagination: Businesses will need to develop skills to predict the nature and direction of the next normal and quickly adapt to the the required changes.
  • Reform: Businesses will need to adjust to changes in the customer expectations and needs, competitive environments, and government regulations

The company Worklytics analyzes data from Office365 and GSuite to determine trends in work patterns. Comparison of the usage of these office productivity tools prior and 9 weeks into the social distancing initiatives in Europe and America provides an opportunity to quantify the changes in work pattern due to working from home.(Arkcoll 2020a) The results are shown in Table 1.19.

Table 1.19: Work From Home COVID-19 metrics
Metric in April 2020 % Change Net impact
Recurring meetings 25 % \(\Uparrow\)
Meeting size 14 % \(\Downarrow\)
Focus time 8 % \(\Downarrow\)
Interruptions 34 % \(\Uparrow\)
Work day length 15 % \(\Uparrow\)
After-hours email 23 % \(\Uparrow\)
Work activity 27 % \(\Downarrow\)
Manager 1:1 sessions 10 % \(\Uparrow\)
Manager outreach 17 % \(\Uparrow\)
Overall collaboration 15 % \(\Uparrow\)
COVID-18 induced changes in Work locations

Figure 1.7: COVID-18 induced changes in Work locations

In the initial months of work-from-home lockdown, most businesses were caught by surprize and the productivity dropped. However, as new software was installed and people became more comfort with online communications, productivity for most offices quickly rose to 20% higher than the pre-COVID-19 levels. Survey among leader in the recovery have found a number of remedies were essential to this recovery which are listed in Table 1.20

Table 1.20: Common techniques used to improve operations during work from home (Adapted from (Arkcoll 2020b))
Measures to improve work from home operation
  1. Rapidly implement new tools and tech
  2. Encourage managers to check in with their teams
  3. Maintain cross-functional connections
  4. Host virtual social events regularly
  5. Find ways to support parents without childcare
  6. Monitor employee well-being
  7. Actively encourage work-life balance
  8. Ensure that HR teams are actively engaged and reaching out
  9. Ensure senior leaders remain highly visible and engaged

Studies in June 2021 showed that productivity while working remotely from home is better than working in an office setting. On average, those who work from home spend 10 minutes less a day being unproductive, work one more day a week, and are 47% more productive. 77% of those who work remotely at least a few times per month show increased productivity, with 30% doing more work in less time and 24% doing more work in the same period. (Apollo Technical LLC 2021)

\(\triangleright\) Reading 1.6: Key Benefits realized from COVID-19 Work from Home Lock-downs

1.8 Key takeaways from experience with work from home (Adapted from (Arkcoll 2020b))

  • No commuting time. On average, a worker saved 8.5 hours a week of free time by not commuting to work. This adds up to 408 hours per year. This translated to more time free for hobbies such as gardening or raising backyard chickens.

  • Less water cooler talk. Working from home minimizes the amount of social interaction. However, scheduled online social events and team building exercises helped to build contacts and relationships that are so important for getting work done.

  • More Exercise. The lack of commute and less opportunity to socialize allowed remote workers more opportunities for regular exercise and found the activity made them feel healthier and less stressed.

  • Maximum productivity. Studies have shown that 86% of employees prefer to work by themselves when they are trying to be as productive as possible. As a result, workers found they could get more done from home.

2 MODELING BUSINESS AND ITS PROCESSES

Leave approval using Joget

Figure 2.1: Leave approval using Joget

This chapter will explore some common approaches used to model the network of interactions that occur for business processes. These models not only help to provide deeper understanding of the nature of a business process but can facilitating the development of systems to collect and analyze the data associated with the process.


2.1 The Model View Controller Framework

Model–view–controller (MVC) framework was introduced as a software design pattern for developing online applications. The goal is to structure an application around the main actors and objects to be managed by the application. As shown in Figure 2.2, a web based transaction is modeled in discrete stages where the incoming message is interpreted by the controller which then queries the database and hands the information over to various function that that carry out the appropriate business logic and update the database. The resulting data is then transferred to the view which transforms the output into the appropriate format. This framework simplifies the interfacing between HTML objects, database fields, business logic and business logic functions.

The basic steps of a MVC transaction

Figure 2.2: The basic steps of a MVC transaction

2.1.1 Key components of MVC systems

An MVC framework accomplishes its task by split up the business logic, database access and presentation into small functions whose accuracy can be verified in individual unit tests and integrity tests. In addition, security of such web applications is often achieved by authenticating the identity of the users and check the authorization for the various functions used against the role of the user. MVC Frameworks have been used to develop web, mobile and desktop applications, operating on client and/or server side CPU. The main components

  • Model: Defines the structure and nature of data used by the system includes permissions, validation and list of field attributes.
  • View: Renders outputs according to the limitations of the media such as web, email, SMS, mobile, graphic image, JSON and XML.
  • Controller: Parses the user request into data queries and passes the response to the appropriate view. User requests are generally variants of the standard types of database functions: create, show, edit, update and delete.
  • Helpers: calculates basic conversions including support for business logic, foreign language support, and translation between standards.

2.1.1.1 The Data Model

The model component defines the data objects of the application and maps between fields on forms, reports and databases. The Model also has functions that implement the standard links in an Entity Relationship Diagram that defines the database that drives the app.

Entity Relation Diagram of EZ-Blog

Figure 2.3: Entity Relation Diagram of EZ-Blog

Ruby on Rails was designed to implement an ERD quickly and conveniently. The 4 tables as well as all the basic database functions needed to create, retrieve, update or destroy records (CRUD) can be achieved with the following rails shell scripts. These command establish the model, databases, controllers and the supporting view functions.

rails generate scaffold user name:string \
  password:digest lastlogin:date 

rails generate scaffold author fullname:string \
  email:string organization:string city:string \
  country:string avatar:integer status:integer \
  user:references
  
rails generate scaffold post author:references \
  title:string body:text

rails generate scaffold comment post:references \
  author:references body:text

Ruby on Rails automatically generates a draft of a web application that provides CRUD functions for all of the classes of objects. It is then up to the developer to convert this into an application by adding functions, security, graphics and templates. For many projects, Ruby on Rails writes nearly 60% of the code and helps to automate the generation of unit tests needed to verify the integrity of the software under development.

The active page of EZ-Blog

Figure 2.4: The active page of EZ-Blog

The comparative statistics of the lines of code (LOC) in the generated and the final version of EZ-Blog, a working Ruby on Rails application developed for this course.9

Comparative Statistics of the generated and final versions of EZ-Blog
Name LOC org / fin Classes Methods
Controllers 202 / 309 5 / 7 36 / 46
Helpers 10 / 24 0 / 0 0 / 2
Jobs 2 / 2 1 / 1 0 / 0
Models 16 / 182 5 / 5 0 / 4
Mailers 4 / 4 1 / 1 0 / 0
Channels 8 / 8 2 / 2 0 / 0
Views 374 / 586 5 / 5 35 / 37
JavaScript 8 / 8 0 / 0 0 / 0
Controller tests 152 / 202 4 / 6 28 / 35
Model tests 12 / 37 4 / 4 0 / 3
Channel tests 3 / 3 1 / 1 0 / 0
System tests 160 / 160 4 / 4 16 / 16
Total 951 / 1525 27 / 31 80 / 106

Ruby on Rails provides a function to analyze the relative distribution of functionality between the different parts of the system. Ideally, the system should be developed with the code equally dispersed between controllers, helpers, models and views. The following graph shows this analysis for EZ-Blog.

Distribution of code between the components of EZ-Blog

Figure 2.5: Distribution of code between the components of EZ-Blog

The relationships within the ERD are specified in the model definition files of the Rails app. The following lines of codes also provide additional functionality that allow users to query the database along the links of the ERD. Ruby on Rails implemented these relationships in SQL using joins of data tables. This table of class relationships is parallel to the ERD shown above.

ERD relationships between EZ-Blog classes
Model Rails specification
user
  • has_one :author
author
  • belongs_to :user
  • has_many :posts
  • has_many :comments
post
  • belongs_to :author
  • has_many :comments
comment
  • belongs_to :post
  • belongs_to :author

These ERD specifications establish the ERD relationships and add new functionality for accessing data. This increases the ability of the developer to access collections of objects as needed.

Rails expressions for accessing data about User 2
Rails expression Explanation
User.find(2)
  • returns the User record of the User 2
User.find(2).author
  • returns the Author record related to User 2
User.find(2).author. posts
  • returns a list of all comments written by User 2
User.find(2).author. comments
  • returns a list of all comments written by User 2
User.find(2).author. posts.first. comments
  • returns a list of all comments to the first post written by User 2
User.find(2).author. posts.collect do \(\quad\) |post|\(\quad\) \(\quad\) [post.title, \(\quad\) post.comments] end
  • returns an array of all comments for each blog written by User 2
Role based security for EZ-Blog

Figure 2.6: Role based security for EZ-Blog

Role based authorization are used to what Access to the CRUD services generated by the CMV Rails generator for each of the classes is automatically controlled by role-based authorization. As the user logins in, the user’s role is retrieved from the database. The role will determine the range of activities that the user is permitted to use. The permissions are enforced by roles checking in the controller and views to restrict what the user sees and can do with the database.

Use case for Unregistered Users

Figure 2.7: Use case for Unregistered Users

Use case for Registered Users

Figure 2.8: Use case for Registered Users

Use case for Authorized Users

Figure 2.9: Use case for Authorized Users

Common security procedures of online services
Level Description
1 Simple authenication with a login and password
2 Role based authorization of functions
3 Verified authenication via email or SMS
4 Single use passcode sent via email or SMS
5 Encryption key via security certificate
6 Dynamic encryption via an external dongle
7 Speech or Facial recognition
8 Biometric scan of iris or finger print

The model also supports the functions that validate the data. All attempts to store or update information in the database must pass the validation functions. It is generally expected that the controller will redirect failed attempts to update the database back to the user to update the form with valid data.

Data validation of the Author model in EZ-Blog
validates :fullname, :email, :country, :avatar, presence: true
validates :email, format: {with: %r{\A.+\@.+\.[a-z]+\z},
\(\quad\) message: 'must be a valid email' }
validates :avatar, inclusion: {in: 0..AVATARNUM}
validates :status, inclusion: {in: 0..(STATUS.size)}
validate :validcountry?
2.1.1.1.1 Unit testing

Unit testing is part of Ruby that attempts to ensure that every part of the system performs as expected. Every function must be designed and tested to ne able to handle valid data as well as recover from gracefully from inappropriate input. The goal is to prevent the system from crashing and results in reliable and dependable service. To this end, every method and validation needs is tested against both good and bad input. As each function is developed, a corresponding unit test is also written. This approach to development to saves time in the long run as it build robustness in new functions as they are added and ensures that old code is still working as the system is refactored to adjust to new functionality beyond the original design.

For example, the methods defined in the class definition of SimpleNumber provide functionality for the objects of this class. Errors need to be trapped and handled in a way that will not crash the system.

class SimpleNumber

   def initialize(num)
       raise unless num.is_a?(Numeric)
       @x = num
   end

   def add(y)
     raise unless y.is_a?(Numeric)
     @x += y
   end
end

Unit testing can be used to check the methods to ensure that responses conformed to expected behavior. This class is dynamically typed and will work with integers, real, and big numbers. Characters and nil will raise exceptions.

require_relative "simple_number"
require "test/unit"

class TestSimpleNumber < Test::Unit::TestCase
  def test_simple
    assert_nothing_raised(SimpleNumber.new(2)
    assert_nothing_raised(SimpleNumber.new(0.2)
    assert_nothing_raised(
       SimpleNumber.new(222222222222222222222222222222))
    assert_raise(SimpleNumber.new('a')
    assert_raise(SimpleNumber.new(nil)
    
    assert_equal(4, SimpleNumber.new(2).add(2) )
    assert_equal(0.4, SimpleNumber.new(0.2).add(0.2) )
    assert_equal(444444444444444444444444444444, 
       SimpleNumber.new(2).add(222222222222222222222222222222))
    assert_raises(4, SimpleNumber.new(2).add('a') )
    assert_raises(SimpleNumber.new(2).add(nil) )
  end    
end
Common Ruby unit test assertions
Assertion function Contra-assertion function
assert(boolean) ---
assert_equal( expected, actual) assert_not_equal
assert_match( pattern, string) assert_no_match
assert_nil( object) assert_not_nil
assert_kind_of( class, object) ---
assert_same( expected, actual) assert_not_same
assert_raise( Exception,... ) {block} assert_nothing_raised
assert_throws( expected_symbol) {block} assert_nothing_thrown()

2.2 Behavior driven Development

Behavior driven development (BDD) is an attempt to bridge the gap between the end user and the developer. It has emerged as a standard means for recording scenarios of a user story in natural language which can be parsed and tested. This allows the end user to state clearly the required features to be developed. The specifications are then used to test the program and can serve as the list of functionality required before the software will be accepted. This approach focuses the attention of the developers on the exact requirements of the user which is a critical component of Agile development. The language of Cucumber has been developed to capture this technique in over 30 languages of the world including Thai.

The basic components of a user story
Description Format Example
Context As a role As the supervisor
Query I want to task I want to Add new staff
Goal so that expected outcome so that names appear on the staff list

Advantages:

  • Single source of truth: Specifications, tests and documentation are in the same document.
  • Living documentation: Because they’re automatically tested by Cucumber, your specifications are always bang up-to-date.
  • Customer focus: Cucumber helps business and IT collaborate to build a shared understanding of the business goals

(Consortium 2019) supports Behaviour-Driven Development(BDD) by reading executable specifications written in plain text and validating that the software does what those specifications say. The specifications consists of multiple examples, or scenarios written in Gherkin. (Cucumber 2019)

Cucumber is implemented with Gherkin a simple language consists of 12 words used to describe scenarios.

Keywords of Cucumber Scenario description
Classification Gherkin Keywords
Identification Feature
Start of scenario Scenario, Scenario Outline
Steps/Context Given
Event When
Expected outcome Then
Collectives And, But
Description Background
Examples Combinations
Strings "..."
Data tables |
Tags @
Comments #

2.2.1 A working example of specs in Cucumber

The BDD process begins with a statement of the scenarios related to a feature. Each feature has its own file with the extension .feature. In this simple example we will start with a feature that alerts users when it is Friday. Initially, the system will test 2 scenarios.

Feature: Is it Friday yet?
  Everybody wants to know when it's Friday

  Scenario: Sunday isn't Friday
    Given today is 'Sunday'
    When I ask whether it's Friday yet
    Then I should be told "Nope"

  Scenario: Friday is Friday
    Given today is 'Friday'
    When I ask whether it's Friday yet
    Then I should be told "TGIF"

The Running cucumber results in a framework for the step definitions which can be copied to a Ruby file. (Stage 0) Rerunning the analysis provides confirmation that the test harness is in place. (Stage 1)

Given('today is {string}') do |string|
  pending # Write code here that turns the phrase above into concrete actions
end

When('I ask whether it's Friday yet') do
  pending # Write code here that turns the phrase above into concrete actions
end

Then('I should be told {string}') do |string|
  pending # Write code here that turns the phrase above into concrete actions
end

At this point the corresponding helper module can be created. This is the code that will eventually become a helper function used in the production system.

module FridayStepHelper
  def is_it_friday(day)
   'Nope'
  end
end

At the same time, the pending calls in the step definions need to be replaced by Ruby call to parse the test and access the appropriate functions. (Stage 2)

require 'minitest'
require 'fridaystep.rb'

Given("today is {string}") do |given_day|
  @today = given_day
end

When("I ask whether it's Friday yet") do
  @actual_answer = is_it_friday(@today)
end

Then("I should be told {string}") do |expected_answer|
  assert_equal(expected_answer,@actual_answer) 
end

The module needs to be improved to handle different cases. When run it now handles all the proposed scenarios. (Stage 3)

module FridayStepHelper
  def is_it_friday(day)
    case day
    when 'Friday'
        'TGIF'
    when 'Monday','Tuesday','Wednesday','Thursday','Saturday','Sunday'
         'Nope'
    else
         'Invalid'
    end
  end
end

The client at this point may introduce additional scenarios that can be added to the test proceedures. The results uncover new problems. (Stage 4)

Scenario Outline: Today is or is not Friday
    Given today is '<day>'
    When I ask whether it's Friday yet
    Then I should be told '<answer>'

  Examples:
    | day            | answer  |
    | Friday         | TGIF    |
    | Sunday         | Nope    |
    | Monday         | Nope    |
    | monday         | Nope    |
    | friday         | TGIF    |
    | anything else! | Invalid |

The new scenarios identify the need to control the capitialization of the names of the day which is easily fixed by changing the case switch object for day.capitalize. (Stage 5)

Cucumber analysis throughout BDD
Stage Scenarios Steps Time
Stage 0 2 (2 undefined) 6 (6 undefined) 0.016 sec
Stage 1 2 (2 pending) 6 (4 skipped, 2 pending) 0.023 sec
Stage 2 2 (1 fail, 1 pass) 6 (1 fail, 5 pass) 0.013 sec
Stage 3 2 (2 pass) 6 (6 pass) 0.013 sec
Stage 4 8 (2 fail, 6 pass) 24 (2 fail, 22 pass) 0.027 sec
Stage 5 8 (8 pass) 24 (24 pass) 0.022 sec

Using BDD results in robust, tested code that meets the required functionality. The system allows the functionality to be developed incremented as human readable code.

2.3 Business Process Model (BPM)

Modeling allows one to simulate and measure a complex process. This provides an opportunity better understand the interaction between key components of a system. This information allows for the development of better monitoring and management of complex systems. In fact, business modeling currently is currently used to identify, design, execute, document, measure, monitor, and control business processes. This applied to both automated and non-automated business processes. The information gain help to achieve results aligned with an organization’s strategic goals.(Benedict 2018) At its core, a business model must be able to capture all the interactions between the actors, resources and actions within a workflow. While most of these interactions are simple steps that take time, but others depend on important conditions and requisites.

Although there are many ways to model business process have been many attempts Business Process Model Network 2.0 or BPMN 2.0 has emerged as one of the most popular and complete standard. The 2.0 standard provides the business community with common set of 103 symbols and well as a standard language for communicating the details of individuals processes and functions within a workflow. As more tools that support BPMN 2.0 emerge, this standard becomes a standard for the design, communication, execution and analysis of a process model. This makes process models re-usable which can be exported from system and imported into another and across tools. Transforming the visual model into an execution language creates new opportunities for developing functional control and support systems based on proven and tested work flows.(Benedict et al. 2013)

\(\triangleright\) Reading 2.1: Key reasons for modeling business processes with BPMN

The key benefits from using BPMN to model business processes. (Camunda Corporation 2018b)

  • Recognized Standard: BPMN is owned by an institution and is supported by many software products. Third party BPMN editors are available in the form of desktop apps like yEd (yWorks 2018) or online services like Camunda. (Camunda Corporation 2018a)
  • Simplicity: BPMN is based on a system of graphic symbols that easy to learn.
  • Power of expression: BPMN reduces descriptions of complex process work flows to a graphic model that is easy to grasp.
  • Implementation in IT: BPMN was developed to support technical implementation of processes (“Process Automation”). The more important IT becomes in a company, the more helpful BPMN can be, especially when process changes can be accomplished by a simple change of line.

2.3.1 A brief introduction to BPMN

Figure 2.10 uses BPMN symbols to depict a simple transaction which is activated by an event. Events that initiate the process (such as a messages, scheduled time slot, special conditions) are displayed in green circles. The task icon (rounded rectangle) represents the work to be done. Upon completion, the task could be used to trigger events or even subsequent tasks in the process. Terminal events/conditions are shown as a dark red circle.

A simple process captured in BPMN

Figure 2.10: A simple process captured in BPMN

Tasks can be chained together to describe a sequence of tasks that need to be completed in order. Thus, the tasks will progress until the terminal state has been achieved.

A simple BPMN sequence

Figure 2.11: A simple BPMN sequence

Processing control is achieved in a number ways depending on the number of alternative paths being controlled. Decision points rely on triggers, variables set by task or sensor values to control the workflow.

A purchase decision process

Figure 2.12: A purchase decision process

2.3.2 Events

Common event symbols

Figure 2.13: Common event symbols

Events are used to trigger the next stage or state of the process. For example, the receipt of a message or an order initiates the entire process or the sending of goods to the customer could signal a successful completion or the end of the process. Initial events are displayed in green and terminal events in red. Clocked or timed events automatically trigger according to scheduled time. BPMN systems often use timed events to monitor progress and to the escalate a service step if progress has been the calendar.

2.3.3 Tasks and data handling

Task symbol

Figure 2.14: Task symbol

Tasks depict a unit of work to be done by particular group or service. A completed tasks will trigger a sequential task in the sequence or can be used to trigger events or activate gateways. Traditionally, tasks are shown as rounded rectangles that are labeled with a descriptive phrase in the form [verb] + [object]. For example, Acquire groceries would be preferred over a statement like First take care of shopping for groceries.

When BPMN are active systems for managing the Business processes of a business, a task can generate an number of by-products including

  • Data objects: a collection of process attributes and variables. This would include such things as the details of the customer order, list of administrative approvals, and other data that is collected in the process of completing all the tasks of a process. These attributes are used by gateways to control the processing. Tasks manipulate data objects in the following ways:

    • create a new data object for the current job or service
    • output for other services
    • input to load data from other servers and/or a web form
    • store to keep immediate data on the working database server.
Data object symbols

Figure 2.15: Data object symbols

  • Messages: used to communication with other servers and services. Messages are often sent between entities within in the company to help synchronize information between services. For example, messages are sent as as a proof of payment, acknowledge of a successful completion or general notification that a process has been terminated due to a lack of funds. In situation where information is incomplete or a task has failed, a request for a message is sent out as an attempt to trigger a retry, reset or act as a request for more information. The reply to such message requests are usually handles as message event.
Message symbols

Figure 2.16: Message symbols

2.3.4 Gateways

Common gateway symbols

Figure 2.17: Common gateway symbols

Gateways are used as control elements within a BPMN. The control is achieved as decisions based on the outcome of milestones achieved or the outcome of earlier processes. As such gateways are always described as something that has already happened. For example, hunger noticed is better when I begin to feel hungry. The most common gateways structures are described below:

  • Decision Gateway: initiates the appropriate action stream based on a logic function in a manner similar to IF() THEN ... ELSE ... in most programming languages

  • Exclusive Gateway (XOR): attempts the first of many action streams and finishes the first action stream can be successfully completed. If this fails, the subsequent action streams are attempted one at a time, until one succeeds.

Cutting the grass: Exclusive gateway

Figure 2.18: Cutting the grass: Exclusive gateway

  • Inclusive Gateway (AND): initiates a list of action streams one at a time and waits until each stream is completed before the subsequent action streams are attempted. This gateway is paired with a second gateway symbol that is used to pause further processing until all previous streams of processes have been completed. As such, this gateway acts like an logical ADD function.
Cutting the grass: Inclusive gateway

Figure 2.19: Cutting the grass: Inclusive gateway

  • Parallel Gateway: initiates multiple action streams simultaneously and waits until all streams have been completed.

\(\triangleright\) **Reading 2.2: Decision rules supported by BPMN

One of the biggest problems that plague most companies arise because business rules are not well defined or followed. Few companies really understand their operating rules or have them formalized—especially low‐level business execution and decision rules. In most companies, rules simply do not work the way many think because those who do the work often find creative ways to get the job done and so they interpret and change rules constantly according to their knowledge, skill and convenience. However, BPMN systems can model and enforce the full range of decision making processes associated with the business logic associated with running and managing businesses. Once implemented, the input and output of each decision point can also be recorded and analyzed. Thus, BPM becomes a means for tracking, testing and optimizing business logic.

Types of rules supported by BPMN
Description of rule type
  • Business operation rules: Issues about cash flow, coordination with partners, collaborative projects
  • Decision rules: Logic rules
  • Flow sequencing rules: Sequence specifications and contingencies
  • Procedural and Policy rules: Work and maintenance rules
  • Data use/security rules: Data triggers, filters and sensor variations
  • Access security rules: Distribution and access to data
  • Monitoring and reporting rules: QA testing for variation
  • Technical rules: data calls, data transformation, operational parameters, application interfaces, etc.
  • Legal rules: Stakeholder requirements, contract conditions, hiring guidelines
  • Financial rules: Issues about cash flow, mortgage, discounts, tax rates, employee benefits and investment
  • Monitoring and measurement rules: Monitoring frequency, sensitivity settings
  • Regulatory rules Environment, health and occupational health standard as well as reporting requirements

2.3.5 Swimlanes

Swimlane symbols

Figure 2.20: Swimlane symbols

Swimlanes are the convention used to designate the responsibilities for each of the subgroups of workers and services within the business. In active BPMN systems, reassigning tasks is done by moving task symbols from one swimlane to another. This graphic representation of BPMN provides an opportunity not only for rapid design and specifications of a workflow but also increases the flexibility of the system to make adjustments as functions and responsibilities are redistributed various groups within the enterprise. Changes in staffing and departmental boundaries is simply a matter of moving tasks to new swimlanes.

2.3.6 Sample Business Process Models

Order Fulfillment Processing

Figure 2.21: Order Fulfillment Processing

Book checkout at the library

Figure 2.22: Book checkout at the library

Entity Relation Diagram of EZ-Blog

Figure 2.23: Entity Relation Diagram of EZ-Blog

Pizza shop

Figure 2.24: Pizza shop

Correcting a bug in process flow

Identify and correct the flaw in this process so that the grass can be weeded, cut and watered in that order but only as required.

2.3.7 yED Graphic editor

The yEd graphic editor provides a useful palette for describing the most common range of business processes using approximately half of the standard BPMN objects. Business processes captured by this editor are recorded in a GRAPHML dialect of XML as a sequences of nodes, edges and swimlanes.

Like most BPMN Graphic editors, yEd captures the model in XML. Although most of the XML file is used to specify the graphic appearance of the BPMN graphic representation, the file also contains the essential information needed to specify a working model of the business process. This information can be extracted and used to drive services and simulate operations to gain further insights concerning the operational parameters of a business. The model given in Figure 2.25 is given here as an example.

Mail order processing

Figure 2.25: Mail order processing

2.3.8 XML Representation

The following code was been extracted from the Graphml file that corresponds to Figure 2.25. In this datafile, BPMN elements are given as nodes and the connections between them are represented as edges. The swimlines are calculated from the vertical position of the elements on the graph.

<graphml>
   <pool height="270.5" width="448.5" x="49.5" y="93.9">
      <label>Order processing</label>
      <rows>
         <row height="86.0" id="r0">Accounting</row>
         <row height="81.0" id="r1">Sales</row>
         <row height="80.0" id="r2">Warehouse</row>
      </rows>
   </pool>
   <nodes>
      <node id="n0" type="ACTIVITY_TASK" height="55.0" width="85.0"
       x="205.5" y="133.0">Cash cheque</node>
      <node id="n1" type="ACTIVITY_TASK" height="55.0" width="85.0"
       x="278.05" y="218.0">Process order</node>
      <node id="n2" type="ACTIVITY_TASK" height="55.0" width="85.0"
       x="340.5" y="303.5">Package item</node>
      <node id="n3" type="EVENT_START" height="30.0" width="30.0"
       x="145.5" y="145.7">Prepaid order recieved</node>
      <node id="n4" type="EVENT_TERMINATE" height="30.0" width="30.0"
       x="455.5" y="315.5">Items sent</node>
   </nodes>
   <edges>
      <edge id="e0" source="n3" target="n0"></edge>
      <edge id="e1" source="n0" target="n1"></edge>
      <edge id="e2" source="n1" target="n2"></edge>
      <edge id="e3" source="n2" target="n4"></edge>
  </edges>
</graphml>

Most legacy business applications were designed to support a particular aspect of work. They were designed to to handle repetitive tasks over am active stream of transactions. Today, BPM is used not only to support transactions, but also to manage the work. As such BPM applications can control the flow of work and how that work is done or should be done. This includes workload assignment, workload tracking, workload balancing, workload aging, error identification, performance management, reporting and more. By automating the BPMN, each stage of the process can be monitored, simulated and studied. The following figures depicts simulated data of the time required by each of 10,000 transactions.

Fulfilling customer postal orders

Figure 2.26: Fulfilling customer postal orders

Time required for each stage of the process

Figure 2.27: Time required for each stage of the process

2.3.9 Production BPMN systems

In production systems, BPMS is a suite of tools that form an environment for running and managing the Business. The business process models are built of BPMN symbols which represent tasks, decisions, and automated actions. Worker logs into an BPM application system where the models and rules are executed. Because each process is recorded, the BPMS allows for tracking progress, assessing performance, updating a dashboard, and developing regular reports.

knitr::include_graphics("images/BPM.png")
Components of a BPM system

Figure 2.28: Components of a BPM system

With recent advances in Big Data analytics and visualization, business computer systems have been adjusted to collect extensive information to better understand the context and nature of business. These data can be subjected to data mining and artificial intelligence to gain insights to improve operations, reduce costs and improve customer experience. To this end, standards have emerged to help determine the level of sophistication of BPMN services and software.

Maturity of Business Process Models
Level name and description Management
Level 1: Aware– Processes are manages within the individual unit or department Minimal cross-functional participation
Level 2: Defined– Process documentation is owned and updated; shared understanding across business groups Informal process planning
Level 3: Aligned– Processed are owned with common goals and objectives across broader business unit. Collaboration on process change
Level 4: Integrated– Processes managed with single owner and common vision Process objectives aligned and continuously improved
Level 5: Optimized– Process managed consistently at the enterprise level change is simulated across the end to process

2.4 Joget Workflow and Joget DX

Joget was started as the open source Joget Workflow project on SourceForge in 2009. Initially Joget was designed as a workflow engine for business process automation. Since then, Joget has evolved into a full-fledged application development platform in 2011 with the release of Joget Workflow v3. Joget DX (Digital Transformation) became the successor to Joget Workflow as it represents a major redesign to combine the best of business process automation, workflow management and low code application development in a simple, flexible and open platform. The resulting web app is device aware and can be integrated in the business operations.(Joget Community 2017)

Business web app running on Joget

Figure 2.29: Business web app running on Joget

Joget was designed to support rapid application development, Business Process Automation and Workflow Management. Using visual programming, users can build, modify, run and maintain apps. Plugins allow developers to extend and integrate the platform. The resulting apps are integrated with databases that provide operational information needed for process analytics and optimization. In addition, the work flow engine and the processes can be monitored in dashboards to facilitate the management of the business.

The Joget editor supports a subset of the BPMN symbols that can be linked together in swimlanes that represent the work units within the business. This tool provides an effective visual programming environment for linking forms, functions, events and processes together in a graphic that can be adjusted and updated..

Joget BPM editor

Figure 2.30: Joget BPM editor

The combination of development tools with the runtime server helps to streamline the process of developing and deploying the app that supports the workflow. The following stages represent the most efficient and effective way to develop Joget apps. An concise example of Joget app development is available online:10

  1. Establish the New App: creating a name and account for it on the Joget server. At the same time, it is important to choose appropriate values for limits on cloud servers resources, namely bandwidth, cpu load and size of active memory.

  2. Design the Forms: use the form builder to create the HTML forms that will be used to capture and display critical information and decisions related to a workflow. The data fields of the form also creates corresponding fields in the app databases and links to control variables that will be used to control the workflow.

  3. Develop critical Lists: use filters of the databases to create process related data sets that hold the options, inventory of products, role of individual workers, timing, etc.

  4. Design the User view: provide the help screens, navigation and links to forms.

  5. Design the workflow: specify the functions, variables, and decisions that govern progress through all the tasks in a work flow.

Joget also supports engine monitoring and workflow dashboarding to provide insight as the status of the business and the early warning of anomalies that would impact business.

Joget BPM workflow engine monitor

Figure 2.31: Joget BPM workflow engine monitor

2.5 BPMN Model Simulation

BP Model simulators allow process designers to test their model. The general approach is to use a task generator that creates and processes tasks at rates equal to the measured performance in the work place. Data is collected to measure the rate of utilization and work flow at all stages of the model in order to identify issues like bottlenecks and irregularities in the work loads of individual employees. Simulation test are usually conducted in 3 phases:

Stages of Simulation Testing
Stage Description Purpose
Modeling Simple visual model of the business process
  • Specify the individual roles and the business logic of the process
Simulation Run task generation and execution according to measured performance
  • Test the model based on work place rates of service
Analysis Creates a dashboard of performance indicators
  • Verifies process design
  • Identifies opportunities for process improvement
  • Helps to maximize employee utilization
  • Provides for performance-based estimates of cost

Online services such as http://www.bpsimulator.com provide a useful means for testing a process design through the display of the model, test results dashboard and performance indicators for each stage of the process. The design is actually a translation of a BPMN model into a Event-driven Process Chain (EPC). However, additional key details are required to quantify the capacity and number of resources available. These details are saved in the attributes for each node as shown in the next section.

2.5.1 BP Simulator Model Components

The BPSimulation uses a subset of BPM objects to specify a working model that could be used to test a model for potential bottlenecks.(Business Process Simulator 2018)

Main classes of BPMN Objects used in BP Simulation
Objects of BPSimulation
  • Function: Set of targeted actions to be performed by one or more executors in their respective roles. Examples: Repair of water supply, Accept payment, Send message. Key parameters: time required to complete function, unit cost.
  • Executor: Position or role of those responsible for the execution of the function. Examples: waiter, cashier, manager, mechanic. Key parameters: number of available workers, Cost per hour, Operating hours
  • Resource: Service or tools needed to perform the function. Examples: pumps, computer software, workstations. Key parameters: Number, Cost of using of the resource
  • Tasks Generator: Generator global tasks/events of the business process of a certain type within the simulation purposes. Examples: Client request for a loan, Received customer complaint. Key parameters: Number, Operating periods.
  • Checkpoint: Auxiliary element for monitoring the process parameters at different stages its execution and control of tasks flow. Examples: Transaction approved, Process terminated by failure. Key parameters: Number of instances
  • Event: Cause or an intangible result of a function. Examples: Client visit, Order received. Key parameters: frequency
  • Regulate: Regulate document directly related to the order, conditions or results of the function. Examples: Procedure manuals, Federal law. Key parameters: Limitations, Threshold
  • Input: Material or information necessary to perform the function. Examples: Form; Statement
  • Output: Material or information generated or acquired additional properties as a result of the function. Examples: Classification, Conclusion
  • Procedure: Set of performance features for a particular purpose. Examples: Passed QC, Approval of documentation
  • Comment: Auxiliary element model for clarifications or comments. Examples: Temporary condition; Proposed change.

2.5.2 Linking objects together

Links are a means to depict relationship of one object from another. All objects in the model must have at least one link to another object. Creating a link between objects requires double-clicking on the source object and then clicking on the recipient object. The arrowhead of the resulting link will point to the the recipient. While some objects like Functions and Events can give rise to other Functions and Events. However, most BPSimilation objects can only impact or limit functions, as shown below the diagram:

Linking of Objects

Figure 2.32: Linking of Objects

With this extra data it is possible to simulate a day at work. The statistics collected help to pinpoint the bottlenecks and limiting resources. The system provides a dashboard to summarize the results.

Dashboard of Test Results

Figure 2.33: Dashboard of Test Results

The model uses generators to simulate the volume of the demand for needs. Data comes from the functions and key check points of the model that monitor the workflow that passes these nodes. The executor nodes determine the capacity of the system. Performance is varied by changing the number of individuals in the role of executors.

Performance indicators

Figure 2.34: Performance indicators

2.5.3 An example: A Petrol Station

Starting with the BPMN of a simple model of the processes behind getting gas at the petrol station. The process is multi-stage starting with customers driving and waiting for a gas pump to become available. After fulling up the tank, paying the bill and leaving the gas pump. The problem is that the pumps are slow and limited in number.

The Gas Station

Figure 2.35: The Gas Station

The results in a simulated model within the BPSimulator.

Getting Fuel Simulation

Figure 2.36: Getting Fuel Simulation

The simulation was run in the scenario of only have one cashier, one attendant, one gasohol pump, one diesel pump and 290 customers who arrive.

Customer arrivals over the workday
Starting Ending Number Hourly Rate
6:00 8:59 90 30
9:00 14:59 90 15
15:00 18:59 90 25
19:00 20:00 20 10

As shown in the dashboard, the average queue is 16 min.

Dashboard for getting fuel

Figure 2.37: Dashboard for getting fuel

Exercise: Improving performance of a petrol station

Using the sample model of a petrol station, determine a proper mix of men and machines that will reduce the queue time to less than 2 mins at the minimum cost.

\(\blacktriangleright\) Exercise 2.1: Business analysis with BPMN

Describe how you would use BPMN to analyze the following common business problems. Specify the model and methods you would use to highlight and study the problem.

  • Delays along processes
  • Missing consideration of special requests
  • Missing approval of the requester’s manager
  • A lack of company-wide strategic buying
  • Multiple corrections of invoices due to lacking information

3 E-BUSINESS SOFTWARE SYSTEMS

This chapter will explore the network of frameworks, systems and applications that comprize the fabric of e-Business. In this study, each software component will be introduced by its context, requirements and examples of current open-source solutions.


3.1 Enterprise Resource (ERP)

The purpose of Enterprise Resource Planning (ERP) is to harness business data in a way that allows integrated management of core business processes. This business-management software is typically designed as a suite of integrated applications which collect, store, manage, and interpret data from a wide range of business activities. By managing the critical information of all business processes, ERP provides opportunities to support data-driven management decisions is such areas as cash flow, resources usage, inventory of raw materials, and the status of business commitments such as project milestones, orders fulfilment, purchase order payments, and staff compensation. The system facilitates the sharing of data across divisions of the business, such as manufacturing, purchasing, sales, accounting, and human resources.

3.1.1 Building Blocks

ODOO ERP Modules

Figure 3.1: ODOO ERP Modules

3.1.2 ProjectFedena.com: an example of an ERP

Project Fedena was conceived as a project to easily manage all campus records of schools and campuses and was implemented as a ERP system written in Ruby on Rails. The project was originally developed at Foradian Technologies but is now maintained by the open source community.11

Business System Software Development

Figure 3.2: Business System Software Development

3.2 Online Store

An online store attempts to match or exceed the level of customer support provided in brick and mortar stores. However, the personal distance and anonymity of the internet makes this goal harder to achieve. However, online stores like Amazon, Lazada and Alibaba owe their success to their ability to create trust among their community of buyers and sellers. These companies act as arbitrators between customers and vendors, reducing the risk of doing business between unkonwn parties. B ecause trust is so essential to business transactions, many internet shops began as product listings on one of these large marketing sysems, or as a online service to the customers of their brick and mortar chains.

3.2.1 Stages in Customer Purchasing Decisions

Marketers have long studied the process and requirements of customers before, during and after making a purchase. In a market place that abound in choices, customers must choose between the multiple alternatives. Shopping whether in the physical world or online is at best weak attempt at making a rational decision between the choices, because complete analysis needed to identify the true optimal decision is increditably complex. (Simon 1955) However, the urgency of the need drives the buyer to settle for an apparent good choice. However, the internet changes this by providing more information on which to base a rational decision. (Dewey 1910) observed 5 stages in a purchasing decision. A sixth stage has been added here to cover the financial transaction constraints imposed by online monetary systems.

Stages in customer purchase decision making

Figure 3.3: Stages in customer purchase decision making

3.2.2 Business Processes to Support Shoppers

Business support of shoppers

Figure 3.4: Business support of shoppers

3.2.3 Steps of check out and order fulfillment

  • Login: links to shopping cart and history
    • Establish an account with the vendor
    • Add items to the shopping cart
  • Shopping cart check out
    • Conducts an inventory check of items in shopping cart
    • Determines the mode of shipping
    • Calculates bill
  • Renumeration via bank transfer
    • Determines the method of payment
    • Login onto financial service
    • Confirms the transaction
    • SMS validation code to telephone
    • Conducts and records the transaction
    • Send payment confirmation to the vendor

Online Payment Methods Used in Thailand

Credit card and bank fraud so common in Thailand that most banks and credit card companies do not provide the quarantees for purchases and other consumer protection that conhsumers in other countries enjoy. In essence, Thai financial firms assume no risk and carry no insuraNCE against bank and credit card fraud. Despite the barriers against credit card usage, there are online payment systems used for e-commerce in Thailand as shown in the following table.

Type and example Benefits Drawbacks
Credit card Convenient, international standard Restricted trade with high service charges
Bank transfer Instant access to cash Bank fraud is a problem
ATM Convenient, multilingual support for the masses Requires a local machine
Online payment company: Paypal, Alipay Convenience in setting up High service charges
Payment service 7-Eleven, Thailand Postal Service Local assistance with physical receipt The payment collection service charges the vendor a high commission and their systems could be hacked.
Mobile phone credits AIS, TOT Instant payment by optical scan Reimbursement depends on the policies of the phone company; Stolen phone transactions may have to be refunded.
Cash on delivery: Lazada Assurance that goods will not get lost The receiver can refuse the delivery and the goods are returned damaged in shipment
Cryptocurrency: BitCoin Purchases and exchanges are handled online The market value is not pegged to that of physical currency
  • Send a shipping request to the Fulfillment Center
    • Pick list and shipping manifest
    • Print shipping label
    • Send pick up order to delivery service
  • Shipping
    • Record shipment pickup
    • Register the shipment
    • Track the shipment
    • Record the delivery

3.3 Customer Relations Management

3.3.1 Post sales service

  • Unpacking instructions
  • Installation instructions
  • User instructions
  • Troubleshooting guide
  • Technical support hotline
  • Service center locations

3.4 Measuring the effectiveness of websites

3.5 Key factors in evaluating online business platforms

(Magento Inc 2019)

3.5.1 Establish the business direction before considering any move

An outline of the business direction helps to determine the level of functionality that a new platform should provide. It would help to know the development plan and how the new services will be rolled out. This would include knowing what products, services and regions would be targeted in each phase of the roll out. It is also important to know the long term plan and role for the new platform.

3.5.2 Design the system to be flexible enough to support market changes

As customers service expectations will shift over time, new platforms must be agile enough to add on functionality that keep paces with consumer trends. The system should it possible to implement and deploy updates with mininal effort and downtime.

3.5.3 The platform need to manage multiple sites and marketing channels

In a multiplatform, multichannel market, systems need to support not only B2C and B2B transactions, but also provide consistent and effect post-sales customer support across the full spectrum of consumers. To provide a seamless customer experience, some services may need to work as embedded functions of websites branded under the name of distributors. Expanding support for branded websites increases opportunitys to enter new markets quickly and capitalize on emerging revenue opportunities but can create a hugh maintenance workload especially if the standalone sites have heavy requirements for specialized content management for each website.

3.5.4 New platforms should facilitate ownership of the customer experience

Online assets should be managed providing a seamless customer experience that does not stop at checkout. Customer support and satisfaction during and after checkout is key to transforming casual shoppers into loyal brand advocates. The goal is to make the customer smile at all stages of a buyer’s journey. To this end, businesses need systems that provide flexible customization that creates a memorable end-to-end customer experience both during and after the transaction.

3.5.5 The platform should provide opportunites to be able gather and measure user data.

Design decisions based on user behavoir and preference are more likely to succeed in creating an user experience condusive to business. However this data must be gathered, measured and analyzed from the user data collected on the website. Being able to link purchase behavior to user activities on the website creates new insights as to improve the effectiveness of online services. Linking this data to analytic functions will help to identify strategies to acquire, convert, and retain more customers.

3.5.6 The platform should support expansion into international markets.

International marketing creates new challenges for building and operating web-based services. These include the need for multiple translations of the content, support for multiple currencies, cultural adjustments in the selection of the photographs and graphics, and bandwidth requirements. Platforms being considered for a role within a global service should be connected to a reliable, global cloud infrastructure to ensure peak system uptime and scalability. The cloud connection ensures quick and reliable access their webstores. Uninterrupted access worldwide translates into helps to create a world-wide network of statisfied customers.

3.5.7 Commerce platforms must the means to test updates before launch.

Ongoing site development and maintenance of online services brings a constant stream of new content and services to the commercial platform. To ensure uninterrupted customer experience, eCommerce platforms need a means for testing the changing and publishing that will not take the site offline. In addition, embedded services should have a sandbox version for partners to test with their websites and to become familar with the functions needs to .

Your satisfaction with a new eCommerce platform will be reflected in the quality of content customers experience on the front end. A credible commerce platform will offer a demo version so users can thoroughly explore the administrative interface and other back end functionality. Get a feel for a potential platform by walking through do common tasks such as processing orders, uploading / publishing content, and adding / editing inventory.

3.6 The platform needs to be cost-effective.

Development, licensing and subscription costs for a webservice can add up. Poorly tuned cloud services will end up wasting money on unused capacity. Licensed use of copyrighted material must be carefully monitored to get the most benefits these kinds of images.

3.7 Leading commercial payment processing systems

  • PayPal: Because PayPal is the most well-known payment processor, using them conveys a sense of trust to due to PayPal’s brand. Thus, paypall is a basic option on all website builders provide. To increase the security of PayPal transactions, the final confirmation of purchase is actually done on the Paypal website and shoppers actually have to leave the shopping site to make the payment. If communications it lost during these redirections, the order or the payment appears to get lost. Paypal works through a local account on Paypal. It takes 5 – 7 business days to transfer funds from PayPal to a bank account.

  • Stripe: Stripe is a payment processor which allows you to deposit money directly into your bank account. However, there is a 7-day holding period while transfering money directly into bank accounts, mainly to cover situations where customers have complaints or chargebacks. The application process for a Stripe account is fast and painless, with most sites up and running within a day. The entire check out process, from beginning to the end, shoppers remain on your site the entire time and the check out cart is branded as your own shopping cart. This helps preserve branding and redirecting your shoppers to another site. However, Stripe is not yet available to all countries around the world. They are available to merchants in the US, Canada, Australia, some countries in Europe, and some countries in Asia .

  • Square: Square is a very fast growing payment processor that also owns Weebly the most popular open-source eCommerce platform. Square is primarily a credit card processor that plugs into a smartphone so people can make payments with their mobile phones. Funds are deposited into the business bank account in 1 – 2 business. The entire checkout process from the beginning to the end takes place on the business website and is branded as your own shopping cart. However, this service is available to only to merchants based in the US, UK, Canada, Australia or Japan.

  • WeChat Pay: WeChat Pay started off as a function of the popular instant messaging app WeChat. It was designed to help people to “instant message” payments. Through WeChat’s partnership with banks, WeChat users could use the WeChat Pay’s facility to pay bills, buy groceries, and pretty much anything using their phones. WeChat Pay even targets those who want to send monetary gifts to friends and family using its “Red Envelope” or “Ang Pau” feature. WeChat Pay was designed to be integrated into the social engagement system of WeChat, making payments as easy, if not easier than using cash. WeChat Pay only supports Smartphones and supports 9 world currencies.

  • Alipay: Alipay was created to help customers on the Alibaba website transfer funds and close their transactions. Alipay specializes in business catering to both the buyers and the sellers helping them to complete the transactions faster. Alipay has evolved to provide payment not only for products within Alibaba, but also for other things as well such as bills and groceries. Alipay supports all smartphones and desktops and transactions in 18 world currencies.

3.8 Human Resources Management

3.8.1 Assessing Personal Temperment

Every person is unique and represents a unique set of strengths and weaknesses. At the same time the every job requires different set of characteristics. The role of HR is to attempt to collectin information meant to measure and ascertain how suited an applicant is for a job opening. In theory the goal is to play the right person in the job. However as implied by the following word cloud, fitness of applicants for a job has many dimensions and is hard to measure accurately.

Characteristics of a good Employee

Figure 3.5: Characteristics of a good Employee

Exercise: Employee selection criteria

The following are redacted from ads for IT jobs in Chiang Mai posted on LinkedIn in 2018. For each of the job descriptions propose the top 4 characteristics that should be used to identify a suitable candidate:

  1. Software Developer: At XXX, we are building a team of people who can work independently, push themselves to find creative solutions, collaborate naturally, and value doing good work. We are looking for new members for our team who can craft web and mobile applications that fit inside a larger communications, business, and product strategies. We focus on the problems to be solved instead of lists of functional requirements. The applications we develop are always part of larger strategy to foster close partnerships with our clients.
  2. Data scientist: At YYY, we work closely with clients to identify business problems and develop solutions using data science techniques. To this end, we design and implement data models to explain and solve critical problems using such techniques as data mining, statistical modeling, and machine learning. We are looking for a worker who can provide insightful visualization and explanation of trends in client data and recommend the next course of action to be taken by decision makers and their colleagues.
  3. Robotics Engineer: We are seeking a Robotic Engineer with technical leadership expertise to optimize the expansion of our paint robot program by improving the efficiency, productivity and quality of our program. You will be responsible for program operation, fault recovery procedures, troubleshooting and all around leadership of a state-of-the-art program to triple the paint volume of our previous model. In addition, you will contribute to improvements in Robot Safety, graphic user interface, electrostatic paint application, robot pathing, robotic fluid delivery systems, and the training of the next generation of program operators.
  4. Solutions Architect: At WWW, we are looking for someone with a passion to help customers design large distributed systems using the world’s most advanced cloud computing technologies. This job requires someone who can communicate, consult, and provide leadership while helping to guide major projects to success. We are hiring a Solutions Architect who can think strategically about business, product, and technical challenges and who will own technical engagement with customers on projects, working cross-organizationally to facilitate adoption and use of the cloud platform. At the same time, the job will involve developing a deep expertise in the cloud technologies and contributing to the know-how in the construction of applications and services on the cloud platform.

3.8.2 Belbin Team Roles

Research showed that the most successful teams were made up of a diverse mix of behaviours; they had access to all nine Belbin Team Roles. A Team Role was defined by Dr Meredith Belbin as “A tendency to behave, contribute and interrelate with others in a particular way.” The value of Belbin Team Role theory lies in enabling an individual or team to benefit from self knowledge and adjust according to the demands being made by the external situation. (Belbin 2010) The concept was derived from a study of factors leading to success or failure of teams competing in Business Games at Henley Management College, England. Managers taking part in the exercise were given a battery of psychometric tests and put into teams of varying composition. As time progressed different clusters of behaviour were identified as underlying the success of the teams. These successful clusters of behaviour were then given names. Hence the emergence of nine Team Roles shown with the distribution among British managers: (Fisher, Hunter, and Macross 1998)

Roles Belbin Types
Action-oriented: Shaper Implementer Completer Finisher
2.3% 11.4% 3.6%
People-oriented: Co-ordinator Teamworker Resource Investigator
26.2% 18.2% 33.2%
Thinking-oriented: Plant Monitor Evaluator Specialist
3.7% 0.5% 0.8%

This doesn’t mean that every team requires nine people. Most people will have two or three Team Roles that they are most comfortable with. Team Roles develop and mature. These may change with experience and conscious attention. Different Team Roles may come to the fore in response to the needs of particular situations.

Role Description Strengths Allowable weaknesses Concerns
Resource Investigator: Uses their inquisitive nature to find ideas to bring back to the team. Outgoing, enthusiastic. Explores opportunities and develops contacts. Might be over-optimistic, and can lose interest once the initial enthusiasm has passed. They might forget to follow up on a lead.
Teamworker: Helps the team to gel, using their versatility to identify the work required and complete it on behalf of the team. Co-operative, perceptive and diplomatic. Listens and averts friction. Can be indecisive in crunch situations and tends to avoid confrontation. They might hesitate to make unpopular decisions.
Co-ordinator: Needed to focus on the team’s objectives, draw out team members and delegate work appropriately. Mature, confident, identifies talent. Clarifies goals. Can be seen as manipulative and might offload their own share of the work. They can over-delegate, leaving themselves little work to do.
Plant: Tends to be highly creative and good at solving problems in unconventional ways. Creative, imaginative, free-thinking, generates ideas and solves difficult problems. Might ignore incidentals, and may be too preoccupied to communicate effectively. They could be absent-minded and forgetful.
Monitor Evaluator: Provides a logical eye, making impartial judgements where required and weighs up the team’s options Sober, strategic and discerning. Sees all options and judges accurately. Sometimes lacks the drive in a dispassionate way. and ability to inspire others and can be overly critical. They could be slow to come to decisions.
Specialist: Brings in-depth knowledge of a key area to the team. Single-minded, self-starting and dedicated. They provide specialist knowledge and skills. Tends to contribute on a narrow front and can dwell on the technicalities. They can overload colleagues with technical information.
Shaper: Provides the necessary drive to ensure that the team keeps moving and does not lose focus or momentum. Challenging, dynamic, thrives on pressure. Has the drive and courage to overcome obstacles. Can be prone to provocation, and may sometimes offend people’s feelings. They could risk becoming aggressive and bad-humoured in their attempts to get things done.
Implementer: Needed to plan a workable strategy and carry it out as efficiently as possible. Practical, reliable, efficient. Turns ideas into actions and organises work that needs to be done. Can be a bit inflexible and slow to respond to new possibilities. They might be slow to relinquish their plans in favour of positive changes.
Completer Finisher: Most effectively used at the end of tasks to polish and scrutinise the work for errors, subjecting it to the highest standards of quality control. Painstaking, conscientious, anxious. Searches out errors. Polishes and perfects. Can be inclined to worry unduly, and reluctant to delegate. They could be accused of taking their perfectionism to extremes.

3.8.3 Big 5 Behavioral Types

Behavioral Characteristic Low end High end
Openness to experience: Appreciation for art, emotion, adventure, unusual ideas curiosity, variety of experience and intellectual curiosity, creativity and a preference for novelty and variety. consistent, cautious (Accountants) inventive, curious(Artists)
Conscientiousness: A tendency to be organized and dependable, show self-discipline, act dutifully, aim for achievement, and prefer planned rather than spontaneous behavior. easy-going, careless, sloppy. (Graffiti artist) efficient, organized, stubborn. (Engraver)
Extraversion: Energy, positive emotions, surgency, assertiveness, sociability and the tendency to seek stimulation in the company of others, talkativeness and is often perceived as attention-seeking and domineering. solitary, reserved, shy, introvert. (Hermit) outgoing, energetic, boisterous, extravert. (Cheerleader)
Agreeableness: A tendency to be compassionate and cooperative rather than suspicious and antagonistic towards others. It related to a trusting and helpful nature. challenging, detached, rigid. (Prosecutor) friendly, compassionate, helpful. (Social worker)
Neuroticism: Neuroticism identifies certain people who are more prone to psychological stress and a tendency to experience unpleasant emotions easily. confident secure, cool (Air traffic controller)

3.8.4 Myers Briggs Test

The 16 personality types that were developed by Isabel Briggs Myers and Katharine Cook Briggs, which was built on the work of Carl Jung in the early 1900s. Based on the 4 dimensions of Carl Jung’s theory of personality types:

Four Dimensions of Myers Briggs Personality Types
Dimension Extremes
Energizes Extroversion (E) vs Internal (I)
Perceives information Sensing (S) vs Intuitive (N)
Decision making Thinking (T) vs Feeling (F)
World view Judging (J) vs Perceiving (P)

Myers Briggs Test has been administered to a large number of people helping to validate the value of this instrument for a number of applications. Generally successful workers tend to gravitate to specific careers based on their personality profile as shown in the next sections. (Tieger, Barron, and Tieger 2014)

3.8.4.1 Analysts:

  • INTJ (2.1%) - The Mastermind/The Scientist – Independent, original, analytical, and determined with an exceptional ability to turn theories into solid plans of action. Creative perfectionists who prefer to do things their own way, INTJs perform well in non-social roles that require them to think theoretically. Common careers: Investment banker, Personal financial advisor, Software developer, Economist, Executive

  • INTP (3.3%) - The Thinker – Logical, original, creative thinkers. Can become very excited about theories and ideas. Independent and creative problem-solvers, INTPs gravitate toward roles that require them to be theoretical and precise. Common careers - Computer programmer, software designer, Financial analyst, Architect, College professor, Economist

  • ENTJ (1.8%) - The Commander – Assertive and outspoken - they are driven to lead. Excellent ability to understand difficult organizational problems and create solid solutions. Natural leaders who are logical, analytical, and good strategic planners, ENTJs gravitate toward authoritarian roles that require them to be organized and efficient. Common careers: Executive, Lawyer, Market research analyst, Management consultant, Venture capitalist

  • ENTP (3.2%) - The Debater – Creative, resourceful, and intellectually quick. Good at a broad range of things. Enterprising creative people who enjoy new challenges, ENTPs excel in risky roles that require them to be persistent and non-conformist. Common careers: Entrepreneur, Real estate developer, Advertising creative director, Marketing director, Politician/political consultant

3.8.4.2 Diplomats:

  • INFJ (1.5%) - The Counselor/The Protector – Quietly forceful, original, and sensitive. Tend to stick to things until they are done. Thoughtful, creative people driven by firm principles and personal integrity, INFJs do well in behind-the-scenes roles that require them to communicate on a personal level. Common careers: Therapist/counsellor, Social worker, HR diversity manager, Organization development consultant, Customer relations manager

  • INFP (4.4%) - The Idealist – Quiet, reflective, and idealistic. Interested in serving humanity. Sensitive idealists motivated by their deeper personal values, INFPs excel in roles that require them to be compassionate and adaptable. Common careers: Graphic designer, Psychologist/therapist, Writer/editor, Physical therapist, HR development trainer

  • ENFJ (2.5%) - The Giver – Popular and sensitive, with outstanding people skills. Externally focused, with real concern for how others think and feel. People-lovers who are energetic, articulate, and diplomatic, ENFJs excel in cooperative roles that require them to be expressive and logical. Common careers: Advertising executive, Public relations specialist, Corporate coach/trainer, Sales manager, Employment/HR specialist

  • ENFP (8.1%) - The Champion/The Inspirer – Enthusiastic, idealistic, and creative. Able to do almost anything that interests them. Curious and confident creative types who see possibilities everywhere, ENFPs perform well in expressive roles that require them to be alert and communicative. Common careers: Journalist, Advertising creative director, Consultant, Restaurateur, Event planner

3.8.4.3 Sentinels:

  • ISTJ (11.6%) - The Inspector/The Duty Fulfiller - Serious and quiet, interested in security and peaceful living. Hard workers who value their responsibilities and commitments, ISTJs excel in behind-the-scenes roles that require them to be reliable. Common careers: Auditor, Accountant, Chief financial officer, Web development engineer, Government employee

  • ISFJ (13.8%) - The Nurturer/ – Quiet, kind, and conscientious, puts the needs of others above self-interest. Modest and determined workers who enjoy helping others, ISFJs do well in roles that require them to provide services to others without being in a position of authority. Common careers: Dentist, Elementary school teacher, Librarian, Franchise owner, Customer service representative

  • ESTJ (8.7%) - The Supervisor/The Guardian – Practical, traditional, and organized. Likely to be athletic. Realists who are quick to make practical decisions, ESTJs perform well in social roles that require them to lead. Common careers: Insurance sales agent, Pharmacist, Lawyer, Judge, Project manager

  • ESFJ (12.3%) - The Provider/The Caregiver – Warm-hearted, popular, and conscientious. Tend to put the needs of others over self-interest. Gregarious traditionalists motivated to help others, ESFJs gravitate toward social roles that require them to care for the well-being of others. Common careers: Sales representative, Nurse/healthcare worker, Social worker, Public relations account executive, Loan officer

3.8.4.4 Explorers:

  • ISTP (5.4%) - The Craftsman / The Mechanic - Quiet and reserved, interested in how and why things work. Straightforward and honest people who prefer action to conversation, ISTPs perform well in utilitarian roles that require them to make use of tools. Common careers: Civil engineer, Economist, Pilot, Data communications analysis, Emergency room physician

  • ISFP (8.8%)- The Composer/The Artist – Quiet, serious, sensitive and kind, avoids conflict. Warm and sensitive types who like to help people in tangible ways, ISFPs do well in roles that require them to be sympathetic and attentive. Common careers: Fashion designer, Physical therapist, Massage therapist, Landscape architect, Storekeeper

  • ESTP (4.3%) - The Doer – Friendly, adaptable, action-oriented. focused on immediate results. Pragmatists who love excitement and excel in a crisis, ESTPs excel in high-stakes roles that require them to be resourceful. Common careers: Detective, Banker, Investor, Entertainment agent, Sports coach

  • ESFP (8.5%) - The Performer – People-oriented and fun-loving, they make things more fun for others by their enjoyment. Lively and playful people who value common sense, ESFPs gravitate toward roles that require them to be expressive and interact with others. Common careers: Child welfare counselor, Primary care physician, Actor, Interior designer, Environmental scientist

3.8.5 Hofstede survey on cultural dimensions

By studing expat workers work preformance in large multinational corporations, Hofstede was able to identify key cultural differences in the way people approach work. (Hofstede, Hofstede, and Minkov 2010)

Hofstede’s Cultural studies of behavoir in the workplace
Cultural dimensions
Power distance: perceived ability to make a difference
Individualism vs collective: tendency to think in terms of I vs We.
Gender balance: masculinity vs femininity
Advoidance of Uncertianty: tolerance of risk
Long term orientation: perception of urgency
Indulgences vs restraint: attitude towards acquired wealth

3.8.6 Performance appraisal

Performance Appraisal is the systematic evaluation of the performance of employees in order to understand the abilities of a person for further growth and development. (Management Study Guide 2018) Performance appraisal is generally done in systematic ways which are as follows:

  • The supervisors measure the pay of employees and compare it with targets and plans.
  • The supervisor analyses the factors behind work performances of employees.
  • The employers are in position to guide the employees for a better performance.

3.8.6.1 Objectives of Performance Appraisal

Performance Appraisal is done with following objectives in mind:

  • To maintain records in order to determine compensation packages, wage structure, salaries raises, etc.
  • To identify the strengths and weaknesses of employees to place right men on right job.
  • To maintain and assess the potential present in a person for further growth and development.
  • To provide a feedback to employees regarding their performance and related status.
  • To provide a feedback to employees regarding their performance and related status.
  • It serves as a basis for influencing working habits of the employees.
  • To review and retain the promotional and other training programmes.

3.8.6.2 Advantages of Performance Appraisal

It is said that performance appraisal is an investment for the company which can be justified by following advantages:

  1. Promotion: Performance Appraisal helps the supervisors to chalk out the promotion programmes for efficient employees. In this regards, inefficient workers can be dismissed or demoted in case.
  2. Compensation: Performance Appraisal helps in chalking out compensation packages for employees. Merit rating is possible through performance appraisal. Performance Appraisal tries to give worth to a performance. Compensation packages which includes bonus, high salary rates, extra benefits, allowances and pre-requisites are dependent on performance appraisal. The criteria should be merit rather than seniority.
  3. Employees Development: The systematic procedure of performance appraisal helps the supervisors to frame training policies and programmes. It helps to analyse strengths and weaknesses of employees so that new jobs can be designed for efficient employees. It also helps in framing future development programmes.
  4. Selection Validation: Performance Appraisal helps the supervisors to understand the validity and importance of the selection procedure. The supervisors come to know the validity and thereby the strengths and weaknesses of selection procedure. Future changes in selection methods can be made in this regard.
  5. Communication: Because communication between employees and employers effects morale and productivity, effective performance appraisal facilitates will stimulate communication that will impact a business in the following ways:
  • The employers can better understand and accept the skills, nature and needs of subordinates.
  • The subordinates can also better understand the workplace ethos as they grow in their trust and confidence in their superiors.
  • Appraisals provide 2-way feedback that helps to build and maintain cordial and congenial labour-management relationship.
  • As a shared experience across the workplace, appraisals develop the spirit of work and help boost the morale and esprit du cours of the employees.
  1. Motivation: Performance appraisal serves as a motivation tool. Through evaluating performance of employees, a person’s efficiency can be determined if the targets are achieved. This very well motivates a person for better job and helps him to improve his performance in the future.

3.8.7 HR System software

HR data generally holds a wealth of information that can be used to predict employee retention, turnover and satisfaction. However this information must be mined from the data by applying data science and machine learning techniques. While numerous commercial HR systems exist in the market place, there are common issues that HRM software needs to address. In this section, we will use a popular open-source HRM solution to study this.12

Common issues handled by HRM software solutions
Topic
- Employee retention statistics
- Job performace appraisal and incentives
- Employee development
- Job-Employee fit: Right person for the job
- Payroll, benefits and overtime

**Exercise: Product Review: OrangeHRM Human Resource Management System

  1. Login as admin to the online demo and determine the amount of information that is management by this system by answering the following for the Webmaster of the corporation:

    • Name and name of spouse/children
    • Name of supervisor
    • Level of salary
    • Results of last appraisal
  2. Login as employee and determine what information is available to employees and what updates they can make online.

  3. What are the benefits and dangers of having such information online?

As the data currently help by HR Managment systems is subjected to analysis by AI and machine learning, it is expected that HR will become far more effective in the follow areas:

Areas of AI related to Human Resources
Applicatons of AI in HR
- Determining which employees are most likely to leave
- Matching employees to appropriate jobs within a company
- Managing collaboration between online and onsite employees
- Integrating robots into as coworkers in the workplace
- Leveraging diversity and inclusiveness in the workplace

Exercise: Prediction of Employee Churn

This exercise was adapted from a 2017 Kaggle Competition. (Kaggle 2017) Apply trend line analysis in Excel on the data in the training set to develop a model to predict the employees in the test set who are most likely to resign. The following files are provided to you.

  • HR.csv - the training set
  • HR_evaluate.csv - the test set
Data fields of Kaggle HR Retention challenge
Data fields of Kaggle Competition
- id - Anonymous ID number for each employee
- satisfaction - Employee satisfaction level
- last_evaluation - Last evaluation score
- number_project - Number of projects assigned to
- average_monthly_hour - Average monthly hours worked
- time_spend_company - Time spent at the company
- work_accident - Ever had one (1: Yes, 0: No)
- left - Whether or not employee left company (1: Yes, 0: No)
- promotion_last_5year - Been promoted recently (1: Yes, 0: No)
- sales - Department name
- salary - Salary category

3.9 Operations Management

3.9.1 General rules

\[Productivity = \frac{Output}{Input}\]

\[Efficiency = \frac{100 \times ActualOutput}{StandardOutput}\]

3.9.2 Logistics

The Gigantic Grocery Warehouses Built like Living Organisms https://www.youtube.com/watch?v=_psDSX-7P1s

  • Solver. Optimizing

  • ARIMA and forecasting

3.9.3 Market basket analysis

Use of market basket analysis:

Retail. In Retail, Market Basket Analysis can help determine what items are purchased together, purchased sequentially, and purchased by season. This can assist retailers to determine product placement and promotion optimization (for instance, combining product incentives). Does it make sense to sell soda and chips or soda and crackers?

Telecommunications. In Telecommunications, where high churn rates continue to be a growing concern, Market Basket Analysis can be used to determine what services are being utilized and what packages customers are purchasing. They can use that knowledge to direct marketing efforts at customers who are more likely to follow the same path. For instance, Telecommunications these days is also offering TV and Internet. Creating bundles for purchases can be determined from an analysis of what customers purchase, thereby giving the company an idea of how to price the bundles. This analysis might also lead to determining the capacity requirements.

Banks. In Financial (banking for instance), Market Basket Analysis can be used to analyze credit card purchases of customers to build profiles for fraud detection purposes and cross-selling opportunities. Insurance. In Insurance, Market Basket Analysis can be used to build profiles to detect medical insurance claim fraud. By building profiles of claims, you are able to then use the profiles to determine if more than 1 claim belongs to a particular claimee within a specified period of time.

Medical. In Healthcare or Medical, Market Basket Analysis can be used for comorbid conditions and symptom analysis, with which a profile of illness can be better identified. It can also be used to reveal biologically relevant associations between different genes or between environmental effects and gene expression.

  • Support: is an indication of how frequently the itemset appears in the dataset. It is calculated as a fraction of all transactions that contain both \(X\) and \(Y\). This is a measure of how often an item or the specified pair of items occur in the database.

\[Support(X) = \frac{t_{X}}{t_{(all)}}\]

\[Support(X,Y) = \frac{t_{(X,Y)}}{t_{(all)}}\]

  • Confidence: is an indication of how often the rule has been found to be true. fraction of transactions that contain both \(X\) and \(Y\) divided by the number that only contain \(X\). This a measure of how often the two items occur together.

\[Confidence(X,Y) = \frac{Support(X,Y)}{Support(X)} = \frac{t_{(X,Y)}}{t_{(X)}}\]

  • Lift: This is a measure of how the confidence compares to the expected confidence, (i.e, how much confidence that \(X\) will be purchased given that \(Y\) was purchased). If the lift is > 1, that lets us know the degree to which those two occurrences are dependent on one another, and makes those rules potentially useful for predicting the consequent in future data sets. If the lift is < 1, that lets us know the items are substitute to each other. This means that presence of one item has negative effect on presence of other item and vice versa.

\[Lift = \frac{Support(X,Y)}{Support(X) \times Support(Y)} = \frac{\frac{t_{(X,Y)}}{t_{(X)}}}{\frac{t_{(Y)}}{t_{(all)}}}\]

  • Conviction: measuring the implications of correctness by look at the contrapositive of the rule.

\[Conviction = \frac{1 - Support(X)}{1 - Confidence(X,Y)}\]

  • Leverage: provides a measure of the how much each factor influences the occurence of the pattern.

\[Leverage = Support(X,Y) - Support(X)\times Support(Y)\]

4 EMERGING TECHNOLOGIES

This chapter will explore emerging trends that are impacting the way e-Business is developed and practised.

4.1 Business Intelligence and Data Analytics

  • Data dashboarding
  • Big Data
  • Data Science
  • Machine learning and AI

4.2 Blockchain

4.2.1 Cyptocurrencies

4.2.2 Other applications of block chains

  • CryptoKitties: Tagging unique parameters for art work:13

The Crazy Expensive CrytoKitties

CryptoKitties is a “blockchain game.” It involves collecting, trading, and breeding CryptoKitties with “cattributes.” These kitties are actually tokens stored on a blockchain. A CryptoKitty is a unique digital asset that is stored as a token stored on the Ethereum blockchain.(The CryptoKitten Team 2018) Each CryptoKitty has a combination of cattributes that make it unique. These features come together to give each CryptoKitty a unique look. Some CryptoKitties have mewtations, which are rare cattributes. These CryptoKitties can be traded, sold, and purchased like any other digital asset. They can also be bred with another CryptoKitty to create a new kitty.

On the surface, CryptoKitties is just a game that involves collecting digital cat pictures, breeding them to make new cat pictures, and trading cat pictures. The first CryptoKitty was born on December 2, 2017. Since then, a new Generation 0 cat was born every fifteen minutes. In November 2018 (one year after the game launch), the last Generation 0 cat was born. All new kitties will be produced through breeding after that point. As collectibles, they have rarity: each CryptoKitty is unique. The most expensive CryptoKitty ever purchased sold for USD $110,707 to a willing buyer. People have spent over USD $24 million on CryptoKitties, and the project has received USD $12 million in venture capital funding. (Hoffman 2018)

  • Land deeds

4.3 Open Source Solutions

In 1983, Robert Stallman wrote the core concepts that would eventually become the GNU Manifesto as an means to initiate a movement committed to creating and distribution open and free software. (Stallman 1985) The Free Software Foundation grew out of these developments and granted users the following four freedoms, many of which require access to the source code.

  • Freedom 0: The freedom to run the program, for any purpose.
  • Freedom 1: The freedom to study the source code, understand how the program works, and adapt it as needed.
  • Freedom 2: The freedom to redistribute copies as needed.
  • Freedom 3: The freedom to review the source code, improve the program, and release your improvements to the public, so that the whole community benefits. (Free Software Foundation 2018)

4.4 Thailand 4.0

Thailand 4.0 is an economic model that aims to unlock the country from several economic challenges resulting from past economic development models which place emphasis on agriculture (Thailand 1.0), light industry (Thailand 2.0), and advanced industry (Thailand 3.0). These challenges include economic conditions that create 3 traps:

  • A middle income trap: where opportunities for wealth accumulation is restricted.
  • An inequality trap: where wealth is not acquired fairly based on gender, ethnical background and other socio-political issues.
  • An imbalanced trap: where the gap between the rich and the poor widens especially based on geographic location and urban vs rural settings.

The Thai government has committed itself to invest into several areas of innovation that would stimulate the economy, such as robotics/internet of things, agriculture/biotechnology, biofuels/biochemicals and smart electronics. (Thailand Ministry of Commerce 2016) The intention is to create the environment for transformation and resulting sea-changes in such areas as farming, business development, skilled labor and technological development. (Royal Thai Embassy 2016) The four objectives of this strategy are listed below:

  1. Economic Prosperity: to create a value-based economy that is driven by innovation, technology and creativity. The model aims to increase Research and Development (R&D) expenditure to 4% of GDP, increase economic growth rate to full capacity rate of 5-6% within 5 years, and increase national income per capita from 5,470 USD in 2014 to 15,000 USD by 2032.
  2. Social Well-being: to create a society that moves forward without leaving anyone behind (inclusive society) through realization of the full potential of all members of society. The goals are to reduce social disparity from 0.465 in 2013 to 0.36 in 2032, completely transform to social welfare system within 20 years and develop at least 20,000 households into Smart Farmers within 5 years.
  3. Raising Human Values: to transform Thais into “Competent human beings in the 21sth Century” and Thais 4.0 in the first world. Measures under Thailand 4.0 will raise Thailand HDI from 0.722 to 0.8 or the top 50 countries within 10 years, ensure that at least 5 Thai universities are ranked amongst the world’s top 100 higher education institution within 20 years.
  4. Environmental Protection: to become a livable society that possesses an economic system capable of adjusting to climate change and low carbon society. The targets are to develop at least 10 cities into the world’s most livable cities, reduce terrorism risk, and increase the proportion

4.5 Cloud computing

Problems with inhouse service

  • Complexity of management of infrastructure and data
  • Limited scalability to support all data users and workloads
  • Inadequate elasticity with rigid inflexible architectures
  • Rigit cost unable to match cost to need (forced to keep the lights on 24/7)
  • Diversity unable to consolidate siloed datasets
  • Need to share transfers limit data volume and frequency

4.6 Measuring the quality of online services

  • How are customer expectations about service determined?
  • What procedures are in place to correctly handle customer inquiries, from initial inquiry to post-delivery follow-up?
  • What is being done to minimize delivery time from the time the order is placed until delivery?
  • What procedures and policies are in place to guarantee efficiency in customer service operations?
  • How is the business helping customers serve themselves?
  • What standards (metrics) for measuring customer service will be used?
  • What unique or competitive advantage is the customer service program providing?

Online Meetings:

  1. Confirm that the meeting is really required

    (Separate social time from meeting time)

  2. Start and end on time

  3. Record the meeting

  4. Be intentional about communications

    1. allow for silence

    2. watch for non-verbal responses

    3. call people by name

    4. provide assistance in taking isolated matters offline or deferred to a followup meeting after additional research/consideration

  5. Decide ahead of time how to chat during the meeting

  6. Agree on a mute/unmute policy; video/no video policy Bandwidth, background noise, number of participants (<6 unmute)

  7. Ask for feedback

4.7 Working remotely

Technology has change the nature and function of the workplace according to 2 major trends:

  1. The office has become a collaborative space to stimulate brainstorming and collective problem solving. By providing support for group work within both formal and informal settings, a development team is encouraged to use collective intelligence and skill of a work group to solve problems of multiple dimensions and disciplines. The emphasis is on solving problems quickly and effectively.

  2. Individuals work remotely from locations and timezones of their choosing. This allows workers to better use their time and resources in accomplishing their work. Workers use telecommunications and teleconferencing to meet with colleagues to address specific issues, collective message boards and file shares are used to hand off materials and to measure progress.

Both work environments require diligent, highly-skilled, motivated and results-driven teams of workers.

4.7.1 Reasons for working remotely

Here are key reason given by digital nomads and their employers for working remotely. Simply put: Working remotely is the best. But what is it that makes remote jobs so great exactly? In a word: freedom. “Whether you want to enjoy some stunning scenery on a daily basis, need to be near family to help out or keep connections strong, are looking to cut down on your cost of living, or have always dreamt of truly nomadic lifestyle, remote work makes it possible,” says Skillcrush people ops manager Kelli Smith.

https://skillcrush.com/2018/09/13/reasons-to-work-remotely/

  1. You can actually focus. Eliza Barry, marketing director at Amata Solutions, says the office became totally unproductive for me due to constant interruptions that would turn into long conversations. It was not uncommon to have an employee send an email with a quick question about a marketing idea they had, and then follow up that email within minutes by dropping into my office to chat about it. I simply did not have time to deal with the influx of requests and repeated conversations about frequently asked questions that had been covered in emails. Now, she can maintain her focus, fend off distractions and Get. Stuff. Done. A study from Stanford University showed that working from home increased productivity by 13 percent. So, want to get more done and ditch the interruptions? You know what to do.

  2. Naps are a serious option. “I own an office in town, but I work remotely four out of five days per week, so I can take a nap halfway through the day,” says Max Robinson, owner of FishTankBank. “Since I started working naps into my daily work regime, it has totally changed my productivity for the better. Unfortunately it’s not quite socially acceptable to take naps in offices, so I choose to work remotely from home and have them here instead!”

  3. You can prioritize your mental health. Checking out is key to keeping your mental health in check, and there are some days you wake up and need to recharge, says Levi of G2 Crowd. Certain personality types need that more than others, he says, so if you’re the type that needs some time to refuel, remote work is for you.

  4. You can save money. Alex Robinson, General Manager at Team Building Hero, works with people who live in high cost cities like New York City, Boston, and San Francisco, but Robinson says “I prefer to live and work from small cities where my rent is less than 50 percent of those major cities. This lower rent means I have more room in my budget for travel.” Want to travel like Robinson, save for an emergency fund or house, or simply have more fun money? Remote work is the answer.

  5. It’s easier to be a working parent. “I can easily navigate school delayed openings, half days and holidays, and be at school to pick up a sick child in ten minutes. I can get back to work on an unfinished project after the kids go to bed, or while waiting for them at sports practice,” says Cynthia Meyer, resident financial planner at Financial Finesse. “The guilt of putting family in the backseat due to work commitments is something I have never come across thanks to my remote work. I would never want to miss my daughter’s first steps because I was caught up in a work meeting!” says Sireesha Narumanchi, founder at Crowdworknews.

  6. Your access to the job market isn’t limited by where you live. “I live one hour south of Boston. Being someone who is into writing, SEO, and marketing, it means all the jobs are there. The question basically comes down to, am I willing to commit two to four hours a day of driving, on top of my work hours, for a job? What does my life look like if I do that five days a week?” says Nicholas Rizzo, Training Research & Writer, RunRepeat.com. The answer was clear for Rizzo: Go remote and stop being limited by where he lives. The same goes for Michelle Klieger of Stratagerm Consulting, LLC. “My education, experience, and passion is in the field of agriculture. However, I recently moved to New England to be close to my family. The New England agriculture industry is small and niche, with limited openings. So, working remotely provides me the best of both worlds, access to great career opportunities and a closeness to my family,” she says.

  7. You can escape the open office plan. Open offices seem like the future, but they’re a pain for productivity. Lauren Morley, chief marketing officer at Techvera, says that her company’s open office was a nightmare (in terms of) getting anything done. My train of thought was always flying off the tracks and it was hard to be as productive as I wanted to be. Maybe you can relate: I would frequently leave an eight hour day feeling like I barely accomplished anything, she says. But remote work changed everything: I’ve noticed I’m much calmer and less stressed, and my output and quality of work has improved. I feel and look healthier. I’ve learned how to be a better self-motivator and effective communicator. I absolutely love working remotely and I don’t know if I could ever go back to office life, Morley says.

  8. You can work from wherever you want. I spent many years working in a windowless hospital office with fluorescent lights and felt very disconnected from the outdoors. Now, I am living in my teardrop camper traveling across the U.S. with my Verizon hotspot for internet access. And best of all, in my downtime I get to explore the beautiful outdoors with my husband. Right now, we’re in upper Michigan and we’re heading to Colorado and Southern Utah next. I love working remotely and will never go back to the old way of doing things! says Sarah Stromsdorfer, occupational therapist and founder of My OT Spot

  9. You can meet your physical needs more easily. I work remotely because as I get older, I need to manage my energy levels and workload more, says Neil Pope, CEO of Game On Music. If I feel like sleeping in and starting late I can, which gives me the freedom to work with maximum efficiency when I am at my most productive, he says.

  10. You can make your own schedule. Working remotely gives me freedom over how I spend my time, says Danielle, UX/UI Designer at Studio Moku. I often work four hours in the morning, enjoy the day and work four more hours at night. Work best at 2:00 a.m.? It’s within reach!

  11. You can live wherever you want. Annie Pagano, marketing coordinator at Interpreters and Translators, Inc., says I work remotely because I get to live in a state that I love (Colorado) while continuing to work for a company that I love and have worked with for seven years. They are based in Connecticut which is where I am originally from and my family still lives. Whenever I travel for meetings or to work out of the home office, I get to visit with my family and friends. It’s a complete win/win!

  12. Your office is your own. It’s great to work remotely, because it allows employees to create a work environment that is conducive to putting out their best work. You’re also typically able to control the noise level and concentrate in your own home, says Shilonda Downing of Virtual Work Team LLC. Don’t just stop at noise level: Go for temperature, soundtrack, and office decoration. You’re in charge!

  13. Avoid the commute. In a major city a commute can easily be 30-90 minutes, and I prefer to use this time for productive work at my home office, says growth marketer Michael Alexis. Commuting isn’t just bad for you (and it is: long commutes have been shown to be detrimental to your health and increase stress levels), but those drives negatively impact the environment, too. Extra bonus: The time you save as a remote worker is yours to use on anything you want. I’ve used these sessions for side projects that help push my career forward and work toward promotions, Alexis says.

  14. You can travel all the time. Theres good news if you’ve got the travel bug. Being a remote worker means you’re completely untethered. Working remotely gives me the opportunity to travel full-time. I can explore any place with good internet access, which in today’s world is almost everywhere. I love that I can take my job with me anywhere in the world and combine my passion for teaching with my travel ambitions, says Nicola Rae, English teacher at VIPKID.

  15. You can better serve your customers. Substance use counsellor Annina Schmid works remotely and can offer specialized services such as eating disorder and substance use counselling to people in remote areas that wouldn’t otherwise have access to this kind of support. This allows her to help more people, and opens up a client base all over the world.

  16. You can work alone. I’m an introvert, and like all introverts, I couldn’t stand open office plans, says Lucio Buffalmano, founder the ThePowerMoves. Are you similarly averse to small talk? Working remotely can make socializing a non-issue.

  17. You can keep things interesting. I work remotely because it gives me the opportunity to meet new people and see new things every day, says journalist and content creator Hilary Sheinbaum. Having a change of atmosphere also keeps me on my toes. I’m never bored with the same old environment, she says. This kind of pattern disruption can boost creativity and inspire new ideas, says Remote Bliss Rebecca Safier. As a result, employees might be more innovative and take more initiative, which benefits their personal growth and the company they work for alike, she says.

  18. Ditch the professional clothes. Career coach Jill Ozovek points out that there is no need for a dress code when you work remotely, so you can spend all day in athleisureor even pjs is that’s your thing. Bonus: You’ll save money on a work wardrobe, since professional clothes do not come cheap.

However, remote worker must still produce results on time and on budget. To do that they need to take time and project management seriously. Also it is important to maintain regular effective communications. Being off campus can make one feel forgotten or ignored if communication is not 2 way on a regular basis.

The take-away message from experience gained during the Work from Home lockdowns of businesses of COVID19 suggest the following:

Below are some tips to help you or your employees be more successful working at home:

  • Create a comfortable workspace. Working in an office caters to keeping you focused and on track. Try to recreate this working space in your home, whether it’s turning an extra room into your office or putting a desk behind the couch. The space should be comfortable, away from added screens (TV, Xbox, etc.), and have everything you need to complete your work.

  • Stay organized. You might need to adopt a new organizing system or start using a day planner to make sure you stay on schedule. It’s recommended to create a weekly work schedule and list the tasks you need to complete. Staying committed to the schedule will help you create consistency and a routine.

  • Commit to smaller, but intense work intervals. You can be more productive when you focus intently for smaller periods of time. Spend a couple of hours timing how long you can work before getting distracted. For example, if you can work for 30 minutes before getting distracted, then continue this pace throughout the whole day. After each break, set a timer and work for the next 30 minutes uninterrupted.

  • Take a break. Taking regular breaks allows your brain to refocus and relax. In the Airtasker survey, 37% of the remote workers say taking regular breaks is the best way to stay productive. Use your break to get a snack, drink water, get fresh air, or check on your family. The average break time for a remote worker is 22 minutes spread out across the day.

  • Schedule a virtual commute. According to the New York Times, the hardest part of working from home is the loneliness and lack of social interaction. Taking your regular commute time to check in with co-workers can help support social interaction and focus your brain on the day’s work.

Digital nomads

4.8 Sustainable development

The success of Google was built on the motto “Don’t be evil” which was used in their corporate code of conduct. Although the parent company “Alphabet” took the motto “Do the right thing,” both statements are an ascent to the idea that true success and growth is never meant to cause harm to other. This concept of inclusion is reflected across the full range of Alphabet products where developers are encouraged to embrace the corporate ethos to “create - design - code - build for everyone.” In an era of growing corporate social responsibility (CSR), businesses are seeking to reach out and build their communities as part of their business activities.

4.8.1 United Nations Sustainable Development Goals

4.8.2 World Fair Trade Organization

Fair Trade

1.Creating Opportunities for Economically Disadvantaged Producers: Poverty reduction through trade forms a key part of the organization’s aims. The organization supports marginalized small producers, whether these are independent family businesses, or grouped in associations or co-operatives. It seeks to enable them to move from income insecurity and poverty to economic self-sufficiency and ownership. The organization has a plan of action to carry this out.

  1. Transparency and Accountability: The organization is transparent in its management and commercial relations. It is accountable to all its stakeholders and respects the sensitivity and confidentiality of commercial information supplied. The organization finds appropriate, participatory ways to involve employees, members and producers in its decision-making processes. It ensures that relevant information is provided to all its trading partners. The communication channels are good and open at all levels of the supply chain.

  2. Fair Trading Practices: The organization trades with concern for the social, economic and environmental well-being of marginalized small producers and does not maximize profit at their expense. It is responsible and professional in meeting its commitments in a timely manner. Suppliers respect contracts and deliver products on time and to the desired quality and specifications.

Fair Trade buyers, recognising the financial disadvantages producers and suppliers face, ensure orders are paid on receipt of documents and according to the attached guidelines. For Handicraft Fair Trade products, an interest free pre-payment of at least 50 % is made on request. For Food Fair Trade products, pre-payment of at least 50% at a reasonable interest is made if requested. Interest rates that the suppliers pay must not be higher than the buyers’ cost of borrowing from third parties. Charging interest is not required.

Where southern Fair Trade suppliers receive a pre payment from buyers, they ensure that this payment is passed on to the producers or farmers who make or grow their Fair Trade products.

Buyers consult with suppliers before canceling or rejecting orders. Where orders are cancelled through no fault of producers or suppliers, adequate compensation is guaranteed for work already done. Suppliers and producers consult with buyers if there is a problem with delivery, and ensure compensation is provided when delivered quantities and qualities do not match those invoiced.

The organization maintains long term relationships based on solidarity, trust and mutual respect that contribute to the promotion and growth of Fair Trade. It maintains effective communication with its trading partners. Parties involved in a trading relationship seek to increase the volume of the trade between them and the value and diversity of their product offer as a means of growing Fair Trade for the producers in order to increase their incomes. The organization works cooperatively with the other Fair Trade Organizations in country and avoids unfair competition. It avoids duplicating the designs of patterns of other organizations without permission.

Fair Trade recognizes, promotes and protects the cultural identity and traditional skills of small producers as reflected in their craft designs, food products and other related services.

  1. Payment of a Fair Price: A fair price is one that has been mutually agreed by all through dialogue and participation, which provides fair pay to the producers and can also be sustained by the market. Where Fair Trade pricing structures exist, these are used as a minimum. Fair pay means provision of socially acceptable remuneration (in the local context) considered by producers themselves to be fair and which takes into account the principle of equal pay for equal work by women and men. Fair Trade marketing and importing organizations support capacity building as required to producers, to enable them to set a fair price.

  2. Ensuring no Child Labour and Forced Labour: The organization adheres to the UN Convention on the Rights of the Child, and national / local law on the employment of children. The organization ensures that there is no forced labour in its workforce and / or members or homeworkers.

Organizations who buy Fair Trade products from producer groups either directly or through intermediaries ensure that no forced labour is used in production and the producer complies with the UN Convention on the Rights of the Child, and national / local law on the employment of children. Any involvement of children in the production of Fair Trade products (including learning a traditional art or craft) is always disclosed and monitored and does not adversely affect the children’s well-being, security, educational requirements and need for play.

  1. Commitment to Non Discrimination, Gender Equity and Women’s Economic Empowerment, and Freedom of Association: The organization does not discriminate in hiring, remuneration, access to training, promotion, termination or retirement based on race, caste, national origin, religion, disability, gender, sexual orientation, union membership, political affiliation, HIV/AIDS status or age.

The organization has a clear policy and plan to promote gender equality that ensures that women as well as men have the ability to gain access to the resources that they need to be productive and also the ability to influence the wider policy, regulatory, and institutional environment that shapes their livelihoods and lives. Organizational constitutions and by-laws allow for and enable women to become active members of the organization in their own right (where it is a membership based organization), and to take up leadership positions in the governance structure regardless of women’s status in relation to ownership of assets such as land and property. Where women are employed within the organization, even where it is an informal employment situation, they receive equal pay for equal work. The organization recognizes women’s full employment rights and is committed to ensuring that women receive their full statutory employment benefits. The organization takes into account the special health and safety needs of pregnant women and breast-feeding mothers.

The organization respects the right of all employees to form and join trade unions of their choice and to bargain collectively. Where the right to join trade unions and bargain collectively are restricted by law and/or political environment, the organization will enable means of independent and free association and bargaining for employees. The organization ensures that representatives of employees are not subject to discrimination in the workplace.

  1. Ensuring Good Working Conditions: The organization provides a safe and healthy working environment for employees and / or members. It complies, at a minimum, with national and local laws and ILO conventions on health and safety.

Working hours and conditions for employees and / or members (and any homeworkers) comply with conditions established by national and local laws and ILO conventions.

Fair Trade Organizations are aware of the health and safety conditions in the producer groups they buy from. They seek, on an ongoing basis, to raise awareness of health and safety issues and improve health and safety practices in producer groups.

  1. Providing Capacity Building: The organization seeks to increase positive developmental impacts for small, marginalized producers through Fair Trade.

The organization develops the skills and capabilities of its own employees or members. Organizations working directly with small producers develop specific activities to help these producers improve their management skills, production capabilities and access to markets – local / regional / international / Fair Trade and mainstream as appropriate. Organizations which buy Fair Trade products through Fair Trade intermediaries in the South assist these organizations to develop their capacity to support the marginalized producer groups that they work with.

  1. Promoting Fair Trade: The organization raises awareness of the aim of Fair Trade and of the need for greater justice in world trade through Fair Trade. It advocates for the objectives and activities of Fair Trade according to the scope of the organization. The organization provides its customers with information about itself, the products it markets, and the producer organizations or members that make or harvest the products. Honest advertising and marketing techniques are always used.

  2. Respect for the Environment: Organizations which produce Fair Trade products maximize the use of raw materials from sustainably managed sources in their ranges, buying locally when possible. They use production technologies that seek to reduce energy consumption and where possible use renewable energy technologies that minimize greenhouse gas emissions. They seek to minimize the impact of their waste stream on the environment. Fair Trade agricultural commodity producers minimize their environmental impacts, by using organic or low pesticide use production methods wherever possible.

Buyers and importers of Fair Trade products give priority to buying products made from raw materials that originate from sustainably managed sources, and have the least overall impact on the environment.

All organizations use recycled or easily biodegradable materials for packing to the extent possible, and goods are dispatched by sea wherever possible.

4.8.3 Digital Intelligence Quotient

Technology has its dark side and resulting social changes are not always healthy.

Electronic addictions

  • Internet addiction disorder: condition where excessive exploration on the internet interferes with normal interaction with family and friends. This condition Often causes spouse to feel like a computer widow, especially if pornography is involved.
  • Social media addiction: condition where excessive self promtion on social media sites interferes with normal inteactions with family and friends.
  • Gaming disorder: condition where game play use reduces the amount of face-to-face interactions thereby interfering significantly with an individual’s social and family interactions. Such individuals often find game environments far more rewarding and fulfilling than their situation.
  • Nomophobia: condition where an individual experiences anxiety due to the fear of not having access to a working mobile phone
  • Over-connection syndrome: condition where mobile phone use reduces the amount of face-to-face interactions thereby interfering significantly with an individual’s social and family interactions.
  • Hikikomori Syndrome: condition in which the affected individuals refuse to leave their residence, isolating themselves away from society and family in a single room for a period exceeding six months. Often associated with excessive gaming and programming.
  • Agent for good

  • Collective intelligence

  • Support for life-long learning

  • Gallery of human creativity

  • Mobilization fornoble causes

  • Community building

  • Access to information

  • Antisocial behaviors

4.8.3.1 Digital intelligence skills

8 digital skills we must teach our children

The world economic forum has suggested that the next generation will need to master the follow 8 skills: (Park 2016)

  • Digital identity: The ability to create and manage one’s online identity and reputation. This includes an awareness of one’s online persona and management of the short-term and long-term impact of one’s online presence.

  • Digital use: The ability to use digital devices and media, including the mastery of control in order to achieve a healthy balance between life online and offline.

  • Digital safety: The ability to manage risks online (e.g. cyberbullying, grooming, radicalization) as well as problematic content (e.g. violence and obscenity), and to avoid and limit these risks.

  • Digital security: The ability to detect cyber threats (e.g. hacking, scams, malware), to understand best practices and to use suitable security tools for data protection.

  • Digital emotional intelligence: The ability to be empathetic and build good relationships with others online.

  • Digital communication: The ability to communicate and collaborate with others using digital technologies and media.

  • Digital literacy: The ability to find, evaluate, utilize, share and create content as well as competency in computational thinking.

  • Digital rights: The ability to understand and uphold personal and legal rights, including the rights to privacy, intellectual property, freedom of speech and protection from hate speech.

Three levels of Digital Intelligence Quotient:

  • Level 1: Digital citizenship: able to use digital technology and media in safe, responsible and effective ways

  • Level 2: Digital creativity: Able to become a part of the digital ecosystem by co-creating new content and turning ideas into reality by using digital tools

  • Level 3: Digital entrepreneurship: Able to use digital media and technologies to solve global challenges or to create new opportunities

Understanding of a child trained as a Digital Citizen

Area of skill Description
Digital Citizen Identity able to build and manage a healthy identity online and offline with integrity
Screen-Time Management able to manage one’s screen time, multitasking, and one’s engagement in online games and social media with self-control
Cyberbullying Management able to detect situations of cyberbullying and handle them wisely
Cyber Security Management able to protect one’s data by creating strong passwords and to manage various cyberattacks
Digital Empathy able to show empathy towards one’s own and others’ needs and feelings online
Digital Footprints able to understand the nature of digital footprints and their real-life consequences and to manage them responsibly
Critical Thinking able to distinguish between true and false information, good and harmful content, and trustworthy and questionable contacts online
Privacy Management able to handle with discretion all personal information shared online to protect one’s and others’ privacy

Appendix

A Software used in this course

A.1 Fedena : Open source campus management system

Project Fedena Login

Project Fedena is the open-source, school and campus management system based on Ruby on Rails.14 Fedena was designed as a solution for schools and campuses to manage all campus records. It was initially developed and released by a team of developers at Foradian Technologies to the open source community who maintain this software.15 A demo website for Fedena has been established16 where you can log in in either of the following user roles:

  • Administrator– username: admin; password: admin123
  • Student– username: S1, password: 1123
  • Employee– username: E1, password: E1123

The business model is to allow users to use the core functions and purchase additional professional modules or paid expert assistance to guide users through the installation and setup process.

Core functions
- Courses and Batches - News Management
- Custom Student Remarks - Report Center
- Customisable Dashboards - SMS integration
- Employee/Teacher Login - Student Admission
- Examination - Student Attendance
- Finance and accounting - Student Information
- Human Resources - Student/Parent Login
- Institute/Event Calendar - User Management
- Messaging System
Professional Add-on modules
- API access (Pro+) - Hostel and dorms
- Applicant Registration (Pro+) - Instant Fee (Pro+)
- Assignment - Inventory
- Custom Import (Pro+) - Library
- Custom Report (Pro+) - Mobile App frame (Pro+)
- Data Management - Mobile Version (Pro+)
- Data export (Pro+) - Online exam (Pro+)
- Discipline - Payment Gateway (Pro+)
- Discussion - Placement
- Email integration (Pro+) - Poll
- Fee Import (Pro+) - Tally Integration (Pro+)
- Gallery - Task manager
- Google Doc - Theme and color scheme
- Google SSO - Transport

A.2 Joget Workflow and Joget DX

Joget Logo

Figure A.1: Joget Logo

Joget is an open source no-code/low-code application platform for faster, simpler digital transformation. Joget empowers business users, non-coders or coders to create enterprise applications for customer management, operational excellence, business process management and administration. The software system is available online or for download.17 Tutorials are available in PDF and YouTube formats.(Joget Community 2017)

A working Joget BPM App

Figure A.2: A working Joget BPM App

Joget apps are developed using visual programming to create both HTML forms to capture the key information related to the workflow and BPM graphics to represent the events, functions and logic associated with the business.

Visual programming of Joget apps

The resulting Joget app runs on the server and can be viewed with any browser on any device. These apps can be uploaded, downloaded, and even traded on the Joget Marketplace.

Joget apps: BPM driven, Web based apps

The system not only records the essential information associated with the workflow but it also tracks the progress of all jobs and the performance of all workers that use the system. In this way, the software can monitor all aspects of the business as well provide early warning about anomalies and potential bottlenecks.

Joget Operational data reports and dashboard

Data collected can be further subjected to AI, forecasting, threshold triggering and other data analytic functions in order to identify and understand underlying trends and patterns. This information can in turn be used to improve the performance and effectiveness of the system.

Joget AI and data analysis to identify trends and patterns

Figure A.3: Joget AI and data analysis to identify trends and patterns

Table: Joget Feature Comparison by Edition18

Feature CE PE EE
  • Build and run apps in browser using web-based, multilingual, multiuser and multi-platform interface designed and managed with Process Builder, Form Builder, Datalist Builder, and Userview Builder. Manage users, groups, organizational charts and reporting structures Uses JSON and JavaScript APIs to integrate with other Web and mobile apps.
X X X
  • Additional form functionality, Flexible tabular data lists and reports, Simplified CRUD support, list inbox displays workflow tasks with form data context for end-users Enterprise Process Features with support for calculation and display, dashboard capabilities, Calendar view, End-user interface themes, JasperReports.
X X
  • The App Generator that makes a base app directly from a form, Performance Analyzer to monitors the performance of apps and to identify bottlenecks, Enhanced Security Enterprise technical support from the Joget team.
X X
  • LDAP/Active Directory servers
X
  • License
GPL $80 $300| | |free | /px | /px

A.3 Orange HR

OrangeHR Logo

OrangeHRM is a comprehensive Human Resource Management (HRM) System that captures all the essential functionalities required for any enterprise. It was designed as an open source HRM solution for small and medium sized enterprises (SMEs) using MVC architecture. The source for OrangeHRM is released under the GNU General Public License.19 The basic open source edition is compatible with the additional entreprise edition modules allowing customers to start small and add features as needed. Documentation and user guides are available for both the community and enterprise editions.20

*Open source functions

  • Employee performance

  • Leave/Time off management

  • Online Training

  • Personnel information management

  • Recruitment

  • Request desk

  • Time/Attendance management

  • Additional modules of the Entreprize edition

    • Disciplinary tracking
    • Employee compliance
    • HR document management
    • Insurance and health benefits
    • Succession and Development
    • Training module
    • Travel abd expense tracker

A.4 Ruby on Rails

A.5 Power BI

A.6 Weebly e-Commerce

A.7 R and R Studio

R Studio provides a full service IDE that can capture all steps of data analysis in a single publishable document. In this way, the context and intent of the research is maintained in the same document as the commands for gather, cleaning and analyzing data. In addition, charts can also be included as well as citations and footnotes. The result documents can be encoded in markdown(Allaire et al. 2016) and uploaded as an interactive web page(Chang et al. 2020) or as a printable PDF document.(Xie 2014)

A.8 yEd

yEd Live

yEd is a powerful desktop application that can be used to quickly and effectively generate high-quality diagrams. Diagrams can be created manually, or generated from external analytical data imported into the application. Automatic layout algorithms are used to arrange data sets into readable graphs. Supports the development of a wide rangle of diagrams that including symbol palettes that support such standards as UML, ERP, BPMN, network diagrams and programming flowchart. The yEd was written in Java and is freely available for all major platforms: Windows, Unix/Linux, and macOS21 as well as a live version on the web.22 The information is captured in graphml (a variant of XML) and which can be used with other software tools to create emulators, case tools and other software generators.

Yeah! I have finished my book, but I have more to say about some topics. Let me explain them in this appendix.

To know more about bookdown, see https://bookdown.org.

Table A.1: The book development environment specs.
Entity Specifications
CPU x86_64-pc-linux-gnu (64-bit)
OS Linux Mint 19.3
Computing Env R version 3.4.4 (2018-03-15)

https://opensource-demo.orangehrmlive.com/

B Examples of Mission and Vision Statements

B.1 Purpose of mission and vision statements

Mission and vision statements provide useful insights into the ethos and intentions of businesses. Because a well written vision and mission statements can communicate the essence and direction of a business, these statements are useful objects to study. For IT departments they are useful guidelines for decision making.

Purpose of Vision and Mission statements
Statement Description
Vision Big picture of what you want to achieve; a statement of the intended destination
Mission General statement of how the vision will be achieved.

The effectiveness of vision and mission statement is seen in the ability of the statements to inspire and motivate. To this end, these statements tend to be short and easy to understand. A good mission statement can surprise, inspire, and transform a business. They provide a clearly stated purpose of the business and measurable goals for success of that cause. The best mission statements go hand-in-hand with corporate philosophy and culture and help guide a company from the present into the future. Basically, a mission statement defines your cause – something you want to accomplish. A vision statement defines what you want to pursue for your cause – it represents the future aspirations of your efforts. (Cherry 2019)

B.2 A collection of vision and mission statements

This section contains a collection of statements gathered from the websites of various international businesses and organizations. This diverse set of organizations was selected to to demonstrate the wide range of approaches and goals used by modern organizations as they attempt to attract and motivate customers, investors, staff and suppliers to support their core business activities.

  • Apple: Computer producer

    • Mission: To bring the best user experience to its customers through its innovative hardware, software, and services.
    • Vision: We believe that we are on the face of the earth to make great products and that’s not changing.
  • Amazon: Online retailer

    • Mission: We strive to offer our customers the lowest possible prices, the best available selection, and the utmost convenience.
    • Vision: to be Earth’s most customer-centric company, where customers can find and discover anything they might want to buy online.
  • AT&T: Telephone technology development company

    • Mission: To exploit technical innovations for the benefit of AT&T and its customers by implementing next-generation technologies and network advancements in AT&T’s services and operations.
    • Vision: To enrich our customers’ personal lives and to make their businesses more successful by bringing to market exciting and useful communications services, building shareowner value in the process.
  • Bible Study Fellowship: A religious organization

    • Mission: Global, in-depth Bible classes producing passionate commitment to Christ, His Word and His Christ
    • Vision: To magnify God and mature His people
  • CISCO: Manufacturor of computer networking equipment

    • Mission: To shape the future of the Internet by creating unprecedented value and opportunity for our customers, employees, investors, and ecosystem partners.
    • Vision: Inspiring leaders, creating change, and inclusivity
  • Coca Cola: A beverage manufacturer

    • Mission: to refresh the world in mind, body, and spirit, to inspire moments of optimism and happiness through our brands and actions, and to create value and make a difference.
    • Vision: inspiring each other to be the best we can be by providing a great place to work.
  • Compassion International: An international charity for children

    • Mission: Our mission is to release children from poverty in Jesus’ name.
    • Vision: We simply aspire to be like our Savior, Jesus Christ, in who we are and what we do.
  • Disney; Entertain company

    • Mission: To entertain, inform and inspire people around the globe through the power of unparalleled storytelling, reflecting the iconic brands, creative minds and innovative technologies that make ours the world’s premier entertainment company.
    • Vision: To entertain, inform and inspire people around the globe through the power of unparalleled storytelling, reflecting the iconic brands, creative minds and innovative technologies that make ours the world’s premier entertainment company.
  • Doctors without Borders: A disaster relief organization

    • Mission: To provide impartial medical relief to the victims of war, disease, and natural or man-made disaster, without regard to race, religion, or political affiliation
    • Vision: medical aid where it’s needed most—independent, neutral, impartial.
  • Frito-Lay: A snack manufacturer

    • Mission: To us, that means putting consumers first in every decision we make – from the quality and care that goes into making our snacks to the ways in which we give back to the community and care for our environment.
    • Vision: That is, winning in the marketplace, accelerating growth and keeping our commitment to the planet and our communities. A clear set of strategies that will make us Faster, Stronger, and Better, define this vision.
  • Google: Internet search and information services

    • Mission: To organize the world’s information and make it universally accessible and useful.
    • Vision: to provide access to the world’s information in one click.
  • Habitat for Humanity: Charity to providing and repairing homes

    • Mission: Seeking to put God’s love into action, Habitat for Humanity brings people together to build homes, communities and hope.
    • Vision: A world where everyone has a decent place to live
  • Honda: an automobile manufacturer

    • Mission: Maintaining a global viewpoint, we are dedicated to supplying products of the highest quality, yet at a reasonable price for worldwide customer satisfaction.
    • Vision: To serve people worldwide with the joy of expanding their life’s potential – Lead the advancement of mobility and enable people everywhere in the world to improve their daily lives.
  • Kickstarter: Crowd funding for projects

    • Mission: to bring creative projects to life. It’s where creators share new visions for creative work with the communities that will come together to fund them.
    • Vision: make ideas into reality.
  • Krispy Kreme: a donut company

    • Mission: to touch and enhance lives through the joy that is Krispy Kreme.
    • Vision: To be the worldwide leader in sharing delicious tastes and creating joyful.
  • Levi-Strauss: casual clothing company

    • Mission statement: We will market the most appealing and widely worn casual clothing in the world. We will clothe the world.
    • Vision: We are the embodiment of the energy and events of our times, inspiring people with a pioneering spirit.
  • McDonalds Corporation: a fast food chain

    • Mission: To be our customers’ favorite place and way to eat and drink
    • Vision To be the world’s best quick service restaurant experience. Being the best means providing outstanding quality, service, cleanliness, and value, so that we make every customer in every restaurant smile.
  • J. Sainsbury: UK retailer

    • Mission: Our mission is to be the consumer’s first choice for food, delivering products of outstanding quality and great service at a competitive cost through working faster, simpler, and together.
    • Vision: To be the most trusted retailer, where people love to work and shop. We’ll do this by putting our customers at the heart of everything we do and investing in our stores, our colleagues and our channels to offer the best possible shopping experience.
  • NASA: A government space agency

    • Mission: To drive advances in science, technology, aeronautics, and space exploration to enhance knowledge, education, innovation, economic vitality and stewardship of Earth
    • Vision: To discover and expand knowledge for the benefit of humanity
  • Oxfam: An international charity

    • Mission: To tackle the root causes of poverty and create lasting solutions
    • Vision: A just world without poverty
  • Starbucks: a coffee chain

    • Mission: To inspire and nurture the human spirit – one person, one cup and one neighborhood at a time.
    • Vision: To establish Starbucks as the premier purveyor of the finest coffee in the world while maintaining our uncompromising principles while we grow.
  • United Nations Office of the High Commissioner for Human Rights (OHCHR): UN Advocate for refugees and stateless people

    • Mission: to protect and promote all human rights for all and to lead and coordinate international action for the worldwide protection of refugees and the resolution of refugee problems
    • Vision: fostering an environment where refugees and stateless people belong to self-reliant, empowered, and resilient communities. They will be able to participate in, and benefit from, all aspects of their protection, including durable solutions.

C Directory of Sidebars

C.1 List of Exercises

  • Exercise 1.1: Linking business principles to market characteristics
  • Exercise 1.2: Philosophy of Business
  • Exercise 1.3: Key business concepts
  • Exercise 1.4: An ISO9001 compliant transaction
  • Exercise 1.5: ISO9001 and MacDonald’s
  • Exercise 1.6: Strategic Investment
  • Exercise 2.1: Business analysis with BPMN

C.1.1 Answers to some exercises

  • Ans. Exercise 1.1 : C, A, E, B, D, E

C.2 List of Suggested topics for Discussion

  • Discussion 1.1: Study of vision and mission statements
  • Discussion 1.2: A vision and mission for Payap University
  • Discussion 1.3: Impact of changes in life goals on business
  • Discussion 1.4: Changing goals of success in Singapore
  • Discussion 1.6: New generation 7-11 (Seven Eleven)
  • Discussion 1.5: Online ad strategies
  • Discussion 1.7: The mobile phone market
  • Discussion 1.8: Hybrid businesses

C.3 List of Supplemental Readings

  • Reading 1.1: General Electric Company: a brief history
  • Reading 1.2: Enterprise Resource Planning (ERP) Software
  • Reading 1.3: Enterprise Resource Management (ERM) Software
  • Reading 1.4: Core elements of open organizations
  • Reading 1.5: Common distructive behaviours of IT graduates
  • Reading 1.6: Key Benefits realized from COVID-19 Work from Home Lock-downs
  • Reading 2.1: Key reasons for modeling business processes with BPMN

D A guide for writing an effective business plan

A business plan is meant to be a road map / blueprint for the development and operation of a business. It is a tool to help staff and investors focus on how it will develop the capacity to be sustainable and profitable. The following sections were adapted from an online tutorial in the Prentice Hall online tutorial on developing e-Business plan (Prentice Hall 2003).

Business plan

Figure D.1: Business plan

D.1 Why should one write a business plan?

  • To acquire funding: A clear well description of the business is essential to attract prospective business partners, investors and start up funds. In cases of self-funded projects, this is essential for setting reasonable milestones.

  • To acquire other resources: Prospective landlords, equipment supplier, or application service providers often look for a viable business plan before entering into business partnerships.

  • To recruit senior management: Individuals who are qualified to manage the development of a business proposition will require a complete, yet concise description of the business.

  • To improve the ability to manage the new business: By committing business ideas to paper provides concrete goals and milestones that can measure success and guide the management of the development process. At the same time, the plan attempts to anticipate risks and avoid problems that might arise.

  • To create a realistic business plan to your business: Writing a business plan brings realism into the process. This includes analyzing competitors, figuring out how to reach target markets, and comparing projected revenue streams against realistic expense statements. This helps to minimize waste.

  • To decide whether the business is worth developing: The research that goes into a business plan provides important indications about the competition and profitabilability of the proposed business. This information provide a more realistic projection concerning the outcome of a business plan. For some ideas, the most valuable outcome of the plan is the realization that leads a decision not to proceed in a project that has little opportunity for success.

  • To keep you on track: The plan contains measurable goals and targets that can be used to assess actual performance. Goals and objectives set in the business plan can provide a standard for comparing actual results with anticipated goals.

D.2 Basic format of a business plan

  • The cover page

    • The project title: a meaningful title of the business project that includes the name of the proposed business.
    • The company name: The full legal name of company and division
    • Contact details: two easiest ways for the reader of the plan to contact the project
    • The principle name and contact details: prefixed by “Prepared by: of”Submitted by"
    • The intended audience for this business plan: prefixed by “Prepared especially for ….”
    • The current date of this revision of the business plan:
    • A statement of confidentiality especially needed when everything past the title page is to be treated as private and confidential
  • Executive Summary:

    • provides a synopsis of the key points and highlights of the entire e-business plan
    • acts as a miniature version of the e-business plan (restricted to 1-2 pg)
    • should read allow investors and managers understand the nature of the business enough to decide to read more
    • Concludes by stating the purpose of this business plan
  • Table of Contents

  • Business Description: Assignment 2: Identify the industry within which your e-business will operate and write an industry analysis.

  • Vision statement:

    • State of the intend goal and outcome of this business
  • Mission statement:

    • Draft a mission statement for your e-business. Include a paragraph or two that explains or justifies the mission statement. This mission statement may change slightly as you continue to develop your business idea, but it should also be complete and accurate enough to guide the formation of goals and the value proposition.
  • Business Goals and Objectives

    • This section focuses on 6 or more goals that state how the promise of the mission statement will be realized.

    • Each goal consists of a clear statement of what is to be accomplished within 2-3 lines of explanation.

    • Each goal statement is followed by a list of three or more objectives that contribute to the achievement of the goal. These should take the form of short-term, specific, verifiable conditions that must exist to fulfill the goal.

    • Well chosen goals have the following characteristics:

      • Derived from the mission statement: The starting point in writing business goals is to ask “what do we need to do to accomplish our mission.” In other words, a mission statement says “what” and business goals say “how.”
      • Task-oriented: A business goal must state what is to be accomplished as clearly as possible. Effective goals use action-oriented verbs such as deliver, implement, establish, and supply; avoid poor activity indicators such as facilitate and analyze that can mean nothing significant or measurable gets done.
      • Short term: Goals should be something an organization would accomplish in three years or less. Goals of e-commerce companies tend to be shorter (6 mons - 1 yr).
      • Specific: A goal must state, in one or two sentences, the conditions that will exist if the goal is to be accomplished. The more well-defined a goal is, the easier it will be to understand what is required and to measure successful achievement.
      • Challenging: A goal should challenge the people who are responsible for its achievement. A goal should require considerable effort but be achievable.
    • The objectives for each goal should contain the following:

      • Specific details: The objective tells exactly what, where, and how the problem or need is to be addressed.
      • Measurable: The objective tells exactly how much, how many, and how well the problem/need will be resolved.
      • Action-oriented: The objective uses “activity indicators” to insure that something will be done. As with goal-setting, use action-oriented verbs such as deliver, implement, establish, and supply.
      • Realistic: The objective is a result that can be achieved in the time allowed.
      • Time-bound: The objective includes a specific date for it’s achievement.
  • Value proposition

    • Formulate and write the value proposition of your e-business. This should be a paragraph or two that clearly states the benefits your business will offer to customers and justifies why this is an important proposition for customers and in the marketplace.
  • Business Model

    • Select one or two (rarely three or more) business model(s) that accurately describe your proposed business activities. For each model, identify it and briefly describe the model as it applies to your business idea. Include the value proposition (from assignment 6) and the revenue model in your description.
  • Description of intended products and services

    • Write a products and services section for your e-business.
  • Market Analysis:

    • Identify and briefly describe at least two and no more than three target markets for your e-business. Make sure your markets are scoped correctly – not too broad and not too narrow. Your description should include as many demographic, geographical, psychographic, and consumer characteristics as possible.
  • Target market

    • Complete your description of your target markets by adding objective, quantitative data to the general description you completed in assignment 9. Based on your market research, you may have to make minor adjustments in your target markets.
  • Analysis of competition:

    • Direct competitors: a competitive analysis grid of those who supply similar products to the target market

    • Indirect competitors: a listing of those who address the needs of the target market in other ways

    • Future competitors: a listing of competitors and technologies that have the potential of becoming a competitor in the future.

    • Identify 1-3 competitors who are popular with your target markets. Conduct a critique of their Web sites using resources such as those listed above

  • Competitive advantages

    • SWOT Risk assess
    • Use one or both of the approaches described above to identify at least one (hopefully more) sources of competitive advantage for your business.
    • Given the results of SWOT analysis describe how commercial success could be achieved.
    • Identify the most appropriate type of advantage :
      • Cost leadership: lowest cost
      • Differentiation: product has outstanding features
      • Innovation: product creates a new way of doing business
      • Growth: opportunities to expand into new markets
      • Alliance: production, promotion, and distribution improved through partnerships
      • Time: reduce product cycle time or save time/effort
  • Operations plan:

    • Describe the nature of the work: Create a list of required workflows and dataflows
    • Determine the warehouse capacity needed to handle raw materials and products needed for a production cycle
    • Physical development: Determine what facilities and equipment will be needed and in which order and timeframe.
    • Network analysis: Determine the requirements for data systems, as well as the flow of information and reporting structure
    • B2B support: determine the nature of interaction with suppliers, shippers and vendors
  • Data plan

    • Inventory, Marketing and sales: determine the interaction between online B2B and B2C marketing and sales and POS and distribution through consignments.
    • MIS support: determine the appropriate systems for tracking operational data
    • Customer and vendor support: develop the goals and methods for managing relations with customeres
    • Determine the type and size of the database to support these systems
  • Web-based development plan:

    • List of the functions that the website is expected to support and the corresponding features that will be required. Determine a development and installation plan for features to be implemented.
    • Web site requirement: Determine the appropriate systems for supporting advertising, and sales as well as customer and vendor support
    • Intranet requirements: Determine the needs for a distributed database and the security to surround the internal services for needed for accounting, HR, payroll, taxation and customs
    • Security and backup Determine the need for firewalls, backup and security.
    • Web brand: list out the steps to be taken to establish web presence, online footprint and branding.
  • Financial Statements:

    • The financial plan estimates the monetary resources and flows that will be required to carry out the business plan.
    • The financial plan also indicates when and by how much the business intends to be profitable.
    • Estimated finances should include:
      • Budget
      • Income and expense statement
      • Balance sheet
      • Cash flow
    • The estimates costs and pricing needs to be compared with existing businesses in similar fields
    • Funding and grant opportunities
  • Business Development Plan

    • Establish the Qunatity Assurance plan.
    • Determine a schedule that marks when milestones will be reached and and when basic services/products will be launched
    • Determine a schedule for subsequent improvements and upgrades
    • Determine a schedule for the growth of production/services
    • Determine the schedule for customer support services
  • Brand and Product Marketing Plan

    • Advertising plan
    • Customer contact list development
    • Marketing campaign
    • Key ad word study
    • Website analytics
  • Conclusion

    • The summary needs contain:
      • a short, upbeat, and informative summary of what the business project intends to do
      • a clear statement of what is expected from the recipient of the business plan.

E An Example of Behaviour Driven Development

E.1 Overview

HiLo is a simple guessing game where the computer is choosing a random number which the player must guess. After each guess, the computer will reveal whether the guess was correct or too high or too low. The object of the game is to identify the number with the fewest number of guesses. The following is a simple prototype of a HiLo console application written in Ruby.

A HiLo game written as a Ruby console application

def startGame()
    refnum = rand(100) + 1
      puts "Welcome to a game of HiLo"
      nextstep = :guessnum
end

def guessNum()
    print "Guess a number:"
    guess = gets.chomp.to_i
    if guess < refnum
       puts "Too low"
       nextstep = :guessGame
    elsif guess > refnum
       puts "Too high"
       nextstep = :guessGame
    else
       puts "Correct"
       nextstep = :anotherGame
    end
end
nextstep = :startgame
until nextstep.eql?(:exit) do
  case(nextstep)
  when :startgame
       startGame()
  when :guessnum
       nextstep = guessNum()
  when :anotherGame
    print "Another game?"
    intent = gets
    if intent[0].upcase.eql?("Y")
       nextstep = :startgame
    else
       nextstep = :exit
    end
  else
      nextstep = :exit
  end
end
puts "Good-bye"

E.2 Feature development and testing

Each of the features were developed and tested in the order given in the feature map. The principle was to quickly develop the functions that would support just the feature as described. During testing and review other aspects of this feature can be discussed and additions approved by consensus. As new features are added, some refractoring will be required both to the class definition as well as previously tested feature and step definitions. In this section, the original feature definition are given. The next section gives the final code base for this application.

E.2.1 Step 1: Feature mapping

The features for the program are written on cards or sticky notes along with test examples. The collection of ideas are discussed with their test examples and reorganized according to a progression that would demonstrate the nature of application being developed.

Feature cards of a HiLo Game with test examples

Figure E.1: Feature cards of a HiLo Game with test examples

The feature cards were discussed and a minimal product was identified. The development sequence for the other features was also determined so that the product could be released and tested in 4 subsequent versions as described below:

Feature and version mapping

  1. Comparison of 2 numbers: implementing a function to compare a guess to a reference number in order to suggest the general direction of the next guess

  2. Basic play: implement the sequence of functions to support the various stages of a game.

  3. Robust play: bullet proof the program so that unexpected input will not hang the program

  4. Multilingual support: Add the ability to switch the between the display of Thai and English messages

E.2.2 Step 2: Implementation and Testing of the First Feature

The idea is to quickly develop a version of the application with minimal functions that can demonstrate to the user the basic direction and nature of the intended development. This minimal version would become the basis for future versions as more features are developed later. The following is the feature file for the minimal product.

# --- FILE: features/cmpnum.feature
Feature: Compare numbers

  In the role of the User, I need to the system
  to compare 2 numbers to suggest my next move

Background: Establish a game object and refnum
   Given a Game is established
   And the Game is started
   And the Game chooses 65

Scenario: The guess is larger than the number
   When the user guess "75"
   Then the Game responds "Too high" 
  
Scenario: The guess is smaller than the number
   When the user guess "45"
   Then the Game responds "Too low" 

Scenario: The guess is equal to the number
   When the user guess "65"
   Then the Game responds "Correct" 

A corresponding step definition file is created to provide natural language processing of the steps in the feature file. The parsed information is then passed to the Ruby class for this Game.

require "hilo"
require "test/unit/assertions"

World(Test::Unit::Assertions)

Given('a Game is established') do
  @game = HiLo.new()
end

Given('the Game is started') do
  @game.nextStep = :startGame
  @game.doNextStep
  assert_equal(:playGame, @game.nextStep)
  assert_not_nil(@game.refNum)
end
  
Given('the Game chooses {int}') do |refNum|
   @game.refNum = refNum
   assert_equal(refNum, @game.refNum)
end

When('the user guess {string}') do |guess|
   @game.playGame(guess)
end

Then('the Game responds {string}') do |message|
    assert_equal(message,@game.cmpResult)
end

The step definition file calls the first functions to be added to the HiLo class definition. The last 7 lines turn the class definition provides the code needed to run this class library as an executable program.

class HiLo
   attr_accessor :refNum, :guess,:cmp

   OUTCOME = ["Too low","Correct","Too high"]

   def initialize(lang="English")
       @nextStep = :startGame
   end

   def doNextStep
       case @nextStep
       when :startGame
                  startGame()
       when :playGame
            playGame()
       else @nextStep = :exit
       end
   end
   
   def startGame
       puts "Welcome to a Game of HiLo"
       @refNum = 1 + rand(100)
       @nextStep = :playGame
   end
   
   def playGame(guess=nil)
       if guess.nil?
          print "Enter your guess"
          guess = gets.chomp
       end
       
       @guess = guess.to_i
       
       if !@guess.nil?
       @cmp = if @refNum > @guess
                -1
              elsif @refNum == @guess
                 0
              else
                 1
              end
          puts cmpResult
       end
       @nextStep = :exit
   end

   def cmpResult
       OUTCOME[1 + @cmp]
   end

   def close
       puts "Goodbye"
   end
end

if __FILE__ == $0
   @game = HiLo.new
   until @game.nextStep.eql?(:exit)
      @game.doNextStep
   end
   puts @game.close
end

E.2.3 Step 3: Implementation of Feature 2 (Basic Game Play)

The idea here is to extend the number compariso to produce a minimalist version of the game that can be used to the design concept. The following feature definition was used to guide the development and testing of the functions/methods within the game class library.

# --- FILE: features/playgame.feature

Feature: Compare numbers

  In the role of a game player
  I need to be able to play the game
  to enjoy a simple game of HiLo

Background: Standard setup for all scenarios
   Given a Game is established
   Then the next step is "choose"

Scenario: Start a new game
   When the Game is started
   And the Game chooses 65
   Then the next step is "playGame"

Scenario: The guess is smaller than the number
   Given the Game is started
   And the Game chooses 65
   When the user guess "45"
   Then the Game responds "Too low"
   And the next step is "playGame"
  
Scenario: The guess is smaller than the number
   Given the Game is started
   And the Game chooses 65
   When the user guess "75"
   Then the Game responds "Too high"
   And the next step is "playGame"

Scenario: The guess is equal to the number
   Given the Game is started
   And the Game chooses 65
   When the user guess "65"
   Then the Game responds "Correct"
   And the next step is "choose"

Scenario Outline: The user chooses the menu items
   When I respond "<resp>"
   Then the next step is "<nxtstep>"
 
 Examples: 
  
    | resp | nxtstep    |  
    | P    | startGame  |
    | X    | exit       |

The following step definitions were used to parse the details of this feature.

require "hilo"
require "test/unit/assertions"

World(Test::Unit::Assertions)

Then('the next step is {string}') do |setLabel|
  assert_equal(setLabel,@game.nextStep.to_s)
end

When('I respond {string}') do |response|
  @game.choose(response)
end

E.2.4 Step 4: Implement and Test Feature 3 (Bullet proofing the input)

This stage will extend the tested code of basic game play to prevent the program from hanging or crashing when unusuAL or unexpected user responses are given.



Background: Standard setup for all scenarios
   Given a Game is established
   When the Game is started
   And the Game chooses 65
   Then the next step is "playGame"


Scenario: The guess is a really large number
   When the user guesses "1000"
   Then the Game ignores the input
   And the next step is "playGame"
  
Scenario: The guess is a really small number
   When the user guesses "-1000"
   Then the Game ignores the input
   And the next step is "playGame"
   
Scenario: The guess is a nonnumber
   When the user guesses "Fiddle sticks"
   Then the Game ignores the input
   And the next step is "playGame"

Scenario: The user types a wierd response to the menu
   Given the next step is set to "choose"
   When I respond "Fiddle sticks"
   Then the next step is "choose"

Scenario: The user types a numeric response to the menu
   Given the next step is set to "choose"
   When I respond "1234"
   Then the next step is "choose"

E.2.5 Step 5: Implement and Test Feature 4 (Multilingual support)

# --- FILE: features/multilingual.feature

Feature: Provide support for Thai messages

  In the role of the User
  I want the system to display messages in Thai
  to allow my friends to play this game

Scenario: The game is in Thai mode
   Given a Game is established
   And the language is set to "Thai"
   When the message is "Goodbye"
   Then the Game shows "ลาก่อน"

Scenario: The game is in English mode
   Given a Game is established
   And the language is set to "English"
   When the message is "Goodbye"
   Then the Game shows "Goodbye"

Scenario: Message without Thai equivalent shown in English
   Given a Game is established
   And the language is set to "Thai"
   When the message is "New message"
   Then the Game shows "New message"
   
Scenario Outline: Tests all messages
   Given a Game is established
   And the language is set to "Thai"
   When the message is "<label>"
   Then the Game shows "<message>"

 Examples:
   
    | label      | message  |
    | Correct    | ถูกต้อง    |
    | Enter your guess: | ระบุตัวเลข |
    | Goodbye    | ลาก่อน    |
    | Too high   | ใหญ่เกินไป |
    | Too low    | เล็กไป    |
    | Welcome to a Game of HiLo | เรียนเชิญเล่นเกม HiLo |
    | What language?[TE] | อยากได้ภาษาอะไร [TE] |
    | No Translation | No Translation|

Scenario Outline: Tests all in English
   Given a Game is established
   And the language is set to "English"
   When the message is "<label>"
   Then the Game shows "<message>"

  Examples:
   
   | label      | message     |
   | Another game? | Another game? |
    | Correct    | Correct     |
    | Enter your guess: | Enter your guess: |
    | Goodbye    | Goodbye     |
    | Too high   | Too high    |
    | Too low    | Too low     |
| Welcome to a Game of HiLo | Welcome to a Game of HiLo |
   | What language?(TE) | What language?(TE) |

## Final Codebase

E.2.6 Refactored Feature definitions

The feature definitions were updated to adjust for changes in system design that occurred when new features were added.

E.2.6.1 Comparison of Numbers

# --- FILE: features/cmpnum.feature

Feature: Compare numbers

   In the role of the User
   I need to the system to compare 2 numbers
   to suggest my next move

Background: Establish a game object and refnum
   Given a Game is established
   And the Game is started
   And the Game chooses 65

Scenario: The guess is larger than the number
   When the user guess "75"
   Then the Game responds "Too high" 
  
Scenario: The guess is smaller than the number
   When the user guess "45"
   Then the Game responds "Too low" 

Scenario: The guess is equal to the number
   When the user guess "65"
   Then the Game responds "Correct" 

E.2.6.2 Basic game play features

# --- FILE: features/playgame.feature

Feature: Compare numbers

  In the role of a game player
  I need to be able to play the game
  to enjoy a simple game of HiLo

Background: Standard setup for all scenarios
   Given a Game is established
   Then the next step is "choose"

Scenario: Start a new game
   When the Game is started
   And the Game chooses 65
   Then the next step is "playGame"

Scenario: The guess is smaller than the number
   Given the Game is started
   And the Game chooses 65
   When the user guess "45"
   Then the Game responds "Too low"
   And the next step is "playGame"
  
Scenario: The guess is smaller than the number
   Given the Game is started
   And the Game chooses 65
   When the user guess "75"
   Then the Game responds "Too high"
   And the next step is "playGame"

Scenario: The guess is equal to the number
   Given the Game is started
   And the Game chooses 65
   When the user guess "65"
   Then the Game responds "Correct"
   And the next step is "choose"

Scenario: InThe user chooses a menu item in response
   When I respond "lang"
   Then the next step is "changeLang"

Scenario: The user chooses a non-menu item respond
   When I respond "wierd"
   Then the next step is "choose"   

Scenario Outline: The user chooses the menu items
   When I respond "<resp>"
   Then the next step is "<nxtstep>"
 
 Examples: 
  
    | resp | nxtstep |  
    | P | startGame  |
    | L | changeLang |
    | V | verbose    |
    | X | exit       |

E.2.6.3 Robust Game Play

Background: Standard setup for all scenarios
   Given a Game is established
   When the Game is started
   And the Game chooses 65
   Then the next step is "playGame"

Scenario: The guess is a really large number
   When the user guesses "1000"
   Then the Game ignores the input
   And the next step is "playGame"
  
Scenario: The guess is a really small number
   When the user guesses "-1000"
   Then the Game ignores the input
   And the next step is "playGame"
   
Scenario: The guess is a nonnumber
   When the user guesses "Fiddle sticks"
   Then the Game ignores the input
   And the next step is "playGame"

Scenario: The user types a wierd response to the menu
   Given the next step is set to "choose"
   When I respond "Fiddle sticks"
   Then the next step is "choose"

Scenario: The user responds to the menu with a number
   Given the next step is set to "choose"
   When I respond "1234"
   Then the next step is "choose"

E.2.6.4 Multilingual support

# --- FILE: features/multilingual.feature

Feature: Provide support for Thai messages

  In the role of the User
  I want the system to be able to communicate in
  Thai to allow my friends to play this game

Scenario: The game is in Thai mode
   Given a Game is established
   And the language is set to "Thai"
   When the message is "Goodbye"
   Then the Game shows "ลาก่อน"

Scenario: The game is in English mode
   Given a Game is established
   And the language is set to "English"
   When the message is "Goodbye"
   Then the Game shows "Goodbye"

Scenario: Messages without Thai equivalent
     are always shown in English
   Given a Game is established
   And the language is set to "Thai"
   When the message is "New message"
   Then the Game shows "New message"
   
Scenario Outline: Tests all messages
   Given a Game is established
   And the language is set to "Thai"
   When the message is "<label>"
   Then the Game shows "<message>"

 Examples:
   
   | label      | message  |
    | Correct    | ถูกต้อง    |
    | Enter your guess: | ระบุตัวเลข |
    | Goodbye    | ลาก่อน    |
    | Too high   | ใหญ่เกินไป |
    | Too low    | เล็กไป    |
   | Welcome to a Game of HiLo | เรียนเชิญเล่นเกม HiLo |
   | What language?[TE] | อยากได้ภาษาอะไร [TE] |
   | No Translation | No Translation|

Scenario Outline: Tests all in English
   Given a Game is established
   And the language is set to "English"
   When the message is "<label>"
   Then the Game shows "<message>"

  Examples:
   
    | label      | message     |
    | Another game? | Another game? |
    | Correct    | Correct     |
    | Enter your guess: | Enter your guess: |
    | Goodbye    | Goodbye     |
    | Too high   | Too high    |
    | Too low    | Too low     |
| Welcome to a Game of HiLo | Welcome to a Game of HiLo |
    | What language?(TE) | What language?(TE) |

E.2.7 Refactored Step Functions

E.2.7.1 Scenario steps for number comparisons

require "hilo"
require "test/unit/assertions"

World(Test::Unit::Assertions)

Given('a Game is established') do
  @game = HiLo.new()
end

Given('the Game is started') do
  @game.nextStep = :startGame
  @game.doNextStep
  puts @game.inspect
  assert_equal(:playGame, @game.nextStep)
  assert_not_nil(@game.refNum)
end
  
Given('the Game chooses {int}') do |refNum|
   @game.refNum = refNum
   assert_equal(refNum, @game.refNum)
end

When('the user guess {string}') do |guess|
   @game.playGame(guess)
end

Then('the Game responds {string}') do |message|
    assert_equal(message,@game.cmpResult)
end

E.2.7.2 Scenario steps for basic game play

require "hilo"
require "test/unit/assertions"

World(Test::Unit::Assertions)

Then('the next step is {string}') do |setLabel|
  assert_equal(setLabel,
             @game.nextStep.to_s)
end

When('I respond {string}') do |response|
  @game.choose(response)
end

E.2.7.3 Scenario steps for robust game play

require "hilo"
require "test/unit/assertions"

World(Test::Unit::Assertions)


When('the user guesses {string}') do |guess|
  @game.playGame(guess)
end

Given('the next step is set to {string}') do |string|
  @game.choose(string)
end

Then('the Game ignores the input') do
   assert_nil(@game.guess)
end

E.2.7.4 Scenario steps for multilingual support

require "hilo"
require "test/unit/assertions"

World(Test::Unit::Assertions)

Given('the language is set to {string}') do |lang| 
   @game.setLang(lang)
   assert_equal(lang, @game.lang)
end

When('the message is {string}') do |label|
   @label = label
end

Then('the Game shows {string}') do |message|
   assert_equal(message,
          @game.displayLabel(@label))
end

E.3 Hilo Class Definition

class HiLo
   attr_accessor :refNum, :guess,:cmp, :nextStep,
           :lang, :verbose, :guessCount, :minGuess,
           :maxGuess

   OUTCOME = ["Too low","Correct","Too high"]

   TRANSLATION = {"Correct" => "ถูกต้อง",
        "Enter your guess:" => "ระบุตัวเลข",
                  "Goodbye" => "ลาก่อน",
"Menu: [P]lay, [L]anguage, [V]erbose, e[X]it" =>
            "รายการ: P-เล่นเกมส์, L-เปลี่ยนภาษา" +             "V-แสดงทุกอย่าง, X-ออกแอพ",
                 "Too high" => "ใหญ่เกินไป",
                  "Too low" => "เล็กไป",
                    "tries" => "ครั้ง",
"Welcome to a Game of HiLo" => "เรียนเชิญเล่นเกม HiLo",
      "What language?[TE]" => "อยากได้ภาษาอะไร [TE]"}
 
   def initialize(lang="English")
       @nextStep = :choose
       setLang(lang)
       @verbose = true
   end

   def choose(choice=nil)
       displayLabel "Menu: [P]lay, [L]anguage, "+
                         "[V]erbose, e[X]it"
       if choice.nil?
          choice = gets.chomp
       end

       case choice[0].upcase
       when "P"
            @nextStep = :startGame
       when "L"
            @nextStep = :changeLang
       when "V"
            @nextStep = :verbose
       when "X"
            @nextStep = :exit
       else
            @nextStep = :choose
       end
   end
 
   def doNextStep
       case @nextStep
       when :anotherGame
            anotherGame()
       when :choose
            choose()
       when :changeLang
            setLang()
       when :playGame
            playGame()
       when :startGame
            startGame()
       when :verbose
            toggleVerbose()
       else @nextStep = :exit
       end
   end
   
   def startGame
       displayLabel "Welcome to a Game of HiLo"
       puts "\n"
       @refNum = 1 + rand(100)
       @minGuess = 1
       @maxGuess = 100
       @guessCount = 0
       @nextStep = :playGame
   end
   
   def toggleVerbose()
       @verbose = ! @verbose
       @nextStep = :choose
   end

   def playGame(guess=nil)
       if guess.nil?
          displayLabel "Enter your guess"
          if @verbose
              print "(#{@minGuess}-#{@maxGuess}) "
          end
          guess = gets.chomp
       end
       
       @guess = ckGuess(guess)
       
       if @guess.nil?
          @nextStep = :playGame
       else
          findNextAction
       end
   end
    
   def ckGuess(guess)
       g = guess.to_i
       if (g < 1) || (g > 100)
           g = nil
       else
           g
       end
   end
    
   def cmpResult
       OUTCOME[1 + @cmp]
   end
       
   def compare
       @guessCount += 1
       @cmp = if @refNum > @guess
                 @minGuess = @guess + 1
                -1
              elsif @refNum == @guess
                 0
              else
                 @maxGuess = @guess - 1
                 1
              end
   end
        
   def findNextAction
       compare
       displayLabel cmpResult
       if @cmp.eql?(0)
          print " #{(@guessCount)} "
          displayLabel "tries"
          puts
          @nextStep = :choose
       else 
          puts "\n"
          @nextStep = :playGame
       end
   end
       
   def displayLabel(lbl)
       if @lang.eql?("Thai") && !TRANSLATION[lbl].nil?
            lbl = TRANSLATION[lbl]
       end      
       print lbl," "
       lbl
   end
   
   def setLang(lang=nil)
       if lang.nil?
          displayLabel "Which language? [T|E]"
          lang = gets[0].chomp
       end
       if lang[0].upcase.eql?("T")
          @lang = "Thai"
       else
          @lang = "English"
       end
       @nextStep = :choose
   end   
        
   def close
       displayLabel "Goodbye"
       puts "\n"
   end
    
end

if __FILE__ == $0
   @game = HiLo.new
   until @game.nextStep.eql?(:exit)
      @game.doNextStep
   end
   puts @game.close
end

F Installing Ruby on Rails

Heroku is a good website for developing and testing Ruby on Rails applications. Yukihiro Matsumoto, the chief author and designer of the Ruby programming language, joined Heroku in 2011 as Chief Architect for Ruby. The website number of useful tutorials and guides. The installation is best done by following the guide for getting started.23

Setting up Ruby on Rail Development on Heroku
Description of th setup steps
  1. Sign up for a free account at Heroku.com
  1. Follow the instruction for installation with your local computer that are posted online at https://devcenter.heroku.com/articles/getting-started-with-rails5
  1. Use the heroku shell app to login to the Heroku cloud from your computer. heroku login
  1. In your shell, create a local work directory for your heroku projects and make this directory the current working directory.
  1. Install Git for Windows.
  1. Install Ruby version 2.5.7
  1. Install rails from the gem without the documentation.
  1. Create a new Rail workspace on your computer
  1. Install the Heroku gem.
  1. Run Bundler to update all GEM files needed.
  1. Generate a test scaffold of a class you will need.
  1. Run the local Rails server and test website with a browser.
  1. Push the Rails app to Heroku
  1. Activate the Heroku website site
  1. Test the online version of your website in your favorite browser.
  1. Add models, controllers, views, templates and helpers for your application.
  1. Develop and run unit test.
  1. Update the online version.

Alternatively, Bitnami has a full Ruby stack that can be used to develop Ruby on Rails application.24

{backmatter}

References

Allaire, JJ, Joe Cheng, Yihui Xie, Jonathan McPherson, Winston Chang, Jeff Allen, Hadley Wickham, Aron Atkins, and Rob Hyndman. 2016. Rmarkdown: Dynamic Documents for r. https://CRAN.R-project.org/package=rmarkdown.
Amazon.com. 2016. Introducing Amazon Go and the world’s most advanced shopping technology.” https://youtu.be/NrmMk1Myrxc.
Apollo Technical LLC. 2021. Surprising working from home productivity statistics.” https://www.apollotechnical.com/working-from-home-productivity-statistics/.
Arkcoll, Philip. 2020a. “Update: The Impact of COVID-19/WFH on Work Habits.” https://www.worklytics.co/blog/.
———. 2020b. What Are the Best Companies Doing to Adapt to Work From Home? https://www.worklytics.co/blog/.
Belbin, R. Meredith. 2010. Management Teams: Why They Succeed or Fail. Second. Elsevier Ltd.
Benedict, Tony. 2018. “The BPM Profession: ABPMP Standards for Business Process Management (BPM).” https://www.abpmp.org/page/BPM_Profession; The Association of Business Process Management Professionals International.
Benedict, Tony, Nancy Bilodeau, Phil Vitkus, Emmett Powell, Dan Morris, Marc Scarsig, Denis Lee, et al. 2013. Guide to the Business Process Management Body of Knowledge (BPM CBOK). 3.0 ed. The Association of Business Process Management Professionals International.
Business Process Simulator. 2018. Reference Guide.” https://www.bpsimulator.com/en/help.
Camunda Corporation. 2018a. “BPMN Editor.” https://camunda.com.
———. 2018b. “BPMN Tutorial.” https://camunda.com/bpmn.
CFI Education Inc. 2020. “5c Analysis: A Marketing Framework for Analyzing a Company’s Operating Environment.” https://corporatefinanceinstitute.com/resources/knowledge/strategy/5c-analysis-marketing.
Chang, Winston, Joe Cheng, JJ Allaire, Yihui Xie, and Jonathan McPherson. 2020. Shiny: Web Application Framework for r. https://CRAN.R-project.org/package=shiny.
Cherry, Baylor. 2019. “18 Captivating Mission Statement Examples You Need to Read.” https://www.bluleadz.com/blog/15-of-the-very-best-mission-statement-examples.
Consortium, Cucumber. 2019. “The Cucumber Reference.” https://cucumber.io/docs/cucumber/.
Cucumber. 2019. “The Gherkin Reference.” https://cucumber.io/docs/gherkin/.
Dewey, John. 1910. “How We Think.” https://www.gutenberg.org/ebooks/37423; Heath; Company.
Fisher, SG, TA Hunter, and WDK Macross. 1998. “The Distribution of Belbin Team Roles Among UK Managers.” Personnel Review 29: 124–40.
Free Software Foundation. 2018. “What Is Free Software?” https://www.gnu.org/philosophy/free-sw.html; Free Software Foundation, Inc.
Gates, Bill. 1999. Business at the Speed of Thought: Using a Digital Nervous System. New York, NY, USA: Time Warner.
Hoffman, Chris. 2018. “What Is a CryptoKitty?” https://www.howtogeek.com/354535/what-the-is-a-cryptokitty.
Hofstede, Geert, Gert Jan Hofstede, and Michael Minkov. 2010. Cultures and Organizations: Software for the Mind. Third. McGraw-Hill.
Hohpe, Gregor. 2017a. “37 Things One Architect Knows about IT Transformation: A Chief Architect’s Journey.” https://leanpub.com/37things.
———. 2017b. “Enterprise Architecture Equals Architecting the Enterprise?” YOW! Conferences; Workshops for Developers by Developers; https://youtu.be/pUYEVJVNSGc.
International Organization for Standardization. 2015. “ISO 9001:2015(en) Quality Management Systems.” https://www.iso.org/obp/ui/#iso:std:iso:9001.
———. 2019. “The ISO 9000 Family - Quality Management.” https://www.iso.org/iso-9001-quality-management.html.
Joget Community. 2017. “Joget DX 7 Knowledge Base: User Reference.” https://dev.joget.org/community/display/DX7/User+Reference.
Kaggle. 2017. “Employee Churn Prediction: Determining What Factors Predicts an Employee Leaving His/Her Job.” https://www.kaggle.com/c/employee-churn-prediction/data.
Magento Inc. 2019. “2019 Critical Questions to Ask When Evaluating an eCommerce Platform.” http://www.magento.com.
Management Study Guide. 2018. “Performance Appraisal.” https://www.managementstudyguide.com/performance-appraisal.htm.
Park, Yuhyun. 2016. “8 Digital Skills We Must Teach Our Children.” https://www.weforum.org/agenda/2016/06/8-digital-skills-we-must-teach-our-children/; DQ Institute.
Porter, Michael J. 1979. “How Competitive Forces Shape Strategy.” Harvard Business Review 57 (2): 137–45.
———. 2008. On Competition. Updated and Expanded. Harvard Business School Publishing.
Prentice Hall. 2003. “Introduction to the e-Business Plan Tutorial.” Prentice Hall online, "https://wps.prenhall.com/wps/media/objects/260/267260/tutorial/TutIntro.html".
Ross, Jeanne W., Peter Weill, and David C. Robertson. 2006. Enterprize Architecture as Strategy: Creating a Foundation for Business Execution. Harvard Business Review Press.
Royal Thai Embassy. 2016. “Thailand 4.0.” http://thaiembdc.org/thailand-4-0-2.
Saleh, Khalid. 2019. “Global Online Retail Spending: Statistics and Trends.” https://www.invespcro.com/blog/global-online-retail-spending-statistics-and-trends/; Invesp.
Short, Chris. 2017. “5 Laws Every Aspiring DevOps Engineer Should Know.” In The Open Organization Guide to IT Culture Change: Open Principles and Practices for a More Innovative IT Department. https://opensource.com/open-organization/17/5/5-devops-laws; The Open Orgnization.
Simon, Herbert A. 1955. “A Behavioral Model of Rational Choice.” Quarterly Journal of Economics 69: 99–118.
Singapore National Youth Council Youth Conversations. 2019. “We Are More: Amplifying the Voices of Our Youth.” Singapore Ministry of Culture, Community,; Youth; https://youthconversations.wpcomstaging.com/wp-content/uploads/2019/03/NYC-Youth-Conversations-Publication-2019.pdf.
Sneader, Kevin, and Shubham Singhal. 2020. “Beyond Coronavirus: The Path to the Next Normal.” https://www.mckinsey.com/~/media/McKinsey/Industries/Healthcare Systems and Services/Our Insights/Beyond coronavirus The path to the next normal/Beyond-coronavirus-The-path-to-the-next-normal.ashx; McKinsey; Company.
Stallman, Robert. 1985. “The GNU Manifesto.” https://www.gnu.org/gnu/manifesto.html.
Statista. 2019. “Number of Internet Users Worldwide 2005-2018.” https://www.statista.com/statistics/273018/number-of-internet-users-worldwide.
Suriyawong, Thekkit Chat. 2018. “7-11 (Seven Eleven) with New Generation 4.0 High Tech.” https://youtu.be/Xl3rEUbpgsE; Channel 3 News.
Tan, Alanna. 2019. “How Millenials in Singapore Define Success.” Vulcan Post, May.
Thailand Ministry of Commerce. 2016. “Thailand 4.0 Infographic.” http://www.thaitradeusa.com/home/wp-content/uploads/2016/09/infographic-TH4.0_en.jpg.
The CryptoKitten Team. 2018. “CryptoKitties: Collectible and Breedable Cats Empowered by Blockchain Technology. Version 2.0.” https://drive.google.com/file/d/1soo-eAaJHzhw_XhFGMJp3VNcQoM43byS/view.
The Open Organization Ambassadors. 2017. “The Open Organization Definition.” https://opensource.com/sites/default/files/gated-content/openorg_definition_ebook.pdf.
Tieger, Paul D., Barbara Barron, and Kelly Tieger. 2014. Do What You Are: Discover the Perfect Career for You Through the Scecrets of Personality Type. Fifth. Little, Brown; Company.
Whitehurst, Jim. 2015. The Open Organization: Igniting Passion and Performance. Harvard Business Review.
———. 2019. Organize for Innovation: Rethinking How We Work. The Open Organization.
Xie, Yihui. 2014. Knitr: A Comprehensive Tool for Reproducible Research in R. Edited by Victoria Stodden, Friedrich Leisch, and Roger D. Peng. Chapman; Hall/CRC. http://www.crcpress.com/product/isbn/9781466561595.
———. 2015. Dynamic Documents with R and Knitr. 2nd ed. Boca Raton, Florida: Chapman; Hall/CRC. http://yihui.name/knitr/.
———. 2016. Bookdown: Authoring Books and Technical Documents with R Markdown. Boca Raton, Florida: Chapman; Hall/CRC. https://github.com/rstudio/bookdown.
yWorks. 2018. “yEd Graph Editor.” https://www.yworks.com/products/yed.
Zhao, Peng. 2017. Bookdownplus: Generate Varied Books and Documents with r ’Bookdown’ Package. https://CRAN.R-project.org/package=bookdownplus.

  1. ↩︎

  2. ↩︎

  3. ↩︎

  4. ↩︎

  5. ↩︎

  6. ↩︎

  7. There is a global shortage of undergraduate students committed to mastering the full combination of subjects represented by STEM (Science, Technology, Engineering and Mathematics). However, recent advances in IT make it easier to create compelling and informative graphic representations, establishing a new requirement for developers who understand the Arts well enough to communicate the backstory effectively in visual format. However, until recently, the STEM curriculum offered by most Thai high schools lacked course work in the Arts. Thus, the current Thai government educational initiatives have shifted to cultivating students with a full set of STEM+A or STEAM skills.↩︎

  8. Hybrid development in which development activities are divided between inhouse developers, local contractors and the purchase of commercial libraries and services.↩︎

  9. The source course for EZ-Blog is posted at http://gitlab.com/rbatzing/ezblog A working version can be found at https://intense-earth65918.herokuapp.com↩︎

  10. Youtube video clip: How to Build a Meeting Room Booking App on Joget DX, https://youtu.be/lcbsfEh6j4w↩︎

  11. The Fedena source code can be downloaded from the GIT repository at https://github.com/projectfedena/fedena↩︎

  12. OrangeHRM is an open-source product. The code of the community edition is online at https://github.com/orangehrm and the commercial edition is available as an online service from https://www.orangehrm.com↩︎

  13. Available online at https://www.cryptokitties.com↩︎

  14. Fedena Website: http://projectfedena.org↩︎

  15. Fedena Source code: https://github.com/projectfedena/project_fedena↩︎

  16. Fedena active demo site: demo.projectfedena.org↩︎

  17. Joget website: https://www.joget.org/↩︎

  18. CE = Community Edition, PE = Professional Edition, EE = Enterprize Edition↩︎

  19. OrangeHRM source code: https://github.com/orangehrm/orangehrm↩︎

  20. Orange HRM website: http://www.orangehrm.com↩︎

  21. yEd software: https://www.yworks.com/products/yed↩︎

  22. yEd live demo: https://www.yworks.com/yed-live↩︎

  23. https://devcenter.heroku.com/articles/getting-started-with-rails5↩︎

  24. Bitnami, 2021. Create A New Rails Application. Instruction and software available online at https://docs.bitnami.com/installer/infrastructure/ruby/get-started/create-rails-app/↩︎