Adam Lok, founder of FlexSystem Limited, discusses how he took on international enterprise software providers with a unique methodology and vision.
In today’s market, customers rule – their demands and expectations shape markets, reshape industries and change business rules.
To win, firms need to be agile, flexible, scalable, efficient and adaptable – key attributes behind the digital transformation journey of many companies in Hong Kong.
One firm that has stood the test of time is FlexSystem Limited. Founded 30 years ago, the technology company has built a strong customer base for its software.
Today, FlexSystem offers a slew of enterprise software applications designed, coded and developed in Hong Kong. These include software for Financial Management, Financial Query, Financial Consolidation, Fixed Asset Management, Workflow Management, LedgerBase, Business Intelligence, Trading Management, Human Resources Management, Property Management, Procurement and Expense Management.
With over 2,000 customers from a cross-section of industries and operating in 37 countries, FlexSystem offers a comprehensive suite of solutions and custom software development services.
Much of its current success can be traced to the philosophy used to start the company. “A sustainable software designed based on unique software engineering principles and practices, core elements of data schema and a comprehensive data processing cycle helped us to endure changing business dynamics and technologies,” Adam Lok, FlexSystem’s founder said.
Lok saw the ability to build a core component that copes with technology changes as software design efficiency.
FlexSystem then assembled these components using an in-house developed Application Server. Using a unique 5-tier architecture—additional virtual data and virtual client tiers—it was able to meet the changing demands of new technologies easily.
This approach delivered results. “One customer who was using conventional ERP [Enterprise Resource Planning] took a month to do their year-end closing. It also took them five hours to close the inventory system,”
Lok said, highlighting a common problem that many companies face.
Using this unique methodology and approach, FlexSystem turned this challenge to its advantage. “That five hours becomes five minutes with our software. But for me, we can do even better. In my mind, the ideal processing time is 5 to 10 seconds. To achieve this, we are developing a long-term technology strategy that takes advantage of future technology developments,” Lok said.
Much of the approach and methodology used were a result of Lok’s own educational background. “I started my career as an engineer. Everything in my mind is about engineering. So, when I am going to design a system, I look at it from an engineer’s point of view. We design for efficiency and effectiveness. Because of this [approach], the core system has proven to be good from day one,” Lok said.
Being code efficient
Lok is a great believer of being stringent with code. While other ERP vendors have over hundreds of millions of lines of code, FlexSystem limits the code size by “tenfold” in comparison. This conservative approach has allowed it to minimize human error.
“When you reduce the size of your source code, you improve the overall quality because you have fewer opportunities for error. It also translates to less production time and design faults,” Lok said.
This quality assurance and strong focus on efficiency has helped the firm to compete with international behemoths. It has enabled the company to build a strong base in Hong Kong and Asia Pacific.
“Our customers are 1 in 5 of the Fortune Global 500 and more than 20% of listed companies in Hong Kong are using our software. Today, we are quite successful in Hong Kong,” Lok said.
Another benefit of a smaller source code is maintainability. To achieve this, FlexSystem breaks down each software code base right down to its elemental components. This makes the software easier to understand, enhance and maintain for developers.
“To build software is not easy, but what is more difficult is maintaining it. We use a software architecture with detailed components and tiers that is easier to maintain. This makes each component more reliable and extendable,” Lok said.
Taking a component approach that uses a scalable application server gives FlexSystem two added benefits. One is adaptability. For example, FlexSystem solutions can now take advantage of multi-core technology easily because the firm only needs to focus on the components that matter.
In the same way, it improves security. Lok noted that it proactively tackles software development’s biggest threat—hacking by SQL injection.
“If your code is not good, hackers can use SQL injection to hack parts of it to alter the database and capture information by bypassing the application server,” he said, adding that his customers have also the option of deploying either NoSQL or SQL databases.
Lok noted that today’s customers are asking for flexibility, simplicity and easier access to data. Building these into software is not simple however.
“Building a simple-to-use application that allows easy access to the data with efficient processes, less customization and fewer IT dependence is not easy. So, we use tools that users are familiar with and extend the capabilities. Then we add on a powerful data processing engine that significantly reduces lead times for reporting on transactions,” Lok said.
One way FlexSystem addresses the constant demand for better, simpler and faster software is through automation. The company subscribes to the industry’s call for software industrialization.
Here software development is seen as a factory process and an assembly line. Once the software specification is finalized, it is then assembled component by component. This allows the software to adhere closely to industry standards.
It also allows software to be generated for different platforms. For example, Lok noted that a good application generator can easily develop software from HTML 5, Java and even mobile.
“As a result, we are a true multi-tier solution provider, giving the customer choice. They can also optimize according to the license costs and take advantage of new capabilities and innovation,” he added.
But software industrialization goes beyond the customer centricity that every development houses talk about. “Every piece of software must be designed to be user centric. Every vendor knows this. But for me, it is not just about being user centric. It is also about being development centric,” Lok said.
He noted that the software industry has still some years to go before software industrialization is adopted. “Currently, software development is in a state of between art and engineering. In our software industry, the difference between a good developer and an average developer is huge,” Lok said.
Lok believes the future lies in software industrialization.
“How can we standardize components and processes, assemble using automation, and mass produce applications on demand at low cost and high quality? This is what I had wanted to do in the past 30 years and will aim to do so in the next 30,” Lok concluded.