Developing your solution
We have extensive experience of CODA and providing solutions to fill the functionality gap, improve the operation of the application, integration with other applications and saving time by automating some repetitive tasks.
How do we go about developing solutions? The information below will guide you through the process.
If you would like to discuss your requirements with our development teams then please feel free to e-mail – Dan.Barton@Level8.Solutions or complete the contact form on the home page.
Click on the links to see more information
Software design and development
Integration Solutions or Interfaces
Bespoke or customised solutions
Added Value solutions
Summary of consideration
Which approach to take
How can we help?
Contact details – Dan.Barton@Level8.Solutions
We provide general and technical business analysis services. We are strong on process design and software solution design combined with in-depth CODA knowledge, we can guide you every step of the way.
Requirements gathering – starting out
The first steps are always the most important, this is true in many areas of life, no more so than successful software development.
You may have a clear understanding of the issue that you want to resolve, our consultants have many years of experience of working on diverse business processes and will bring that experience to your project.
We will guide you at each step and help you to fully identify the solution that works for your business. We are happy to engage at an early stage and guide you through the whole process from the start.
Next steps – the project
Once you agree the project; its deliverables and indicative budgets then:
We will begin the detailed design and planning.
This process verifies the effort and cost estimates so far and provides reasons for variance. It will also provide greater analysis of project risks.
In practice, the detail of this section depend on agreed deliverables and the build strategy.
-Will there be a significant software portion?
-How collaborative will our approach be?
These are just some of the considerations.
You can get more detail from other sections on this site; our section on Software design and development gives a more detailed view of how the project might progress.
Strong project management is crucial. We do this by having our own project framework or we can work within any prescribed methodology. The main areas we cover are listed below:
- Project Governance including escalation points
- Critical Success Factors
- Roles and Responsibilities outlined for all parties
- Time table of review meetings
- An agreed set of deliverables from all parties
- Key milestones and timelines
- Key touchpoints for full project review
- Risk mitigation and planning
- Support and maintenance
We provide regular progress updates with actions completed, costs to date, expected cost and time to complete and updates on any risks, together with any governance and project reports which may have been agreed.
This allows the team to monitor the progress of the project and allows for proactive actions rather than reacting to issues.
We repeatedly deliver project success by undertaking detailed project management up front and ongoing task management throughout the project. With this approach we find the actual project work proceeds smoothly, calmly and without surprises.
Software design and development
There are several stages to a successful development project and all must be completed effectively and on schedule. Whist the development stage is important to the process, a great deal of value is also added during the analysis and design phases, and later during the testing and implementation phases.
Analysis and design
The analysis must feed into the design phase in a seamless and natural manner. Any foreseen problems must be addressed so that they are not carried through the project, issues do arise and these will need to be addressed as soon as possible, smoothing rough edges as we discover them, anything less will leave niggling problems that return later in the project and result in cost and time overruns.
There are many ways of carrying out the detail of a development project.
There are clearly marked stages in the development cycle with defined entry and exit criteria, here you complete each stage as a separate deliverable: you complete the current portion of the project before moving onto the next stage. Exit from each stage is measured and validated against the exit
LEVEL8 Agile Approach – Partnership, flexibility, speed.
Here you work closely together, are flexible and quick, i.e. a partnership working with flexibility and speed.
We believe working in partnership with our clients and the user community to gain a better understanding of the project requirements at the outset. This helps reduce the need for late change requests, iterative changes and increases in cost. We have extensive experience of facilitating this process and will guide you through the analysis and design stage.
Flexibility is key – we are very happy for you to change your mind overnight, and then again the next night. We always design our systems to be as configurable as possible. This maximises the chances for the client to make changes themselves or, if actual software changes are required, these can be implemented by us at low cost. We would also ask that you remain flexible too. If you suggest something that is expensive, risky or otherwise difficult, we will tell you and do our best to devise a straightforward process to accommodate that part of your business. If you are open to changing your processes, you may be surprised at the benefits that can be gained by doing so even to a well designed system’s cost and stability.
Building a new solution to take advantage of a business opportunity is essentially a creative process; something new is being built. It is our job to ensure it has solid foundations, is efficient and user friendly on its way to getting the job done. But it is still a creative process – and as such we believe the speed at which we can implement a new idea is critical. If you have a suggestion and can see the reality in front of you within minutes and hours, rather than days and weeks it is so much easier to judge whether it is a good idea, and whether further changes will make it an even better one. We want to be as quick as we can in responding to any suggestions to maximise the chances of a good system, and thus project success.
The testing phase of a project is very important. We believe there are five steps in total:
- unit testing (where we check the program runs OK – we get rid of the bugs);
- functional testing (where we check the software does what we intended it to do);
- acceptance testing (where you check our software for bugs and check it does what you wanted);
- user testing (does it enable your end users to carry out their responsibilities?);
- system testing (does it integrate with your other systems and processes?).
You can see that only the first two are wholly within our domain – the last three are partly or wholly within your domain. The general point here is that we all have a role and a commitment to ensuring project success; we all want to see the new system working well on day one, day 100, day 1,000 and on into the future.
Deployment and support
Having built a system together we need to implement it into your business’s production environment. This will involve several steps – at high level they will be:
- installation on your hardware, configuration and integration with other business systems
- ensuring you and your staff; end users and IT are fully trained in using and supporting it
- ensuring you know how to ask for help when you have questions or something goes wrong by setting up internal first line support, and be able to reach out to use for support.
Back to Content
Integration Solutions or Interfaces
Interfacing itself is a fairly generic term. In this context, more often than not, it means batch overnight interfacing, which is very important to many organisations.
Interfacing can seem deceptively simple; when done well – simple is exactly what it is. As is often the case, when not done well it can become complex and problematic very quickly.
Characteristics of a Good interface, (when done well, such interfaces should)
- just run in the background
- complete in a timely manner
- provide meaningful messages if and when issues arise
- enable changes to be made quickly and cost effectively as your business changes
Interfacing also covers many other topics, such as:
- generating information for credit checks and validations
- exchanges between systems, where one system owns the data but changes need to be cascaded to other systems.
- synchronising and validation of the same data that exists in more than once place and can be changed in both, or several, locations;
- loading of data and then processing it – for example bank statements and cash matching.
There are countless other examples; it is rare to find two situations which are exactly the same, but the same general principles can usually be applied.
Back to Content
Bespoke or customised solutions using CODA program components
Image ID : 11701260
The important point here is that we use the same programming components as the main application. CODA is class leading and has proved to be one of the most stable financial platforms, this is evidenced by the fact that many clients are running outdated versions in the knowledge that system failures are rare. With that background and the policy of open door access to CODA program components. Why would you write your own?
CODA have historically kept all programming code up to date unless it is retired. In which case advanced notice is given and migration options have been put in place to newer technology.
The basically means that LEVEL8 can create any bespoke routine that is supported by the underlying program code.
Add to this a fresh approach to old routines and you have the basis of a strong relationship that is progressive and ahead of the curve.
CODA functionality has always been developed on the back of what the majority of user have requested and ease of development and inclusion in the next release. This often means that some functionality, critical to some users, is never identified as being required hence does not find its way into the application.
LEVEL8 have never been constrained by CODA’s software development cycle and have been able to develop solutions for their user, some of these have been critical solutions and high priority for our clients.
Providing bespoke routines to support business processes such as credit reference checks between operational systems and CODA and receipting of payments. Often these include write-back of non-financial data and key field updates in CODA from third party systems and vice versa.
Development of customised screens and layout based on customer templates using components and data from CODA. E.g. hybrid credit control screen layouts.
Re-Alignment of assets following company re-organisations to reflect changes in ownership
Added value solutions that free you up to run your business
- Providing flexible solutions to restricted or time consuming or repetitive CODA processes and functionality such as reconciliation and matching.
- Processes that save time during the month end close. We are able to cover many time critical processes and make the close smoother.
There are a number of processes that are restricted for very good reasons, such as month end close. An example is listed below:
In a single CODA company environment, this takes little effort
In a multi company environment, say 50 companies this become more time consuming, there may be a strict order of close which creates further complications and starts eating into valuable reporting deadlines.
Automation of the month end close in the latter situation could save a few hours a month.
Some CODA users have hundreds of companies, crossing different time zones and in different reporting groups which makes this process time sensitive and subject to close supervision and control.
LEVEL8 can automate any functionality that exists in CODA, in the case above it would be possible to close companies in a prescribed order and schedule.
Data migration is critical phase in any new system implementation as you need to import data from an ‘old, replaced’ system into the new one in order to retain historic transactions.
Occasionally, you need to bulk load data into an existing system, possibly due to a company merger, demerger, company hives, year-end changes and alignments etc.
High volume interfacing and data migration are very similar in nature. Both processes require high levels of data integrity to be maintained through-out the ETL process:
- Reconciliations checks and balances between source and destination systems
- data mapping,
- data quality,cleansing and integrity
- strong audit trail
- Statistical data including the amount of data to be processed and the time taken
Summary of coniderations
Checks and balances
In general, for any migrated data you will need reports and reconciliation to compare the data in the old system to the new system. You need to know that the data has been migrated cleanly. For a finance system, a trial balance is an obvious starting point, other checks include hash totals, line counts and records processed.
Data mapping and translation
It is often the case that the data in the new system will be slightly or significantly different from the old system. You may have a new set of nominals; customer and supplier codes may be changed and so on. The more complex the requirements here, the more complex the migration becomes; at its most complex it becomes a full blown interface in itself, albeit one that is used once, and then discarded.
Data quality, cleansing and integrity
It is often the case that during a migration you find that your old system had data issues that you never knew about. In the context of the migration decisions will be needed on how to correct the data so that it arrives in the new system in a ‘good’ state. Data cleansing is an important part of a migration. It may become a significant part of the overall project if there is much to do; or there may be a handful of cases which are trivial – that can be corrected manually in five minutes.
A strong audit trail is recommended and often is needed, in order that that every data record in the new system can be tracked back to the corresponding data record in the old system. If there is much data translation and mapping, or data cleansing issues this can become quite onerous. Data volumes may mean that detailed audit trails are not feasible, in which case alternative higher level controls may need to be used, such as hash totals and record or line counts.
Data volumes in a migration can cause considerable problems, these issues can be two-fold.
- too much data and not enough time to migrate it; or
- there is so much data, that it would slow down any new system e.g. Reporting may struggle.
LEVEL8 are subject matter experts in CODA-financials and will be able to guide you on sensible strategies to adopt following a migration such as archiving non-current transactional data or only migrating balances for historic data. Whether period by period balances or Year-End and possibly in summarised form e.g. Nominal Trial Balances only. These consideration will have a significant impact and will play a major part in deciding the approach to the migration.
Generally a migration will be scheduled over a weekend. In some cases there is a small enough quantity of data it literally only takes an hour or so. In other cases, a ‘full’ migration, with data cleansing and lots of data translations can take several days. In these cases compromises are very attractive and usually have side benefits in any case, such as improved reporting speed.
Which approach to take?
You will see from the above there are many things that influence the approach to take.
The list that follows is a quick reference for the types of approach we have seen and might be applicable in your situation. You may end up using a mixture of these:
- write a full blown interface using full cycle software development;
- use a database vendor’s toolset to read and manipulate data from one system to another;
- summarise the data before inserting into the new system;
- use spreadsheets to manipulate the data;
- directly insert the data into the new system’s database, rather than use the formal data import utilities;
- phase the migration; bring over the crucial current data for day one, then the historic reporting data gradually over the following few days;
- two stages – historic, then a few weeks later the ‘last period’ when it is closed in the old system
- store some of the historic data elsewhere (maybe left in the old system) and run reports on it whenever the need arises.
How we can help?
The first step would be for some high level analysis to understand which broad approach to take. The broad headings for the scoping would be as above, though they may move around and some new ones be needed for any given situation. From this we would provide a recommended approach. Once agreed we would produce a full scoping document with a project plan, actions, risks and responsibilities.
We have the skills and know-how to implement the solutions mentioned – or to assist your staff in implementing them. In other words, we can provide a turnkey solution or work as part of your team. As always, please contact us to discuss your specific situation. We would be more than happy to spend time with you outlining the options as we see them.
For an initial discussion contact us at email@example.com.
Back to Content