OUR APPROACH TO SOFTWARE
We have taken a purposely different approach to the development of finance software. Rather than taking a 'one size fits all' approach with the occasional modification when time and architecture permits, we have distilled the basic nuts and bolts of the finance industry into a Framework that can be plugged together in almost any way that a client might require. The result is the CreditPlus suite of products.
What makes CreditPlus different?
The majority of existing software packages on the market today are based on the concept of parameterisation. With this approach, the behaviour of the software can be modified by changing the settings of a wide range of parameters. The theory is that the same piece of software can be tailored for any type of business by simply tuning the parameters.
We believe this approach to be flawed. There are a number of reasons for this belief.
Firstly, in our experience, there is no such thing as a typical business, product or account. Consider the example of a simple personal loan. The mathematics and structure of such an account may be fairly standard in that an amount of money is lent over a fixed period at a particular rate with known repayments. But as finance companies seek to innovate and differentiate themselves from their competition, even simple products like personal loans get more complicated. Variable rates, fees, payment holidays, commissions and interest rate splits to third party originators, collateral, further advances and revolving facilities are just some of the variations we have seen for a 'simple' personal loan.
It is practically impossible for a software designer to be able to estimate all the possible permutations and combinations that a business may require in the future. As a result, most packages start their life with a fixed set of parameters that control the obvious business variables such as interest calculation methods, payment frequencies, etc. Then, after this initial design, these packages tend to evolve as new requirements are found and new parameters are added. “We can add a new parameter here and there when you need it” is a common statement from such vendors. In reality though, a wide range of parameters results in enormously complex software. In fact, the addition of a new parameter can almost lead to an exponential increase in complexity. Complex software is neither in the interest of the software vendor nor the customer for technical and business reasons.
The issues can be summarised as technical and business in nature:
- Technical issues
- Complex software is difficult to maintain and develop which is why apparently simple changes may take forever and cost a fortune - every change must be checked against existing function to ensure nothing gets 'broken' when the new parameter is added
- Complex software is almost impossible to test fully as the permutations of parameters are endless
- Complex software doesn't perform or scale well. You may have to throw hardware at the problem, for example, with no guarantee it will help
- Complex software results in complex database structures which makes it difficult, if not impossible, to extract information about your business when you need it.
- Business issues
- Realistically, you will find that you have to rely on your software vendor to make any configuration changes in the future because it will be just too complicated for you to do it yourself
- You and your competitors are using the same software. The bright ideas you are contributing to the software are ending up in your competitors' offices as well.
The FASNexus Approach
Our solution is simple. It comprises a foundation of software (we call it the 'Finance Framework') on top of which we add a customised layer of software (we call it a 'Solution Layer') designed to your requirements and no-one else's.
We consider this to be the best of both worlds because it eliminates all the disadvantages associated with traditional software packages. The Finance Framework contains almost all the financial systems and management function you will need - there is no need to reinvent the wheel as you would for a custom solution. Your Solution Layer links the underlying functions together to meet your precise needs. Most importantly, you own your Solution Layer - it encapsulates how you want to operate your business, it does not force you to change your processes to match the software and it is unique to you. None of your competitors will get the benefit of your own bright ideas!
Our Finance Framework
Typical functionality found in our Finance Framework consists of:
- A technical layer such as database interaction, exports, imports, security, transaction consistency and auditing
- A layer of general business functionality such as electronic funds transfer, accounting and accounting exports, and commercial bank interfaces
- A layer of financial functionality such as time-value-of-money calculations, rate structures, financial transactions, instalments and payments
- A series of base objects such as BusinessObject and Account.
The Finance Framework provides the base functionality available for a client's unique Solution Layer.
Your Solution Layer
On top of the Finance Framework, we build a unique Solution Layer for you that matches precisely how you want your business to run.
To understand how we do this requires an understanding of a programming concept known as 'inheritance'. To illustrate this, we will outline the concept of a Business Object and Account.
In our Finance Framework, we have something called a Business Object. The Business Object has software that provides it with certain intelligence and functionality. Business Objects can be listed and displayed automatically on the user's screen or over the internet. Business Objects can have multiple fields such as text, currency and dates, etc. Business Objects can have relationships with other Business Objects. Business Objects can be stored and retrieved in a database, can have various security roles associated with them, and can have any and every change audited.
An Account is a special type of business object. An Account inherits all the functionality from a Business Object. It can therefore do everything that a Business Object can, plus it has the functionality to manage balances and financial transactions, co-ordinate daily processing and perform real-time value-dating.
Inheritance is an important concept to understand when it comes to the development of the customised layer of software. With inheritance, the Solution Layer can be kept simple as the core functionality is inherited from the Finance Framework.
Let's consider a real example. (To illustrate the concept we will simplify things greatly.) Let's say you are a company providing fixed rate personal loans directly to pre-approved individuals via a telesales team. All loans are 12 months and paid monthly by direct debit, with no option for early settlement and interest amortised using 'Rule of 78'. The initial loan amount is issued by cheque to the customer. A monthly statement is sent to the customer by e-mail.
For this business, we could create a custom solution by writing program code that consists of the following:
- SalesPerson (inherits from Business Object) with fields for name, etc.
- Customer (inherits from Business Object) with fields for name, date of birth, e-mail address, etc.
- Personal Loan (inherits from Account) (see below)
For the personal loan, we need to define the balances that we need to manage (balance and arrears), define the loan amount and banking details, and link the loan to instalments and an interest accrual mechanism. The loan is also related to a customer and salesperson.
As the personal loan inherits from Account, we do not need to be concerned about the base financial management, how the account is stored in the database, nor how it is displayed on screen, to name just a few items.
Although we have indicated that the loan has instalments, we also do not need to worry about the structure or operation of instalments as this is handled within the Finance Framework. The same applies to banking details, electronic funds transfer, statement production and e-mail. The program code that represents the personal loan is very simple and defines how we are using the various services provided by the Finance Framework.
How long does this take?
Typically, the creation of this unique, customised program code, your Solution Layer, represents between 5% and 10% of entire project, measured by time. (This depends on the complexity of the user's requirements and assumes the requirements have been appropriately specified before development begins.) As a guideline, the example we used above of a simple personal loan could be created and deployed in a matter of minutes. Even the more complex products and structures should not take more than a few days.
In fact, in practice, we find that the overall time to develop and deploy a new application is more often driven by the time it takes to analyse and create a clear, unambiguous statement of end user requirements for things like the process workflow desired in the Solution Layer, the screen appearance (particularly if a number of sales channels are to be used) and the detailed back-end accounting treatments required.
SUMMARY
- CreditPlus has been designed to allow your business to drive the system, not the system to drive your business, by providing a unique Solution Layer for you that precisely meets your needs from Day One and which can be quickly expanded without major effort
- Read more about CreditPlus here
- Contact us for more information.
|