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.

Photos for cover(Goh 2014), front matter(tookapic 2015), and Chapter 4(Mark 2017) were downloaded from Pixabay. The extra reading, discussion and exercise sidebar icons were adapted from Freepik(Rawpixel.com 2015) and used as per the Creative Commons 3.0 License.(Commons 2007) 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 Batzinger started programming on 4 bit computers in machine code at the age of 12. Since then he has witnessed the technical changes that emerged as computers became faster and systems became easier to program. In his 55 years of 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 is now an emeritus lecturer in Computer Science at Payap University.

Sirinna Sirinaphaphan currently works in the Office of Information Technology involved in the support and development of IT systems of Payap University. She has had a long-standing fascination with the business applications of computer science and information technology. Her undergraduate studies resulted in the award of 3 degrees: BS in Computer Science, BA in Accountancy and BA in Technology. In 2005, she completed her graduate studies with a MS in Information Technology in Business, specializing in Accounting Information Systems She has experience in the support and management of IT resources for a retail company as well as 2 decades experience teaching computer skills to accounting students. She continues to enhance her reputation as a keen student and instructor of technologies that help to facilitate business processes.

Surachet Wongchompooh has a life-long passion for delivering effective network solutions. His education and career has been build around harnessing the power of computer networks to be able to provide services remotely. He holds a MS in Information Technology Management and is the department head of the Office of Technology Service and Support at Payap University. He teaches courses on computer networking.

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 P. Batzinger, Email:

Sirinna Sirinaphaphant, Email:

Surachet Wongchompooh, Email:

June 2022

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 business 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 Software 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 and Trends. A discussion of futuristic e-Business technologies and practices that are already impacting businesses.

This text contains 3 types of sidebars that expand on the material described in the main text:

Relevant discussion topics for group consideration

Exercises to assess understanding of the material

Supplemental reading in the topic

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 Discussion 1.1: Study of vision and mission statements 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.1 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 (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 Hybrid2 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 or position.

Although these core principles seem simple, it turns out that many organizations have trouble creating the level of trust and cooperation needed 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 destructive behaviors 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 teams that solve issues quickly. This mismatch is also seen in the common destructive behaviors among new IT employees.(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. Developing solutions with infrequent or inadequate testing, creating opportunities for expensive failures while adopting untested ideas. The resulting solutions cannot be trusted.

  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 with mathematical skills some of the highest paid employees in the Industry.

IT Jobs in High Demand within Data driven Businesses with average annual salaries in USA(Salary.com 2022)
IT Jobs Mean salary IT Jobs Mean salary
Applications Developer $87,500 Functional Analyst $105,093
Business Analyst $78,987 Process Analyst $76,070
Business Architect $129,002 Process Owner $87,719
Business Process Analyst $73,500 Product Owner $106,010
Business Process Manager $93,505 Project Manager $90,039
Data Analyst $80,187 Requirements Engineer $92,500
Data Scientist $136,309 Scrum Master $132,300
Digital Marketeer $111,270 Systems Analyst $79,649
Enterprise Architect $142,795 Systems Security Officer $96,826
Full Stack Developer $100,992 Web application developer $89,007

1.4.2 The changing nature of customers

Computer technology has always been sold as a work in progress and it has the responsibility of the consumer to test and verify whether the current version of the technology is appropriate for their application. Subsequent 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 news media who have capitalized on this by focusing on the ability to indulge the self-centered needs of younger generations of users. The internet and social media expose individuals to wide range of products and vendors that has grown to the point that no one person could properly examine and test all the various alternatives in the market place. This situation creates new desires and expectations in customers and increases competition among businesses. More and more business decisions are based on the trends in the marketplace. At the same time, technology driven social changes are impacting markets, particularly as youth explore new careers, lifestyles, technologies, and life goals.

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.

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. Tan (2019) The results of these studies are shown in Tables 1.13 and 1.14.

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

\(\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?

\(\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.

In addition, social media provide a forum for individuals to express opinions without being held accountable for the views they expressed. However, some companies have posed false testimonies of fictious customers to create new business opportunities or to slow down the growth of competitors. Because this behavior abuses free speech for financial gain, imposters and liars are shunned and receive harsh treatment from social media communities. As shown in Table 1.15, social media has many ways to influence marketing. Generally, the rewards for being liked and respected by the community help to self-regulate web communications, but increasingly courts are being given the power to litigate defamation cases where rumors and false testimonials have caused damage.

Table 1.15: 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 create or destroy opportunities for the company.
  • Online searches and discussions are becoming the primary source of information for most.

\(\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 traditional storefronts into a more convenient, efficient and user-friendly setting that compliments the services available online. Banks have moved their services online and to ATM kioks 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 plays a critical role in all of these developments.

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

View this news clip(สุริยวงศ์ 2561) about the opening of a new Seven Eleven outlet in Pattaya. The store was designed 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 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 (The Next Web 2019) and discuss the following:

  • What factors contributed to the fall of market leaders?
  • How would something like 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 has grown and the choice of the device used has also changed in the past decade. The trend has been to use mobile devices for browsing, shopping, and surfing for information. Initially, there was some resistance to using mobile devices for ordering online. However, with the growing popularity of online banking applications and digital wallets, more transactions are done using mobile devices. Although working and study from home during the pandemic increased the demand globally, there were major shortages in new computing devices due to major shortages of key components. The closure of factories during the COVID-19 pandemic caused major disruption in manufacturing and shipping of new components. The supply chain is expected to take 2 years to return to a capacity that can meet demand.O’De (2021)

Global delivery of internet capable devices

Figure 1.6: Global delivery of internet capable devices

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%

The three basic options which businesses use to develop Web sites development are listed below:

  • Internal development: where the web site is build and maintained by company employees. This builds web skills among the staff and gives the 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. This development option is chosen when there is a need to enter the market quickly or use web functions that require special expertise. Some companies do not have web savvy 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.

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

Table 1.16: 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

While there is rapid acceptance by the younger cohorts of shoppers, the elderly are more resistant to adopt online shopping. However, most businesses do not worry about the loss of elderly clients because the majority of the sales are from adults in their working years and support elderly who are late-adaptors of technology has not cost-effective in most business sectors.

Per cent of users 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%

1.5.2 The e-shopping customer experience

E-commerce involves the use of web technology to integrate 5 important business operations into a seamless workflow that supports the shopping behavior of customers.

Business functions of e-commerce

Figure 1.7: Business functions of e-commerce

As shown in Table 1.17, 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.17: Comparison of user experience 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 purchased goods
    • Physical: The customer picks up the bags and leaves
    • Online: The customer signs for the goods and the transaction record is closed

Despite the rapid growth in e-commerce shopping, many people still prefer the in-store shopping experience where they can see, handle and try out products before committing to a purchase, especially when the item is expensive or the aesthetics are important. This has given new roles for brick-and-mortar stores in a world that purchases materials. Hybrid businesses have become the new strategic choice for retail companies to integrate online and brick and mortar services as a seamless customer service process. Customers can choose and switch between online and physical functions depending on convenience, comfort and their shopping preferences. The IT systems help keep costs low and the physical location can double for both showroom and customer service centers that also provide training, installation, upgrading and repair services.

\(\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.18.

Table 1.18: 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.19.

Table 1.19: 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 largest 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 lessons learned from COVID-19

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 effects of several months of lock-down and workplace closures on productivity and the economy are still not fully known. However, during the crisis double digit rates were seen in unemployment and in the losses in stock value. Companies that were quick to support customers online did better than those that closed their doors without an effective online presence. Two years later, this virus pandemic continues to play havoc worldwide despite massive efforts to produce cost-effective cures and vaccines. Most economists agree that this crises will establish a new normal as world leaders attempt to balance the need to restart economies and against the higher mortality rate caused by this virus among the elderly world-wide. At the same time, the pandemic triggered intensive debates between those who advocated strong measures to protect public health and those leary of allowing the government to violate their independence and personal rights. This intense debate was targetted social media to sway opinions even before the facts and science were known creating ideal conditions for growing mistrust and misinformation.

The challenges of COVID-19 have highlighted the need for businesses to act strategically in multiple dimensions in times of major crisis such as pandemics, war, and the collapse of currencies and markets. During such crisis, market conditions deteriorate rapidly, the supply chain is disrupted, communication channels are broken, and the business may find itself cut off from its workforce and customer base. The COVID-19 pandemic have shown that the businesses that successfully weather such crisis are those that use their business assets to rapidly and strategically respond to the crisis in the following 5 ways: (Sneader and Singhal 2020)

  • Resolve to take immediate action COVID-19 disrupted the supply chain, workforce, customers, technology and business partners, Each of these massive challenges needed to be understood and addressed quickly to minimize subsequent impact on the organization. Companies that hesitated or chose to wait out the storm discovered that they could not recover from the toxic effects resulting from their inaction and paralysis by fear. Unfortunately, many businesses and organizations went bankrupt. However, the leading firms were quick to acquire new skills to help them decide the scale, pace and depth of required emergency actions. IT Departments played a critical roles in gathering and disseminate accurate and timely information as well as in the coordination of the response.

  • Resilience in the face of the crisis In order to survive an economic and financial crisis of indeterminate size, duration and depth, communication and cooperation helped successful business leaders to address each of the challenges as they arose. Creative application of vision, mission and resources gave businesses the resilience to stay afloat despite uncertainties, near-term cash flow problems and the long-term economic instabilities brought on by the pandemic.

  • Return to work Organizations that effectively addressed issues caused by the pandemic were those that quickly created a detailed plan to scale operations of the business as soon as the effects of COVID-19 were understood. The plan included restaffing and retraining business units to resume some effective level of operations as quickly as possible.

  • Re-imagination Successful companies acquired skills to predict the nature and direction of the next “normal” and to quickly adapted to the required changes. This often meant introducing new products to address specific areas of need brought on by the pandemic. In Thailand, cardboard box factories quickly adapted their facilities to produce disposable furniture used in quarantine wards. A bicycle factory started to produce foot-operated, handsanitizer dispensers. Despite the confusion and turmoil brought on by the pandemic, it was a time of great innovation in software development of products to study and fight the pandemic, improve communication between remote workers and learners, link online marketing to delivery logistics, and facilitate the management of operations using individuals working from remote locations.

  • Reform by adjusting to changes As the pandemic progressed and new tools became available, successful organizations learned new ways to adapt to the customer expectations and needs, competitive environments, and government regulations while building experience and expertise that would open new markets and opportunities after the pandemic is over.

Using data captured and streamed from Office365 and GSuite to determine trends in work patterns, Worklytics was able to measure changes in productivity as more and more people were required to work from home. Comparison of the usage of these office productivity tools prior and 9 weeks into the social distancing initiatives in Europe and America provided an opportunity to quantify the changes in work pattern due to working from home.Arkcoll (2020b) The results are shown in Table 1.20.

Table 1.20: 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\)

Simultaneous studies on the changes in US work forces show that work locations changes imposed by COVID-19 have been allowed workers and employers to discover the benefits and limitations of working from home. After initial teething problems, it became apparent that there are numerous jobs that could be performed at home reducing the cost and time spent on commuting to work. At the same time, employers discovered improved productivity as employers learned to manage their time and improved their communication and time management skill. While it is not a panacea, working from home will continue for some even after the pandemic.(Apollo Technical LLC 2021)

COVID-19 induced changes in Work locations

Figure 1.8: COVID-19 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.21

Table 1.21: 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 maintain and build contacts and relationships that are 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.

As the world struggles to end this pandemic, it is clear that the services and developments of IT departments have played a key role in keeping businesses and organizations afloat during the pandemic and will continue to help businesses and organizations to become more effective in meeting future challenges. For example, more employees will continue to opt to work from remote locations. Supply chain shortages are driving changes in processes and relationships that will prevent shortages in the future. The national debt accrued during the pandemic will result in significant changes in international exchange rates and shifts in the economic climate and investments world-wide. The advances in communication technology will continue to lower the need for travel to meetings and conferences. While the expected changes are too numerous to predict, the emerging trends strongly suggest that in the new normal, businesses and organizations will become even more dependant on their IT departments to help them fulfill their vision and mission.

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.3

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 logs 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 authentication with a login and password
2 Role based authorization of functions
3 Verified authentication 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 be 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 that was activated by an event. Events that initiate the process (such as a messages, scheduled time slot, special conditions) are displayed within green circles. The task icon (rounded rectangle) represents the work to be done. Upon completion, the task can trigger subsequent events or tasks in the process. Terminal events/conditions are shown as dark red circles.

A simple process captured in BPMN

Figure 2.10: A simple process captured in BPMN

The steps of a transaction are chained together into a workflow that describes the sequence of required tasks. Thus, the tasks will progress until the terminal event and state has been achieved. A BPMN server works by reading the simple graphics in this chart and linking to the values in the transaction profile as well as the corresponding functions.

A simple BPMN sequence

Figure 2.11: A simple BPMN sequence

Process control is achieved with decision points that rely on logical expressions to control the workflow. These expressions check the values of data triggers, system variables, and sensors maintained in the corresponding profile which the BPMN Server keeps for each active transaction.

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. The naming convention employs noun phrases such as message sent, order recieved, or request cancelled to describe the event.

2.3.3 Tasks and data handling

Task symbol

Figure 2.14: Task symbol

Tasks depict a unit of work to be done. 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. Completed tasks can trigger subsequent tasks, events or gateways as well as a number of the following by-products.

  • 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: are used to communication between entities within a 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 initiate a query for more information. Replies to message request are usually handled as an 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 workflow within a BPMN. The control is achieved as decisions based on the action streams that lead to a common milestone or collection point. As such gateways are 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 the IF() THEN ... ELSE ... control structure found in most programming languages

  • Exclusive Gateway (XOR): attempts the first of many action streams. If this stream fails to complete, subsequent action streams are attempted one at a time, until a successful action stream is found.

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 is started. This process continues until all action streams of processes have been completed. In this way, the inclusive 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. This gateway provides a common milestone for several action streams that are performed simultaneous instead of sequentially as in the case of inclusive gateways.

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

Companies are often plagued with problems that arise when business rules are not well defined or followed because operating and business decision rules are not understood. In many cases, the rules simply do not work the way they are described because those who do the work find creative ways to get the job done. This gives rise to arbitary interpretations and changes to the rules as workers see fit. However, BPMN systems can model and enforce a wide full range of business logic and decision making processes. Once implemented, the input and output of each decision point can also be recorded, analyzed and optimized. Thus, BPM becomes a means for tracking, testing and optimizing business logic and processes.

Types of rules that have been 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 used to designate the responsibilities for the different kinds of workers and services within the business. In active BPMN systems, reassigning tasks to another department 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 across multiple departments but also increases the flexibility of the system to make adjustments as functions and responsibilities are redistributed various groups within the enterprise. Changes in staff responsibilities and departmental boundaries is simply a matter of moving tasks across 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 of BPMN

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 laboriously designed and developed to support a specific application. Early BPM systems were designed to handle a multiple queues of active tasks related to open transactions. Today, BPM is used not only to support individual transactions, but also to manage the work and divide the workload. 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 for each stage during the processing of 100,000 prepaid orders from local, regional and international clients.

## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.7
## v tidyr   1.2.0     v stringr 1.4.0
## v readr   2.1.2     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
Time required for each stage of the process

Figure 2.26: Time required for each stage of the process

From this simulation, it is clear that turn around time depends on the speed of the mail service and the clearance of bank checks which depends on the location of the client. Local order processing and packaging is similar regardless of the destination for the packages. The total time provide useful information for SWOT analysis to improve services for clients at different locations.

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 swim lanes 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 run time 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:4

  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 dash-boarding 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.5

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
  • 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

Remote 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.

Current remote payment options in Thailand
Type and example Benefits Drawbacks
Credit card Convenient, international standard Restricted trade with high service charges
Bank transfer Instant access to bank account Requires an ATM or online banking, Security of Bank account identity is a problem
ATM Convenient, multilingual support for the masses Requires a ATM machine or POS ATM link
Online payment company: Paypal, Alipay Convenient online financial service that is linked to a bank account High service charges (5-10%) of transaction
Payment service 7-Eleven, Thailand Postal Service Local cashier service assistance that accepts cash and provides a physical receipt The payment collection agency charges the vendor a commission for this services; Physical receipt could be forged
Mobile phone account credits AIS, TOT, True Call Instant payment by cell phone from stored value in the account The transfer can be done from anyone knowing the password for the mobile phone or having a SIMM card reader
Electronic wallet Instant payment by optical scan at point of cell Requires prepayment, tying up funds. Uses QR codes for authentication
Bank Quick Pay QR code link to banking services Requires access to the internet
Cash on delivery Lazada Assurance that goods will not get lost The receiver can refuse the goods returned could be damaged in shipment
Cryptocurrency: BitCoin Purchases and exchanges are encrypted and handled online The market value is not pegged to that of physical currency

3.3 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?

3.4 Customer Relations Management

3.4.1 Post sales service

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

3.5 Measuring the effectiveness of websites

The following sections will explore the key factors needed in evaluating online business platforms in order to measure the value of investments in online technologies adapted from a guide from a leading estore software vendor. (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 familiar with the functions.

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.5.8 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.6 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.

  • Wallet

  • ATM

  • Debit

  • Money transfer

  • Credit

3.7 Human Resources Management

3.7.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.7.2 Belbin’s Team Roles

Research has shown that the most successful teams were made up of a diverse mix of behaviours, especially when working collectively within a team. As people learn to work together they tend to gravitate to a particular team role which was defined by Dr Meredith Belbin as “A tendency to behave, contribute and interrelate with others in a particular way.” 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. Eventually, 9 different clusters of behaviour were identified as underlying factors that contributed to the success of the teams. Successful Teams collectively covered all nine Belbin Team Roles.

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) 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 with experience and conscious attention. Different Team Roles may come to the foreground in response to the needs of particular situations. The key to successful HR placement is matching the nature of the worker with the requirements of the job.

As individuals generally gravitate for 2-3 roles depending on the situation, it is possible to have a balanced team smaller that 9. Team Roles develop and mature with experience and conscious attention. Different Team Roles may come to the foreground in response to the needs of particular situations. The key to successful HR placement is matching the nature of the worker with the requirements of the job.

These successful clusters of behaviour were then given names. Hence the emergence of nine Team Roles shown with the distribution among British managers in the table below.(Fisher, Hunter, and Macross 1998)

The Distribution of Belbin’s 9 Team Roles
Thinking-Oriented Action-Oriented People-Oriented
Plant: 3.7% Implementer: 11.4% Resource Investigator: 33.2%
Specialist: 0.8% Completer Finisher: 3.6% Co-ordinator: 26.2%
Monitor Evaluator: 0.5% Shaper: 2.3% Teamworker: 18.2%

3.7.3 Big 5 Behavioral Types

William Fleeson and M. Patrick Gallagher, 2009. The Implications of Big-Five Standing for the Distribution of Trait Manifestation in Behavior: Fifteen Experience-Sampling Studies and a Meta-Analysis.J Pers Soc Psychol. 2009 Dec; 97(6): 1097–1114.

The big five personality traits is the most common model of personality testing used in academic psychology.The big five comes from a statistical study of responses to queries about personality that attempt to describe and summarize the nature of an individual. This study involved many samples from all over the world and the general result is that, while there seem to be unlimited personality variables, five stood out from the rest in there ability to explain personalities and became known as the Big 5: extraversion, neuroticism, agreeableness, conscientiousness and openness to experience. While there are many ways to the Big 5 factors, the most popular was developed from the Big-Five Factor Markers from the International Personality Item Pool.(Lewis R. Goldberg 1992) Subsequent research(L. R. Goldberg et al. 2006) has been focused on developing this free instrument consisting of 50 questions(Lewis R. Goldberg 2019) into a standard measure of the big 5.(Schmitt et al. 2007) This questionnaire has been translated into hundreds of languages, including Thai.(Yomaboot 2014)

The Big 5 Markers
The Big 5 Markers
1. extraversion: outgoing
2. neuroticism: intraspection
3. agreeableness: willing to get along
4. conscientiousness: ability to complete
5. openness to experience: curious to learn

3.7.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)

The 16 Briggs Myers Personality Profiles
Analysts Diplomats Sentinels Explorers
  • INTJ (2.1%) The Mastermind / The Scientist
  • INFJ (1.5%) The Counselor / The Protector
  • ISTJ (11.6%) The Inspector / The Duty Fulfiller
  • ISTP (5.4%) The Craftsman / The Mechanic
  • INTP (3.3%) The Thinker
  • INFP (4.4%) The Idealist
  • ISFJ (13.8%) The Nurturer
  • ISFP (8.8%) The Composer/ The Artist
  • ENTJ(1.8%) The Commander
  • ENFJ (2.5%) The Giver
  • ESTJ (8.7%) The Supervisor / The Guardian
  • ESTP (4.3%) The Doer
  • ENTP (3.2%) The Debater
  • ENFP (8.1%) The Champion / The Inspirer
  • ESFJ (12.3%) The Provider / The Caregiver
  • ESFP (8.5%) The Performer

3.7.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.7.6 21st Century Skills

Human skills are key to thriving in a virtual-first world. Organization, time management, mental health resilience, and communication are just some of the skills that are essential to making a remote environment feel productive, efficient, and collaborative(Doyle 2021)

“Critical thinking, persuasive writing, communications, and teamwork are not fluffy, nice-to-have value-adds. They’re hard-won and rigorously maintained abilities that are better referred to as power skills.”

Recruiters, hiring managers, and human resources professionals aremay assess your soft skills through situational and behavioral interview questions. For example, you may be asked to describe a situation when you worked as a part of a team to assess whether you’re a team player and how well you’ll work with your future co-workers.

Top 21st Century skills sought by employers
Marketable Soft Skills
  • Effective communication skills
  • Active listening
  • Leadership skills
  • Positive attitude
  • Work ethic
  • Time management
  • Collaboration and teamwork
  • Critical thinking
  • Problem solving
  • Conflict resolution
  • Adaptability

3.7.7 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.

Table: Objectives of Performance Appraisal

Reasons for Performance Appraisal
  • 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.7.7.1 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.7.8 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.6

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.8 Operations Management

3.8.1 General rules

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

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

3.8.2 Logistics

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

  • Solver. Optimizing

  • ARIMA and forecasting

plot(USAccDeaths,xlim=c(1973,1979.6),main="US Accidental Deaths",lwd=2,
     col="blue")
(fit <- arima0(USAccDeaths, order = c(0,1,1),seasonal = list(order=c(0,1,1)), delta = -1))
## 
## Call:
## arima0(x = USAccDeaths, order = c(0, 1, 1), seasonal = list(order = c(0, 1, 
##     1)), delta = -1)
## 
## Coefficients:
##           ma1     sma1
##       -0.4304  -0.5526
## s.e.   0.1228   0.1785
## 
## sigma^2 estimated as 99355:  log likelihood = -425.44,  aic = 856.88
f = predict(fit, n.ahead = 6)

polygon(c(1979+ (0:5)/12,
          rev(1979+ (0:5)/12)),c(f$pred+2*f$se,rev(f$pred-2*f$se)),
        col="#ff99ff",border="#ff99ff")
lines(1979 + (0:5)/12,f$pred,col="purple",lwd=2)

3.8.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 AND TRENDS

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

4.1 Business Intelligence and Data Analytics

Data-driven management has become an important part of the business world. With the falling cost of bandwidth, sensors, and memory it has become cheaper to acquire, transmit and store large qualities of data giving rise to the introduction of Internet of Things, Sensor networks, customer experience and other data gathering techniques. As a result, the rate of data acquisition has been doubling approximately every 14 months. This massive increase in volume of data has created new technologies to improve the stragetic value of the data collected. The most common of these emerging technologies are listed below.

  • Data dashboarding: This web or mobile application gathers and displays the status of key data parameters of an organization in real time. This visualization of the data provides early indications of changing conditions, faults, and trends and helps managers to focus on the most significant changes in order to handle issues before they grow into large costly problems.

  • Big Data: This collection of technologies changes the way that data is handled in order to keep pace with the volume, velocity and variety of the data in order increase the value and accuracy of the information derived from multiple streams of data. Because data is arriving faster than a single CPU can handle, techniques like data/event triggers, parallel processing, and data compression are often used to reduce the time and computing resources needed to process an input stream.

  • Data Science/Analytics: This is a protocol that establishes a workflow to process data in a way that is efficient and effective. The process starts with starting with data acquisition and data wrangling to insure that the data is normalized to reduce the influence of data gaps and outliers on the information generated from the data. The process goes on to use data visualization to explore data to derive models which can be verified statistically and by random subsets of the data stream.

  • Machine learning (ML) and Artifical Intelligence (AI): There are numerous mathematical transformations that can sort through values from an input stream to reveal patterns that can classify unprocessed data or relate the data to other objects and events. This information is often valuable in determining the next most appropriate step. The process is mostly self-adapting and data-driven and can build relationships from previous data and experience. The resulting output is tested against previous data and system makes small incremental changes to improve accuracy and performance. As the relationship between input and output can be quite complex, this technology can often discover creative solutionsfaster than human programmers.

    There are now extensive libraries for AI functions even in popular scripting languages like Python, Ruby and JavaScript. Amazon, Google and Oracle have invested in creating cloud services which shift through data to create practical applications. For example, potato chip manufacturers uses video streams of 20,000 images per sec to select between potato chips that can be packaged and dirt, debris and broken or burnt chips that must be blown off the sorting table and discarded. The post office uses optical scanners to read handwritten and printed zip codes and sort the mail by destination. Airlines use this to schedule sufficient staff to check-in passengers. Travel agencies use this to capture information in a a telephone conversation to make reservations for flights and hotel bookings. Banks are using speech bots to communicate with bank clients that phone into their call centers. Even Google has used this technology to reduce the size of their English speech to text conversion matrix from 6 GB to 200KB. ML and AI are already changing the way people and cars interact and recent developments suggest that driverless road vehicle may be less than a decade way. These developments seem to confirm the 2017 prediction that “By 2029, computers will have human-level intelligence.”(Kurzweil 2017)

These developments give IT Departments new roles and new opportunities to help organizations to achieve their vision and mission. At the same time, techology updates are now occurring in 2 year cycles forcing IT Staff to constantly retrain and upgrade their skills. As conditions and technology continue to change at increasing rates, accurate and efficient data handling and effective communication of the results of analysis become essential skills for IT professionals.

4.2 Blockchain and secure information

A blockchain is a system where the details of each transaction are added to an authenicated copy of a digital record. Before any update is made, the working copy is checked against all copies stored in the network. An immutable cryptographic signature is added to the updated record which is then encrypted, and distributed across the entire network of servers within the blockchain system. Thus, blockchain forms a decentralised database managed by multiple servers which are very secure against attack and alteration. However, this duplication comes at a cost of increase bandwidth required for each transaction.

Because the records maintained in a block chain are self-verifying and taper-proof, block chains can be used to register ownership. As ownership changes hands, the individual records of the block chain change be verified, updated and digitially signed in a secure manner. This technology has been applied to protecting scarce digital commodities in the following ways:

  • Fungible assets: Every item of this type of asset can be traded in the same manner and value. Cryptocurrency are a good example of this, because each unit has an unique identifier which is generated by a complicated digital mining process that ensures that the number of units are finite and new units are introduced slowly into the market. However, the market value is the same for all units of that cryptocurriency. Thus, all Bitcoins are bought and sold on the same market, irregardless of history or date of origin.

  • Non-fungible tokens: The block chain record is used to identify an unique item or set of parameters as well as the owner. These block chain records are used as proof of ownership for artwork, stocks, bonds, and land deeds. This technology allows for public display of tagged photographs and artwork while retaining ownership and copyrights as the digital tags within the work trace back to the block chain. The Thailand Land Department has been experimenting with this in order to better manage land titles and track ownership of land within Thailand. Cryptokitties uses NFT to record an unique set of parameters that describe an artistic rendering of a cat. In the current version of cryptokitties, owners can link up their cryptokitties to breed another generation of cryptokitties that can be auctioned off.(CryptoKitties 2017) Digital Academic Credentials like Europass are used to secure and distribute certified copies of the diploma, transcript and syllabus description of courses and activities that a student acquired during their time at an university. Most NFT have online wallet services that allows users to store, view, and distribute the content associated with the block chain record.

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)

4.3 Open Source Solutions

Open source development of software is nothing new. In 1983, Robert Stallman wrote the core concepts that would eventually become the GNU Manifesto.(Stallman 1985) as an means to initiate a movement committed to creating and distribution open and free software. The result was the Four Freedoms of the Free Software Foundation,(Free Software Foundation 2018) which are shown in Table 4.1, and have become the standard set of rights granted to users of open-source software.

Table 4.1: The Four Freedoms of Open-source Software
Description
Freedom 0: The right to run the software.
Freedom 1: The right to study the source code, understand how the software works, and adapt as needed.
Freedom 2: The right to redistribute copies as needed.
Freedom 3: The right revise the program, and make improvements available to the public.

From this movement grew numerous projects to create important drivers, software tools, applications, programming languages, and even operating systems like Linux and Android. Open source provide the opportunity for collaboration between professionals in universities and industry to work together to create tools. Companies have often found that collaborative participation in open source projects is a cost-effective way to create solutions that establish an open standard and solution for key issues. The international support for open source development is often larger that the indiguous software industry of most developing countries.

Although there is little involvement of IT Professionals in Thailand in open source development, the existence of open source software helps to check the rising cost of commercial software and services. Quality open solutions has been an effective deterrent to the black market for pirated software which would counter efforts of the Thai government to jump start a viable software industry in Thailand. Many software houses in Thailand have their origins in adapting a fork open-source codebase for local use in the Thai language. However, these forks quickly because obsolete as their changes were unable to support newer versions. Thai software houses have been slow to discover the advantage of building on open source solutions over writing new code from scratch or attempting to market an unsupported fork in the open source codebase.

The Thai IT industry has discovered that engaging in the development and adaptation of open source software requires new skills and a new relationship between the software developer and the software product. In the past, the developer had total freedom to implement software any way they wished. Today, open source projects involve hundreds of developers and thousands of testers representing different interests and end-user groups. These communities operate according to open standards and coding guideline to facilitate communication and collaboration. In addition, procedures are in place to test and review all proposed changes before the new ideas are added to the main code base. The reward for developing the discipline to conform to such standards is that the changes made will find support in all future versions and builds of the software. In this way, the Thai IT industry is actively embracing modern software engineering principles and adjusting to conform to international standards for open source and open standards.

4.4 Thailand 4.0

Thailand 4.0 is an economic development plan that aims to correct key economic issues that resulted from past economic development plans which had placed major emphasis on agriculture (Thailand 1.0), light industry (Thailand 2.0), and infrastructure and advanced industry (Thailand 3.0). While the previous development plans addressed critical issues such as food production and distribution, unemployment, energy and transportation infrastructure, they allow for the emergence of 3 concerns that threaten the growth of a viable and sustainable future in the open-market of the exploding global digital economy:

  • A middle income trap: where the middle income group which represents over two thirds of the population feel trapped by limited opportunities for acquiring wealth while being subject to growing inflation and skyrocketing property costs.
  • An inequality trap: where wealth is not fairly obtained but rather heavily biased by various socio-political factors such as gender, ethnicity, regional traditions, and inheritance.
  • An imbalanced trap: where the gap between the rich and the poor widens and causing inequalities in educational and job opportunities. This contributes to the cultural shift and division between urban and rural communities.

The Thai government has committed itself to invest into several areas of innovation that would stimulate the economy and provide new opportunities for entrepreneurs. The key areas of investment are 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, development of skilled labor and technological development. (Royal Thai Embassy 2016) The four key performatnce objectives (KPO) 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 propel Thais in the first world. Measures under Thailand 4.0 should raise the Human Development Index (HDI) in Thailand from 0.722 to 0.8. Thus, within the next decade Thailand seeks to attain an economic status among the top 50 countries of the world. This would require at least 5 Thai universities to be 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 of rural wealth.

The businesses stimulated by this plan will increase the activities of IT services. The data collection required to measure KPIs will significantly add to the reporting requirements imposed on businesses and organizations. In addition, entrepreneurs will need to carefully weight the economic incentives offered against the actual costs and potential risks. In addition, this will encourage the growth of new supply chain networks that will allow entrepeneurs to develop and experiment within local markets while growing capacity to build and distribute products for regional, national, and global markets. Thus, businesses and organizations will increase the dependence on their IT professional to track performance, manage assets, and suggest appropriate measures to ensure right-sizing of the budgets and labor force compatible with sustainable growth.

4.5 Cloud computing

The introduction of personal computers were popular in the 1970’s and early 1980’s because they provided convenient and effective computing power independant from the services of centralized computing facilities. However, in the 1990s, remote users were given real time access to networked memory stores, databases, and web servers. By 2000, server farms provided online, in-cloud services to enhanced the computing experience of remote users by sharing both massive amounts of memory and immense computing power. Companies like Dropbox and Bitbucket provide online memory services for sharing massive amounts of data and media products. Digital photo printing services like Snapfish allow i-phone users to automatically turn their photographs into printed coffee cups, tee shirts, calendars and other such products. Services like overleaf.com, leanpub.com and lulu.com accept text files manauscripts encoded in LaTeX or markdown to produce, publish and distribute e-books and printed physical books. Google and Microsoft both provide online office application suites to handle business communications and presentations. GitLab and GitHub provide version control and testing services for source code. Amazon AWS and Microsoft provide virtual computers. Google provides number crunching and machine learning services via their TensorFlow product line. QuickBooks and other accounting firms now provide in cloud services. Companies like IBM, Amazon and Google share computing time on their quantum computers. Codeanywhere and IDEone provide virtual computers for running software from a simple web browser running on a notepad or mobile phone. The lists continues to grows daily.

As the number of customers grew, the economy of scale reduced cost of the various Internet, cloud-based services to levels that are very competitive with the costs of privately owned and operated network facilities. In addition, network control software now has the ability hiberate inactive processes as well as activate multiple copies of processes experiencing high demand and loads. Billing for these dynamic service is calculated from the number of servers and resources in active use on second to second basis. In this way, the cost of computing resources grow and shrink with demand and are cost-effective and affordable to growing startup organizations as well as small and medium sized enterprizes.

Cloud hosting introduces a number of new issues that have bearing on the reliability of on-cloud solutions.(Kaur 2021)

  • Experience: The value of the technical support of service providers is related the experience the hosting company within a given problem domain and configuration. As software and network solutions continue to increase in their complexity, it is critical that systems are updated, maintained and run according to the latest standards.

  • Security: As data migrates into the cloud, there is much higher risk of malicious attacks to compromise data privacy, integrity and availability. These types of attacks can target specific servers as well as the network infrastructure. Security requires vigilance across the entire network from end to end encryption for remote users to monitoring the traffic from operations within a firewall

  • Service Level Agreement (SLA): This is a contract that defines the level of service that can be expected from the vendor and the rights of the customer. This includes the following key parameters as well as the level of compensation to be paid for losses incurred by any failure to meet these terms.

    • Uptime guarantee: Many vendors promise that their servers would be available 99.999% of the time (corresponding to less than 6 minutes of downtime per year).
    • Nature of backups: Although periodic backups are very useful during the recovery from all types of system failures including fire, earthquake and war. However, the frequency, security, and location of the backups can add significantly to the cost of operation.
    • Vendor lock-in policies: Most SLA have a clause that establishes the length of the contract and the costs associated with terminating the lease ahead of time.
  • Disaster Recover Planning: The goal is to be able to access data from anywhere at anytime even if a site has gone down. This requires redundancy with offsite backups. This ensures continuous operations even if one site under going maintenance or is down for some unforeseen reason.

Comparison between On premise and On cloud hosting
Aspect On premise On cloud
Support: annually around 20-40% the cost of the equipment Included in the usage charge
Scalability: Limited, requires upgrades of equipment Unlimited and scales according to usage
Elasticity depends on spare capacity within existing hardware architectures flexibility to scale according to usage
Running cost Rigid operating costs, Minor savings from load sharing techniques Matches usage and load
Diversity Siloed datasets within a data warehouse Able to use consolidated datasets within a data lake
Bandwidth costs/speed Fixed by contract with ISP Flexible according to usage

In 2016, a comparative cost analysis was published by CodiLime,(CodiLime 2016) a network consulting firm specializing in building and maintaining both on premise and on cloud network solutions. Their calculations suggested that for a single service solutions on cloud were 11 times more expensive than on premise ones for a single server solution and approxiately 2 times for solutions requiring 20 servers. However, if the servers were installed to handle maximum peak load but were dynamically sized on demand to handle an average load of 20% the peak capacity, the ratio for costs reversed with on premise being more 1.2 and 2.3 times more expensive than on cloud for 1 and 20 server solutions, respectively. By comparison, Microsoft has provides an online calculator to compare the total cost of 5 years of operation.(Microsoft 2022) The estimated cost of ownership of on premise was 1.9 and 2.5 times that of the Microsoft Azure Cloud for 1 and 20 server solutions, respectively. The breakdown of estimated total costs are given in the following sidebar.

\(\triangleright\) Reading 4.1: Comparing between inhouse and on cloud service

The estimation of the total cost of ownership of servers is not a trivial exercise.(Deckler 2016) It requires careful comparison of specification that result in servers with equivalent features and performance. The Microsoft Total Cost of Ownership Calculator(Microsoft 2022) is an attempt to simplify these calculations by averaging the costs from partners working within particular regions.

The hardware specification are also critical to the calculation as the prices increase significantly with features like lower power, high speed and small footprint. To demonstrate this study, the specifications in the following table were used. This set of hardware specs describe hardware used by a typical data center with 3 identical nodes to deliver a full range of network based services as well as provide capacity to support load balancing, redundancy and backup. The systems were installed as hosts of virtual servers to facilitate installation, testing and migration of the services that run on them. IT Department would need to determine its own set of specification.

A typical 3-node data center for a medium size enterprize
Suggested components

Hardware

  • 1 x Intel® Xeon® Bronze 3104 Processor (8.25M Cache, 1.70 GHz)
  • 64 GB (4x16GB Memory RDIMM)
  • 400 GB SSD 10WPD 2.5-inch
  • 4 x 1.2 TB 10K RPM 2.5-inch

System control software

  • vSphere Standard 6.5
  • VxRail Software
  • vSAN and vCenter

Service contracts

  • Pro-support Mission-Critical Hardware 24x7
  • Hardware Maintenance Contract

The following table includes a comparison of cost of ownership based on information collected from recent bids from vendors based on the required specifications.

Estimated 5 year cost of ownership based on onpremise hardware leasing or purchase as verses an on-cloud contract
Category Local leasing of on-premise center (1) Outright purchase On-premise center (2) MS Azure OnCloud Contract
(3)
Compute $97,000 $105,000 $34,000
  • Hardware
$30,000 $26,000 (included)
  • Software
$45,000 $50,000 (included)
  • Electricity
$10,000 $12,000 (included)
  • Database
$12,000 $17,000 (included)
Data Center $8,000 $18,000 $0
Networking $25,000 $16,000 $120
Storage $10,000 $8,000 $32,000
IT Labor $26,000 $16,000 $8,000
Total cost $166,000 $163,000 $74,120
(All Numbers are in US Dollars)
These estimates are based on the average of 2021 price quotations from Chiang Mai firms that lease server equipment.
Total cost of ownership including the cost of purchase and operating hardware on-premise was calculated using the estimates from the Microsoft online cost calculator located at https://azure.microsoft.com/en-us/pricing/tco/calculator/ which is based on the average local costs in US Dollars for equipment and services in Southeast Asia (i.e., Indonesia, Malaysia , Singapore, Thailand and Vietnam).
Total cost of contracting and operating Microsoft Azure Cloud solution were calculated using Microsoft online cost calculator located at https://azure.microsoft.com/en-us/pricing/tco/calculator/ and was used to calculate the costs in US Dollars for servers running in Southeast Asia (i.e., Indonesia, Malaysia , Singapore, Thailand and Vietnam).

Outright purchase has been the traditional way to acquire the hardware needed to operate a data center. However, this method of procurement locks the organization into a level and generation of technology for the working life of the hardware. In addition, this method increases the start up costs as the systems purchased will need to support the anticipated load on the servers increasing additional cost in the short term because of the excess capacity. However, start ups typically have difficulty right sizing their facilities as the business is launched and begins to grow.

Hardware leasing and oncloud solutions offer opportunities to match the growing requirements and lower costs to start up organizations. These methods of procurement allow organizations to purchase capacity that matches their growing needs. However, as every solution is a combination of options that determine bandwidth, hardware capabilities and power, vendors can combine the various components in ways that could tip the relative balance of cost. In this case of this study, on cloud solutions is less than half the cost of other solutions because of the economies of scale at a commercial server farm will reduce power, bandwidth and hardware costs per unit of computing, and such savings are passed on to their customers. In addition, solutions that use host virtual servers allow for better matching of load to resource utilization by hiberating unused servers and cloning servers under high demand, a feature that makes it possible to further reduce costs by charging customers only for the resources they use on a minute-to-minute basis. The keen competition between these technologies will continue to drive improvements and further cost reduction in the coming years.

4.6 Freelancers and Digital Nomads

Technology has changed the nature and function of the workplace creating 2 possible sustainable environments: the central office and the distributed workplace. The success of either work environments depends on the diligence, skill, motivation and results-driven ethos. Both environment need careful management of workloads and supporting facilities.

  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 goal is to apply collective effort for solving problems and producing results quickly and effectively.

  2. Individuals can remotely from locations and timezones of their choosing. When workers work from a comfortable setting they tend to make better use of 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.

Freelance workers are able to provide additional manpower to projects working under tight deadlines. This service have become an important and significant part of software development industry worldwide. The market has grown as there is a shortage of software developers in most countries of the world. This has opened the door for enterpreneurs to use their software development skills to fund their international travels. These travellers have become known as “digital nomads” as they tend to stay only 6 mon at any one location. Their clients tend to be located in Europe or North America. At the same time, digital nomads often provide help and training to local software developers, and often introduce new technology to the local computer industry. Countries like Thailand even provide special 2 yr visas to encourage IT professionals to extend their stay within the country as digital nomads.

Comparison of experience between central office and working remotely(Smith 2018)
Criteria for comparison From the perspective of Central Office From the prespective of a team of Remote workers
Advantages for the organization
  • encourages close collaboration
  • provides opportunities for interdepartmental cooperation
  • economy of scale using central stores/services
  • easier to maintain esprit de cour
  • workers have tighter control of their work schedules
  • workers can focus on being productive
  • workers can work from locations where they are most productive and creative
Disadvantages for the organization
  • higher costs for facilities
  • higher social interaction lowers efficency
  • higher costs for online infrastructure
  • hard to create social between workers
  • requires compensation for workers equipment
Advantages for the worker
  • higher personal cost such as commuting, clothing, etc.
  • closer mentor/mentee relationships
  • direct access to services and help
  • saving in commute time
  • a better less stressful balance between work, family, and exercise
  • flexible hours and location
Disadvantages for the worker
  • distractions within open plan offices
  • cost, time and stress of the commute
  • difficulty in tapping the consensus and the collective learning, knowledge and experience
  • fear of being forgotten or abandoned

While both work environments can produce results on time and on budget, serious management of communications, time and project management are essential. Analysis of experience before during and after the COVID-19 lock period/work from home periods has revealed the following key principles that contribute to sustainable work flows in either work environment or even hybrid settings.(Airtasker Blog 2020)

  • Workspaces should be designed for work and collaboration. The space should be comfortable and conducive for work. Basic needs and supplies should be available. The workspace needs to be equipped with opportunities to seek help and contribute to discussions associated with the work. At the same time, distractions must be controlled.

  • Work flows should be organized and scheduled. The work needs to be planned, and scheduled to ensure smooth progress that is synchronized across departments and shareholders. Scrums and other progress review techniques should be used to regularly review and update the work schedule.

  • Work should be assigned and carried out as smaller task units. Assigning work as smaller tasks allows projects to be more productive and manageable. In addition encouraging personal time management program like Pomodoro help to break up the work day in 20-30 mins of intense work with minimal distracts followed by a 5 min break. This oscillation between intense work and break has been proven to deliver maximum productivity with minimum stress because taking regular breaks allows your brain to refocus and relax.

  • Take time to celebrate successes. Likewise, it is important to take time to recognize achievement and to become better acquainted with members of the team. As in all team undertakings, understanding, trust, and recognition among member contribute to success.

  • Take time to prepare for tomorrow. In the course of day to day activities, it is essential to provide time and opportunity to develop new skills and to improve methodologies. No matter whether this learning takes the form of listening to podcasts during commute to work, attending seminars, or committing scheduled time for study, each training activity needs to be treated as skill acquisition and approached with the view of training another member of the team.

  • Meetings need to be restructured: Although meetings are expensive use of time, most meetings could be accomplished without tying up so many people. The meetings should not be used as a means to dissiminate information but to maximize opportunity to develop ideas, policies and plans in a short period of time. However, to do this, everyone attending should be aware of the agenda before the meeting begins. The meeting should start and end on time. Discussions should aim to form a recorded consensus. Isolated matters should be taken offline or deferred to a followup meeting after additional research/consideration. Improving the value of meetings will result in save significant requires feedback and experimentation.

Virtual workplaces introduces a new challenge as workers attempt to work under bosses they may never meet in person. When workers are not co-located with their supervisors, there are no causal conversations over the water cooler or in the hallway that are so important for building rapport and establishing the mutual trust and respect required between supervisor and employee. However, telecommunications and social media provide new opportunities to open new communication channels open, and establish clear lines of accountability needed for working smoothly with supervisors and colleagues.

Regardless of whether the working environment is a central office or a remote workstation it is essential that worker establish a virtual contract that establishes how to work and communicate together. It is important to establish the means for sharing ideas that are effective without being overwhelming or overly ambitious. The idea is to manage expectations and to forewarn of pending changes so that awkward surprizes do not occur. When working remotely, a candid 30-second personal and professional check-ins before meetings creates social bonding that builds empathy, trust, and camaraderie.

4.7 Sustainable development

The success of Google was built on the motto “Don’t be evil” which was meant to be a statement of 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), more and more businesses have been seeking to reach out and build local and international communities as part of their business activities. However, in recent years, governments and international organizations have relied less on self-goverance of businesses and have sought to establish legal standards and rules to govern and control the impact of business on its surrounding community and environment. This growing list of regulations adds restrictions that determine how international business can be conducted. Gathering and submitting the becessary paperwork can signifcantly add to the cost of products if IT Departments are not engaged to manage the documentation required for international trade. The following sections will explore the current initatives of the United Nations and the World Fair Trade Organization and discuss their impact on international trade.

4.7.1 United Nations Sustainable Development Goals

In September 2015, Heads of State and Government gathered with UN Representatives to establish a series of goals that now lie at the heart of all UN programs and activities. The target is to aim to establish by 2030 a balanced, and sustainable future by overcoming 17 global problem domains and 169 targets that currently threaten the security and future of the planet and its inhabitents. The following figure lists all 17 Sustainable Development Goals.

The UN Sustainable Development Goals
Goal Description
1 End poverty in all its forms everywhere
2 End hunger, achieve food security and improved nutrition and promote sustainable agriculture
3 Ensure healthy lives and promote well-being for all at all ages
4 Ensure inclusive and equitable quality education and promote lifelong learning opportunities for all
5 Achieve gender equality and empower all women and girls
6 Ensure availability and sustainable management of water and sanitation for all
7 Ensure access to affordable, reliable, sustainable and modern energy for all
8 Promote sustained, inclusive and sustainable economic growth, full and productive employment and decent work for all
9 Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation
10 Reduce inequality within and among countries
11 Make cities and human settlements inclusive, safe, resilient and sustainable
12 Ensure sustainable consumption and production patterns
13 Take urgent action to combat climate change and its impacts
14 Conserve and sustainably use the oceans, seas and marine resources for sustainable development
15 Protect, restore and promote sustainable use of terrestrial ecosystems, sustainably manage forests, combat desertification, and halt and reverse land degradation and halt biodiversity loss
16 Promote peaceful and inclusive societies for sustainable development, provide access to justice for all and build effective, accountable and inclusive institutions at all levels
17 Strengthen the means of implementation and revitalize the global partnership for sustainable development

To eradicate poverty and improve the environment, the UN has committed itself to promoting significant economic reforms that will attempt to share wealth and establish income equality among the nationals of the world. While the long term-goals will create a vibrant global economy that creates new business markets and opportunities, the transition over the next 10 years will create dynamic market conditions that can effect costs, availability, logistics and profitability. Businesses will need to be agile to the changing market conditions and expectations. New government policies will increase new requirements for data collection and reporting.

In addition, enviromental goals will require significant changes in the way societies produce and consume goods and services. The UN calls on governments, international organizations, and the business sector to replace unsustainable consumption and wasteful production patterns with new technologies and procedures. The UN plan also calls for new financial and technical assistance to strengthen scientific, technological and innovative capacities over the next 10 years. Business will need to carefully monitor conditions and changes to avoid becoming obsolete. The most successful businesses will those who can leverage the information from the data collected to create new opportunities in the changing market place.

4.7.2 World Fair Trade Organization (WFTO)

The World Fair Trade Organization is a global Non-Goverment Organization (NGO) that advocates and enforces strict rules to ensure that producers get fair compensation for their products and services. To this end, they provide opportunities for qualified products to gain access into new markets around the world through their network of trading partners. At the same time, WFTO requires documentation to prove that all products traded by its partners meet its principles as listed below.

World Fair Trade Organization Principles of Fair Trade
Principle Description
1 Creating Opportunities for Economically Disadvantaged Producers
2 Transparency and Accountability
3 Fair Trading Practices
4 Payment of a Fair Price
5 Ensuring no Child Labour and Forced Labour
6 Commitment to Non Discrimination, Gender Equity and Women’s Economic Empowerment, and Freedom of Association
7 Ensuring Good Working Conditions
8 Providing Capacity Building
9 Promoting Fair Trade
10 Respect for the Environment

Organizations like WFTO provide a valuable service for local entrepreneurs by introducing their products to new markets to fetch higher prices. hat can bring highereespecially in locations where the farmgate/factory price is a very small fraction of the market price among end consumers. The WFTO attempts to address concerns for the social, economic and environmental well-being of the communities where products are made and does not allow production to profit by ignoring these issues. The WFTO provide training to both suppliers and buyers to develop fair and workable contracts and product specifications that build trust through on time delivery of quality products.

Fair Trade Organizations also promote the development of fair contracts that ensure orders are paid in part when the order is placed and the remainder paid in full receipt of goods. In addition, contracts spell out fair compensation that is required in the case of order cancellation or rejection of deliveries. Likewise, there are mechanism to resolve problems with delivery, especially when delivered quantities do not match the qualities. The contract also sets fair price for goods and services which has been mutually agreed by all through dialogue and participation, and provides compensation to the producers at a level that can be sustained by the market. The goal is to build long-term relationships based on solidarity, trust and mutual respect between buyers and sellers. There are many improvements that result from adopting contract-based transactions as the standard business practice, especially to suppliers from remote villages. Not only can they better manage local resources and investments but such businesses find these practices compatible with online B2B and B2C transactions. However, IT application are urgently needed to monitor and manage the growing amount of data associated with these contracts. WFTO and similar NGOs are currently seeking partnerships with IT service providers to develop simple online and mobile IT services that would facilitate project, contract and financial accounting for remote entrepreneurs with only basic education.

It is increasely more difficult to maintain a Business vision despite changing market conditions and unpredictable long-term trends. Although AI and Data Science provide more accurate predictions based on history, these technology will never be able to fully predict the future. Random variations occur all the time some introduced by increased competition, technology, environmental disasters, pandemics or/and other natural disasters.
Although governments and NGOs attempt to define factors and solutions to the world’s most pressing problems, their resulting regulations and bureaucracy coupled with inflation add to the complexity, challenges and cost of doing business. The successful organizations of the future are those that would be able to meet the challenges and create new opportunities. Benjamin Franklin summarized it best:

 Change is the only the constant in life. 
 Ones ability to adapt to those changes will determine your success in life.
 

4.8 Improving the human factor in computing

As technology continues to impact every aspect of human existence, it becomes essential that people develop a balanced and effective relationship with the technology. However, technology does has its dark side and social changes it causes are not always healthy. Because the next generation of IT users will have access to more information than anyone could master or even consume in a single life time, it takes training and disciple to maintain a proper balance between activities in the cyber and physical worlds. IT professionals need to develop a balanced lifestyle that allow them to embrace and interact with entities in computer networks as well as with people and issues in physical world around them. As they sort through these issues, their experience and expertise in this regard can be invaluable to their colleagues.

Photo by Alireza Hosseini Moghadam, Unsplash

Figure 4.1: Photo by Alireza Hosseini Moghadam, Unsplash

Technology has always had a effect of amplifying human traits and emotions, both good and bad. In the hands of marketers, technology can motivate and attract new interest. In the hands of agents of social change, it can mobilize people to a common cause.7 Entertainers use it a forum to invite viewers to chill out and to take a break from the stresses of life. Gamers find themselves in virtual worlds where they conquer impossible odds to gain success and fame that illudes them in the real world. However, despite the power of this media, there are no standards for assessing the value and appropriateness of the messages shared. Some random clips go viral and others work tirelessly to create such fame and yet never find it.8 Psychosis and addictions arise when the virtual and real world offer vastly different awards and recognition for overcoming difficulties.9

Electronic addictions

  • Internet addiction disorder: characterized by excessive exploration on the internet interferes with normal interaction with family and friends. This condition often causes spouse to feel isolated and abandoned, especially if pornography is involved.
  • Social media addiction: seen as excessive self promotion on social media sites interferes with normal inteactions with family and friends.
  • Gaming disorder: 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: anxiety due to the fear of not having access to a working mobile phone
  • Over-connection syndrome: 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: seen in 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.

4.8.0.1 Digital intelligence skills

Much like the crowed corridors of a busy shopping center or the sidewalks of a bustling city, the internet has become the crosswalk and meeting place for all types of people as goods and services are advertised and traded. However, for business to thrive in cyberspace, the internet needs to become a communication platform where artists can showcase the products of their craft, gamers can compete with each other, and entrepreneurs can trade their wares. But at the same time, the Internet also attracts swindlers, hackers and cyber-terriorists who attack with deception and malware. Therefore, IT professionals within businesses have a vested interest in promoting the development of digitial intelligence among co-workers that can support business operations in a friendly and safe manner.

Over the past 60 yr, corporate internet policies and regulations were attempts to spell out the rules that defined parameters of proper conduct and procedures to secure and maintain information safely. While the actual rules varied widely from company to company, they became regular sections in most employee handbook and violations were subject to fines and even expulsion.

Basic rules of etiquette apply when people engage in conversation as a means to convey concepts and ideas that build trust and relationships. However, electronic telecommunications remove many of the visual clues that help govern these rules of engagement making it harder to determine the setting and the emotional state of the other party. Thus, normal rules of social etiquette must be extended to prevent misunderstandings and flame wars that often occur when this is ignored. Netiquette rules are an attempt to extend courtesy and foster good relationships despite the limitations of the media. Failure to abide by these rules will often result inappropriate distribution of sensitive information, loss of integrity, and breakdown of online and offline relationships.

Ten Basic Netiquette Rules (adapted from (Hartney 2022))
Netiquette Rules
  1. Make the real people the physical space around you a priority.
  1. Use respectful language as words typed online tend to persist long afterwards.
  1. Share images and statements with discretion as material uploaded to the Internet tends to be forwarded for the world to see.
  1. Be inclusive in your conversation and do not use insider codes to exclude others from the conversation.
  1. Choose friends wisely as not every will respect your privacy and behave appropriately within your circle of friends.
  1. Respect people’s privacy as forwarding information without prior consent is considered rude and problematic.
  1. Fact check information before reposting. Scammers have been perfecting their craft and it is not always easy to spot fake reports.
  1. Do not spam. Avoid being blocked by seeking permission from a mass forum before distributing a series of unwanted messages.
  1. Important emails and text messages require some prompt response, even if it is only to state that more detailed responses will follow. No response often means that the communication was treated as SPAM.
  1. Update online information so that profile information and images reflect current reality.

However, companies have found while netiqette rules helped a generation learn to communicate and function in cyberspace. However, younger workers grew up using computers to play games, do their homework and talk to their friends. While the millential workers generally are more comfortable with the technology, they have often learned some bad habits that can endanger the security of their systems and the harmony in the workplace. It is for this reason that the world economic forum has suggested that the next generation will need to master the 8 essential skills. (Park 2016)

8 digital skills for the next generation
Eight Essential Digital Skills
  • 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.

These skills have found their way into a world-wide movement to train primary and secondary students how to behave and grow up in the cyberworld. The basic is theme is to encourage development of youth competencies and skills to function effectively and safely on the Internet. These skills are known collectively known as Digital Intelligence. As children progress in their primary and secondary education, they are taught to be sensitive to their rights, responsibilities, and need to protect themselves as they grow up as digital citizens. In many countries of the world, the corporate community has invested in this movement because today’s youth will become tomorrow’s workers and consumers. Here in Thailand, the DQI movement is funded and spearheaded by the mobile telephone company AIS that regularly sends speakers to schools and has helped to coordinate age-appropriate curriculum. Although stalkers, swindlers, and bullies will arise in every generation. This program has proven useful in making the Internet a safer place for users of all ages.

Global Standard on Digital Literacy, Digital Skills, and Digital Readiness (IEEE 3527.1™ Standard)

Figure 4.2: Global Standard on Digital Literacy, Digital Skills, and Digital Readiness (IEEE 3527.1™ Standard)

As the use of the Internet continues to expand, corporations need to be as caring and responsive on the Internet as they are in other media and activities. Digital communications of all types, are seen by the public as a reflection of the heart and soul of the organization. Therefor, all employees of an organization must reflect their ability to be competent, responsible digital citizens. However, development and communication of these traits does not come easily and is often the subject of corporate workshops and seminars. IT Staff are often called on to participate in this training where interpersonal skills often take priority even over technical skills. IT professionals have long discovered that it is not sufficient to have a technically correct solution unless it can also be communicated in manner that will be adopted and used by the community at large. To do that, a basic level of understanding of IT and its potential needs to be understood by the general population.

Skills of 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

In recent years, there have been efforts to study the various efforts used to promote digital literacy and skills around the world. In 2018, the Coalition for Digital Intelligence (CDI) was formed to develop a framework about digital literacy, skills and readiness that can be benchmarked, referenced, and adopted across nations and sectors worldwide. This has given rise to IEEE 3527.1 Standard for Digital Intelligence (DQ) that has been endorsed by the OECD, IEEE SA, and DQ Institute in association with the World Economic Forum. The goal is to help individuals and nationals achieve well-being, prosperity, and safety/security in a global digitized society. Towards this end, a DQ Index has been developed to measures the progress of human-centered digital transformation of individuals and nations in 3 focus areas: 1) Citizenship that use technologies in responsible, safe, and ethical ways; 2) Creativity that solves problems through the creation of new knowledge, technologies, and content; 3) Competitiveness through changes to communities and the economy. (DQ Institute 2022) DQI will be launched as an online service in 2022 and IT Professionals can use this online test to measure the competence of their respective organization and the effectiveness of their training efforts.

Three levels of Digital Intelligence Quotient:
Levels of Digital Intelligence Quotient
  • 1. Digital citizenship: able to use digital technology and media in safe, responsible and effective ways
  • 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
  • 3. Digital entrepreneurship: Able to use digital media and technologies to solve global challenges or to create new opportunities

In all the previous sections of this textbook, the authors have stressed the need for organizations to develop competencies that empower their workers to harness the potential of IT to address real-world problems with solutions in a way that appeals and can be adopted by its customers. As the global economy enters an era of intense AI and data-driven innovation, organizations will need to develop the ability to sustain the growth their DIQ in order to meet the changing needs of their clients. Although the challenges to this growth will result in new technologies, the basic principles of good business practice will continue to drive sustainable business growth, especially when they are clearly implemented within the business operations and communicated across all media.

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.10 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.11 A demo website for Fedena has been established12 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.13 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 Edition14

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.15 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.16 https://opensource-demo.orangehrmlive.com/

*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 and expense tracker

A.4 Ruby on Rails

Rails is a full-stack framework designed to rapidly design, prototype and test all aspects of web apps. The system supports both front and back ends operations and can manage both server-side and client-side computing. The framework is based on Controller, Model and View functions which handle respectively the parsing of user requests, data operations and rendering of output via html, email or sms. Ruby on Rails supports a wide range of functions that support full range of interactions between data objects within an Entity Relationship Diagrams (ERD), including storage in the cloud and security protections against common attacks.

A.5 Power BI

Microsoft Power BI is a Microsoft product that was built to extend the functions of Excel to support the visualization and analysis of data. It contains a collection of apps, software services and connectors that can be used to create interactive data dashboards to accumulate unrelated data in order to demonstrate interaction and provide insights. Power BI can work with simple Excel spreadsheets as well as cloud-based or server-based Data warehouses. Using Power BI, multiple data sources can be combined to visualise and share insight gleaned from the data.

A.6 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.7 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 macOS17 as well as a live version on the web.18 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.

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 destructive behaviors 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
  • Reading 4.1: Comparing between inhouse and on cloud service

D Synopsis of common personality tests in corporate use

HR Departments have often employed various questionnaires as instruments to build personality profiles to help find the right person for the job. These instruments have been tested against large test samples in multiple cultures and proved to be helpful in predicting the long term performance of candidate. The following sections summarize the most common tests used.

D.1 Belbin Team Roles

The Belbin Team Roles test asks a series of questions that attempt to capture and quantify the response of participants in particular situations. The results help to suggest the team role that an individual would choose within a team setting. The value of the Belbin Team Role theory lies in enabling individuals or teams to benefit from self-knowledge and adjust according to the demands being made by the external situation. (Belbin 2010) The clustering approach has also helped to identify common strengths and weaknesses exhibited by individuals who indicated a preference for a particular pattern. This has been useful for guiding the creating balanced teams and mentoring team members to make them more capable of completing projects given them.

Belbin’s People-Oriented Team Roles
People-Oriented Team Roles Thinking-Oriented Team Roles

Resource Investigator: (33.2%)

  • Strengths: Uses their inquisitive nature to find ideas to bring back to the team. Outgoing, enthusiastic. Explores opportunities and develops contacts.
  • Allowable weaknesses: Might be over-optimistic, and can lose interest once the initial enthusiasm has passed.
  • Concerns: They might forget to follow up on a lead.

Co-ordinator: (26.2%)

  • Strengths: Needed to focus on the team’s objectives, draw out team members and delegate work appropriately. Mature, confident, identifies talent. Clarifies goals.
  • Allowable weaknesses: Can be seen as manipulative and might offload their own their own share of the work.
  • Concerns: They can over-delegate, leaving themselves little work to do.

Teamworker: (18.2%)

  • Strengths: 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.
  • Allowable weaknesses: Can be indecisive in crunch situations and tends to avoid confrontation.
  • Concerns: They might hesitate to make unpopular decisions.

Plant: (3.7%)

  • Strengths: Tends to be highly creative and good at solving problems in unconventional ways. Creative, imaginative, free-thinking, generates ideas and solves difficult problems.
  • Allowable weaknesses: Might ignore incidentals, and may be too preoccupied to communicate effectively.
  • Concerns: They could be absent-minded and forgetful.

Specialist: (0.8%)

  • Strengths:Brings in-depth knowledge of a key area to the team. Single-minded, self-starting and dedicated. They provide specialist knowledge and skills.
  • Allowable weaknesses: Tends to contribute on a narrow front and can dwell on the technicalities.
  • Concerns: They can overload colleagues with technical information.

Monitor Evaluator: (0.5%)

  • Strengths: 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.
  • Allowable weaknesses: Sometimes lacks the drive in a dispassionate way and ability to inspire others and can be overly critical.
  • Concerns: They could be slow to come to decisions.
Belbin’s Action-Oriented Team Roles
Action-Oriented Team Roles

Implementer: (11.4%)

  • Strengths: 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.
  • Allowable weaknesses: Can be a bit inflexible and slow to respond to new possibilities.
  • Concerns: They might be slow to relinquish their plans in favour of positive changes.

Shaper: (2.3%)

  • Strengths: 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.
  • Allowable weaknesses: Can be prone to provocation, and may sometimes offend people’s feelings.
  • Concerns: They could risk becoming aggressive and bad-humoured in their attempts to get things done.

Completer Finisher: (3.6%)

  • Strengths: 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.
  • Allowable weaknesses: Can be inclined to worry unduly, and reluctant to delegate.
  • Concerns: They could be accused of taking their perfectionism to extremes.

D.2 The Big 5

The Big 5 Behavioral Characteristics and examples
The Big 5 Behavioral Characteristics
  • 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.

    • Low end: consistent, cautious (Accountants)
    • High end: 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.

    • Low end: easy-going, careless, sloppy. (Graffiti artist)
    • High end: 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.

    • Low end: solitary, reserved, shy, introvert. (Hermit)
    • High end: 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.

    • Low end: challenging, detached, rigid. (Prosecutor)
    • High end: 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.

    • Low end: confident|secure, cool (Air traffic controller)
    • High end: sensitive, nervous, explosive. (Drug addict)

D.3 Briggs Myers

  • 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

  • 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

  • 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

  • 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

E 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 E.1: Business plan

E.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.

E.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.

F An Example of Behaviour Driven Development

F.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"

F.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.

F.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 F.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

F.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

F.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

F.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"

F.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 HiLo | เรียนเชิญเล่นเกม iLo |
  | 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

F.2.6 Refactored Feature definitions

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

F.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" 

F.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       |

F.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"

F.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
  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 HiLo | Welcome to HiLo |
    | What language?(TE) | What language?(TE) |

F.2.7 Refactored Step Functions

F.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

F.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

F.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

F.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

F.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 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 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

G 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.(Heroku 2021)

Setting up Ruby on Rail Development on Heroku
Description of th setup steps
  1. Sign up for a free account at Heroku.com

  2. Follow the instruction for installation with your local computer that are posted online at https://devcenter.heroku.com/articles/getting-started-with-rails5

  3. Use the heroku shell app to login to the Heroku cloud from your computer. heroku login

  4. In your shell, create a local work directory for your heroku projects and make this directory the current working directory.

  5. Install Git for Windows.

  6. Install Ruby version 2.5.7

  7. Install rails from the gem without the documentation.

  8. Create a new Rail workspace on your computer

  9. Install the Heroku gem.

  10. Run Bundler to update all GEM files needed.

  11. Generate a test scaffold of a class you will need.

  12. Run the local Rails server and test website with a browser.

  13. Push the Rails app to Heroku

  14. Activate the Heroku website site

  15. Test the online version of your website in your favorite browser.

  16. Add models, controllers, views, templates and helpers for your application.

  17. Develop and run unit test.

  18. Update the online version.

Alternatively, Bitnami has a full Ruby stack that can be used for developing Ruby on Rails application with fewer steps but does not provide online hosting services.(Bitnami 2021)

{backmatter}

References

Airtasker Blog. 2020. “The Benefits of Working from Home: Comparing the Productivity, Spending and Health of Remote Vs. In-Office Employees.” https://www.airtasker.com/blog/the-benefits-of-working-from-home/.
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.
Alsop, Thomas. 2021. “Shipment Forecast of Tablets, Laptops and Desktop PCs Worldwide from 2010 to 2021.” https://www.statista.com/statistics/272595/global-shipments-forecast-for-tablets-laptops-and-desktop-pcs/.
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.
Bitnami. 2021. Create a New Rails Application.
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.
CodiLime. 2016. “Comparing Cloud and on-Premise Costs: Case Studies.” https://codilime.com/case-study/comparing-cloud-and-on-premise-costs/.
Commons, Creative. 2007. “Creative Commons 3.0 License.” https://creativecommons.org/licenses/by/3.0.
Consortium, Cucumber. 2019. “The Cucumber Reference.” https://cucumber.io/docs/cucumber/.
CryptoKitties. 2017. “CryptoKitties: Collect and Breed Furrever Friends!” https://www.cryptokitties.co.
Cucumber. 2019. “The Gherkin Reference.” https://cucumber.io/docs/gherkin/.
Deckler, Greg. 2016. “Cloud Vs. On-Premises: Hard Dollar Costs.” https://www.linkedin.com/pulse/cloud-vs-on-premises-hard-dollar-costs-greg-deckler?trk=pulse_spock-articles.
Dewey, John. 1910. “How We Think.” https://www.gutenberg.org/ebooks/37423; Heath; Company.
Doyle, Alison. 2021. “Top Soft Skills Employers Value.” https://www.thebalancecareers.com/list-of-soft-skills-2063770.
DQ Institute. 2022. “The DQ for All Charter.” https://live.dqinstitute.org/global-standards/.
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.
Goh, Jason. 2014. “Singapore Skyline.” https://pixabay.com/photos/skyline-cityscape-buildings-255116/.
Goldberg, L. R., J. A. Johnson, H. W. Eber, R. Hogan, M. C. Ashton, C. R. Cloninger, and H. C. Gough. 2006. “The International Personality Item Pool and the Future of Public-Domain Personality Measures.” Journal of Research in Personality 40: 84–96.
Goldberg, Lewis R. 1992. “The Development of Markers for the Big-Five Factor Structure.” Psychological Assessment 4 (1): 26.
Goldberg, Lewis R. 2019. “International Personality Item Pool.” https://ipip.ori.org/index.htm.
Hartney, Elizabeth. 2022. “10 Basic Netiquette Rules.” https://www.verywellmind.com/ten-rules-of-netiquette-22285.
Heroku. 2021. Getting Started on Heroku with Ruby. https://devcenter.heroku.com/articles/getting-started-with-rails5.
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.
Kaur, Bhavleen. 2021. “6 Things Accounting Firms Should Know about Cloud Hosting Providers.” https://www.acecloudhosting.com/blog/things-accounting-firms-know-about-cloud-hosting-providers/.
Kurzweil, Ray. 2017. “Facebook Live Studio with Ray and Amy Kurzweil.” Interview at SXSW, available online at https://www.facebook.com/SXSWFestival/videos/10154414699178994.
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.
Mark, David. 2017. “Hong Kong Streets.” https://pixabay.com/photos/hong-kong-city-traffic-lights-1990268/.
Microsoft. 2022. “Total Cost of Ownership Calculator.” https://azure.microsoft.com/en-us/pricing/tco/calculator/.
O’De, S. 2021. “Worldwide SmartPhone Shipments 2010-2021.” https://www.statista.com/statistics/263441/global-smartphone-shipments-forecast/.
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".
Rawpixel.com. 2015. “Planning Icon Vector.” https://www.freepik.com/vectors/planning-icon.
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.
Salary.com. 2022. “Surveys and Data Sets.” https://salary.com.
Saleh, Khalid. 2019. “Global Online Retail Spending: Statistics and Trends.” https://www.invespcro.com/blog/global-online-retail-spending-statistics-and-trends/; Invesp.
Schmitt, David P., Jüri Allik, Robert R. McCrae, and Verónica Benet-Martínez. 2007. “The Geographic Distribution of Big Five Personality Traits: Patterns and Profiles of Human Self-Description Across 56 Nations.” Journal of Cross-Cultural Psychology 38 (2): 173–212.
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.
Smith, Kelli. 2018. “Reasons to Work Remotely.” https://skillcrush.com/2018/09/13/reasons-to-work-remotely/.
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.
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 Next Web. 2019. “25-Years of Worldwide Phone Sales.” https://public.flourish.studio/visualisation/270258/.
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.
tookapic. 2015. “Hotel Entrance.” https://pixabay.com/photos/door-entrance-house-hotel-business-932342/.
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.
Yomaboot, Panida. 2014. “Thai Translation of the IPIP NEO Domains.” https://ipip.ori.org/Thai50-itemNEO-PI-R-Domains.htm.
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.
สุริยวงศ์. 2561. “7-11 (เซเว่นอีเลฟเว่น) โฉมใหม่ยุค 4.0 ไฮเทคมาก.” https://youtu.be/Xl3rEUbpgsE.

  1. 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.↩︎

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

  3. 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↩︎

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

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

  6. 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↩︎

  7. Technology as an agent for good: (https://youtu.be/po01VlNvCcQ)↩︎

  8. Technology related antisocial behaviors: (https://youtu.be/dRl8EIhrQjQ)↩︎

  9. Dark side of technology: (https://youtu.be/J7cYcesGLcY)↩︎

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

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

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

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

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

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

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

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

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