Thursday, 5 February 2015

3 Reasons to NOT move away from Excel Development


Following the feedback I received from the earlier article titled 3 Reasons to move away from Excel, it seemed necessary to talk about why it would make sense not to move away from an Excel-based solution. There are obvious reasons why you would create a solution within Excel, but this article discusses why you would stick with it in the medium to long term and furthermore what you need to plan for initially in order for it to be robust enough to deliver value in the long term.

Dynamic Environments

When requirements are ever-changing, when inputs can vary regularly and outputs needs to be highly configurable then Excel is still an excellent choice. Its weakness is, in this scenario, its strength. While using an application built in compiled code that sits on a relational database for the same scenario can add robustness and scalability, it is also slower than Excel in terms of change. There is a trade off and if the environment is very dynamic, Excel might be the most sensible choice.

Everybody is a coder

In certain environments where requirements require a very specific skill set and where the ability to learn basic programming skills is a complimentary mindset, it can make sense to have the users develop their own applications. A few of our clients are actuaries who are ideal candidates for that scenario. They can pickup VBA coding quickly, they obviously understand the requirements and in that scenario Excel can be the perfect platform. When a more permanent data store is not required and solutions are used for repeatable calculations, a non-trained programmer with all the business knowledge can be very beneficial.

Cheap today, could also be cheap tomorrow

Software licenses, database licenses, support contracts, servers, cloud platforms and development tools are all a necessity in a more structured development environment. There are costs on both side of the fence, it's simply a case of weighing up the costs on both sides along with the requirements as a whole. In the above scenarios actuaries are most definitely well equipped to build their own Excel-based solutions, but the costs of that salary needs to be taken into account.

Excel and Longevity

So, you have decided it makes sense to build or keep an existing solution in Excel, how do you ensure a return on your investment? We get called in fairly regularly to perform Excel System Audits and the primary reason for that is the solution is not performing as it once was (deteriorating performance or causing errors). Often that is combined with a team member having moved on and the solution is extremely difficult to take on for other team members. Managing code of any kind, even within an Excel application, is made infinitely easier if certain basic programming principles are adhered to and those principles can be relatively easily learnt with some initial training. An initial audit can reveal instances of non-optimal coding practises and potential problem areas along with how to correct them. Documentation is another big area that we find can make a difference. As tedious as it might be to create it makes a significant difference and should be absolutely essential. The true rewards of documentation are reaped when that team member moves on.


George Toursoulopoulos is a technology specialist and CEO at Synetec, one of the UK’s leading providers of bespoke software solutions.

Thursday, 8 January 2015

Case Study: Broker unlocks the value of their data with Exchange Web Services


Industry: Financial Services

Introduction: The organisation wanted to use the valuable information stored within Microsoft Exchange to help the sales team service their existing customers and develop new business. There was significant advantage to be gained by accessing email, calendar and contact information stored within Exchange and have it available to the appropriate team members in the right context

Challenges:
• The business had significant information available within Exchange such as emails that had been sent to or received from the client, appointments with client contacts and specific contact information and this information was only available through Outlook which made it time consuming to locate, if at all possible
• This Exchange based information needed to be reviewed in conjunction with the data stored in the client account management system, looking at all related information in one place made it far more powerful and effective
• The data needed to be near real-time without affecting the performance of Exchange, which had a significant amount of data

Objectives:
• The data from Exchange needed to be enriched with all available related information
• All relevant information pertaining to the client and all of their employees needed to be accessible from within 1 screen
• The information needed to be available near real-time
• The performance of the Exchange server needed to be unaffected
• Configurable rules should be applied to ensure that only relevant information was available and that confidential and unrelated information was excluded

Solution:
This broker partnered with Synetec in order to deliver functionality to enrich and make available information that has improved the performance of their sales team. The data from Exchange was accessed through the Exchange Web Services API and cross-referenced with the data available in other internal systems allowing enrichment of the data by building a relational model of the data.
Not only could the sales person view all relevant emails from and appointments with the client contact, but they could do so while also viewing their trade history, personal information, call information and company related information.

Benefits:
This system allowed the valuable data that was locked in Exchange to contribute to the success of the business as a whole. Initial indications are that sales have improved by more than 5% on the same period last year with the sales team attributing a portion of that increase to this system and the additional information at their fingertips.



George Toursoulopoulos is a technology specialist and Director at Synetec, one of the UK’s leading providers of software services and solutions.

Wednesday, 17 December 2014

Quick Technology Guide to Starting a Hedge Fund


While the initial TODO list might be staggering, this article attempts to address the technology components that need to be in place to ensure as smooth a launch as possible. Technological requirements will differ based on numerous factors, but what will not differ is that it is an essential element of achieving success.

Consultancy, Vendor Selection & Project Management

This may sound like a message from the Ministry of the Bleeding Obvious, but there is a fair amount to do in terms of vendor selection, product selection and managing the implementation of all these various elements. This translates to a large amount of time which will be significantly longer if the individual managing the process is not familiar with the current technological landscape. It pays to engage with an independent consultant that can assist in identifying the various requirements and then apply them to the current marketplace in terms of suitability of vendors and systems. There are of course the alternatives of either having a tech-savvy team member take responsibility for managing the process or engaging with a technology partner that is going to feature prominently in your overall technology environment and have them manage all elements of the process. Regardless of which option is selected the individual managing the process should have awareness of: different vendors and their offerings, different systems and possible suitability, nuances of integration with prime brokers and market data feeds and finally experience in co-ordinating everything to work in harmony.

Network Requirements and Infrastructure

The first port of call is to assess the infrastructure requirements, once they have been agreed key decisions such as cloud computing vs. on-premise solutions can be easily made. Certain elements such as data circuits and telephony need to be prioritised due to the length of time these usually take. Following on from these the relatively simple matter of workstations and other peripherals can be decided on. All of the above elements need to be brought together with delivery, installation and testing. Other items that should be addressed at this point are identifying who will host your email and ideally they can also host your website. Your domain name will need to be chosen and registered, the website requirements agreed and the website design company identified and engaged.

Software

The systems that are referred to include portfolio management, order management and accounting software. Due diligence of vendors here is essential and particularly the support capabilities of said vendor, not only that service desk hours match your operational requirements, but that also the appropriate level of service is available at an acceptable cost. Will the vendor be able to service you as a customer both today and in the future? How complex are the systems to integrate? What are their maintenance agreements like and what do they cover? How easy is it to use your preferred market data vendor with these systems? All questions that need to be considered.

 

Data & Research

This is impacted primarily by the nature of the required data and the requirements of the above mentioned software. This includes both market data and market research. Installation times can also vary greatly, so they need to be confirmed.

 

Integration

Possibly the trickiest part where all the software, data and processes needs to come together and be tested. Integration refers to not only the integration between the systems, but all data flow which encompasses the market data, prime broker data, etc...

Business Continuity and Disaster Recovery

These overlap a great deal, but are subtly different. While business continuity deals with the continuation of the mission-critical processes and how the business and its employees continue to operate, disaster recovery focuses on the infrastructure, both hardware and software, necessary to run the business e.g. phones, email and systems. Additionally, the value of having comprehensive procedures cannot be underestimated when it comes to attracting investment.

 

Avoiding Common Pitfalls

Rank requirements in terms of priorities and identify your nice-to-haves early, they will make a large difference in terms of choice. Costs, timings and effectively risk can quickly escalate when looking for the perfect solution.
Do not underestimate the impact of your systems and technology as a whole on attracting investment, this refers as much to infrastructure and software as it does to processes and procedures.
Managing IT effectively requires a specific skill set and an up to date understanding of the latest technologies, whilst many people within the finance sector will have the ability to perform this role to some level, their time is often better spent on the business as a whole. It's time consuming and there are service providers, consultants and contractors that can be leveraged, each of these suited to different requirements. Do you really want to spend days writing VBA code and nights rebooting servers?



George Toursoulopoulos is a technology specialist and Director at Synetec, one of the UK’s leading providers of bespoke software solutions.

Tuesday, 25 November 2014

3 Reasons to move away from Excel Development


A spreadsheet is the tool of choice for a business starting up and requiring a quick and flexible low-cost solution to meet a business requirement, however as a business becomes more mature its requirements are likely to change over time and the same advantages can become disadvantages. Below I give you the 3 main reasons to move away from excel spreadsheets, but in my conclusion I also give you a couple of key factors to consider before doing so, because in some instances Excel is still the best tool for the job.

Maintenance is a Mission

Excel macros and VBA code is often initially created by non-developers, usually intelligent and knowledgeable people, but not trained software developers which normally results in something being created that is not only difficult to change, but if it should break, extremely difficult (see expensive) to fix. Whomever coded it initially is most likely the only person who truly knows how it works and every subsequent change will serve to further complicate matters, especially if the changes are undertaken by different individuals every time.

Cheap today, expensive tomorrow

While you don't have software license fees, servers or cloud platforms to pay for you still need to factor in the maintenance costs of supporting the spreadsheet and the more code/macro heavy it is, the more expensive it is. The more ongoing changes that are required, the more expensive it gets. Who is making these changes? If it's not a member of your team then where can you get access to Excel developers for short periods of time on a short notice period and at a reasonable price? To make it viable for software companies, they have to charge accordingly, if they are willing to take it on at all. I have been contacted countless times by businesses urgently needing an Excel developer to fix a business critical spreadsheet. Factor in the new versions of Excel and how that can affect a macro/code heavy spreadsheet and the costs mount up quicker than you can say "here is my letter to Santa".

Security? Not so much

Data within these spreadsheets is often of a sensitive nature, but controlling security and access to this data is challenging. I have heard of many instances where former employees have emailed themselves spreadsheets with financial data or customer lists. This lack of security also impacts data integrity, who has made changes and to what? I have seen further instances of portfolio managers making investment decisions based upon incorrect data because another user made a change to a formula in a cell.

 

Conclusion

There are many scenarios where an Excel-based application is the ideal solution, it can add a great amount of flexibility, allowing a business to get something up and running in a very short period of time and usually for a low initial cost. The points above do illustrate that there are some situations where the cons will outweigh the pros and then it might be time to consider a move away to a more structured product. The great thing about making that move is that Excel is a fabulous prototyping tool allowing the gathering of all the essential business requirements by key users. So not all bad news!


George Toursoulopoulos is a technology specialist and Director at Synetec, one of the UK’s leading providers of bespoke software solutions.

Wednesday, 12 November 2014

Managing Software Quality


We all aim to build software with zero defects, but that can prove to be expensive, time consuming and next to impossible if the correct processes, checks and balances are not in place. This short article is to identify the key points in the process to focus on in order to help ensure that defects are manageable.


What Requirements?

They key points in this area is how they are gathered, documented, agreed and just as importantly communicated to the development team. This has a large impact on what the perceived quality of the software and whether it in fact 'delivers', but this has to be balanced with the required timelines. A typical example would be use cases, these for most software builds are essential. Use cases document what the users need from the system and how they will use the system, this in turn educates the developers (which mostly do not have direct contact with the sometimes high profile end users) and QA and in turn increases the changes of delivering software that is fit for purpose. Using a system to manage requirements (documenting, sharing, signing-off, etc..) for larger builds is also recommended, there are many off-the-shelf systems that cater for this. Find the time or risk these end users becoming irate when their requirements are not met.


Speed or Quality?

The amount of time pressure impacts the build quality...fact! Trying to get key features delivered might be more important to the business than how robust the system is in the short-term. That priority also might change over time and what is important is that the stakeholders are deciding what the focus should be on. Some type of systems have no room for defects and in those scenarios having the business putting severe time pressure on their development team will not produce the results they are after. The management of the development team need to be in regular open communication with the stakeholders in order to be singing off the same hymn sheet. This will in turn impact the choices of project methodology (Agile or Waterfall), the testing process and the list goes on and on.


Testing 1,2,3

QA needs to be tailored to the project, but the underlying theme is that if the developers and QA do not have accurate information on how the system features will be used, regardless of how much time and effort is spent, they will still most likely not deliver a polished system. Other key issues for me are environment and ensuring that the development and test environment mirror, as much as possible, the production environment. The final critical element of testing is the structure. The process of producing, consuming and scope of test plans, test cases and test reports should be agreed so that the process of testing is as efficient as possible, saving time and money that can be used in improving the quality of the product.

Measure

The final point that I want to make within the context of this article is to measure the defects within alpha and beta testing and also UAT. This allows a more objective and less emotional view to be taken on the actual quality of the software. Stats that I like seeing are release work items, issues reported and most importantly categories of any reported issues e.g. requirements related, environment related and delivery related. Keeping these stats over a few releases greatly improve the ability to manage the development life cycle. Interestingly we see the greatest impact on the stats to be lack of use case scenarios and this is true across project methodologies.



George Toursoulopoulos is a technology specialist and Director at Synetec, one of the UK’s leading providers of bespoke software solutions.

Thursday, 30 October 2014

2 Tips to Improving Information Productivity


Introduction

Information Productivity is an informal term that refers to how efficient we are at organising and storing our information, emails, documents and in fact any content that relates to our work and processes around our work. Many organisations have systems and formalised processes for these kind of activities, but they usually cater for the storing of information in its traditional forms of documents and some very linear processes, while not offering much in the way of how we share and collaborate in real life.

Sharing

This is by far the most common task that we need to perform with our organisation's information, and not all of it is easily catered for. Depending on your industry you could need to share with co-workers, suppliers, clients and sometimes the public and that is not so easily done. Email tends to be what most of us rely on for sharing, but it comes with many disadvantages, namely size restrictions on mailboxes, aggressive spam filters, receipt confirmation, missed emails and the worst of all... 'email time'. Coming back to your desk to countless emails is not something anyone looks forward to doing. Systems to allow the secure sharing of files will greatly increase productivity levels over a period of time, these range from the relatively simple to far more complicated and expensive alternatives. Bottom line is it should be very easy to securely share and collaborate on information without using email.

Collaboration

Sharing might be the most common task, but collaborating is the clear winner on taking the most time. The process of sending information to 1 or more recipients (see sharing), getting their feedback and then sifting through that feedback, giving feedback on the feedback, incorporating the appropriate feedback and then having every recipient eventually agree to the final form of the information accounts for an enormous amount of time. It doesn't end there, how painful is it then when months later one of the parties wants to question a specific point? How do you find who said what, when and why? For many individuals that accounts for a large part of their day to day responsibilities. There are not many systems that cater for this, but as a bare minimum multiple comments from multiple parties needs to be supported, along with an easy way to compare the comments/changes, accept certain changes and approve final 'versions'. Structured workflows are also not the answer for every eventuality, they might be ideal for some tasks e.g. processing of an invoice, but for day-to-day collaboration a far more fluid system is required.

 

Summary

There are some systems out there that facilitate sharing and collaborating, Synetec have their own, but the purpose of this article is not try and promote a particular system, merely to share what some  key areas are that if focused on could improve productivity. After all, who wants to spend their life reading emails?


George Toursoulopoulos is a technology specialist and Director at Synetec, one of the UK’s leading providers of bespoke software solutions.

Thursday, 23 October 2014

Case Study: Investment Manager Renovates Legacy System


Industry: Financial Services

Introduction: This Investment Manager was frustrated with an old legacy system they had in place, it was not aligned with their business processes and making changes to it in its current form was proving expensive and taking too much time. Team members were wasting time finding workarounds to reconcile the way the business was functioning in the present versus how it was in the past. They wanted a system that would be adaptable in the future, delivered for a reasonable price, within a guaranteed time frame and that wasn't going to impact other projects nor day-to-day operations.

Challenges:
• The business had progressed and the processes had been improved over time, but the old legacy system functionality was not reflecting that. This made the improvements less impactful and more costly to try and retrofit into the old way of doing things that the legacy system had been built around
• As the business was continuing to evolve any small changes that were needed to improve productivity and efficiency were costly, the business needed the system to be more responsive to new requirements going forward
• Many of the key business systems that were required for the business to function relied completely on a few people, which significantly increased the key-man dependency
• Naturally the amount of data had increased over time, but this had a negative impact on the performance of the old legacy system
• Technology that the legacy system was based upon was outdated which made support, maintenance and enhancement expensive and sometimes near impossible

Objectives:
• The project needed to be delivered in a guaranteed time frame in order to meet certain high profile business milestones
• The client had a perfectly capable development team in place, however with other projects and the responsibilities involved with day-to-day operations, they needed a short-term increase to their development capacity in order to get this project delivered, without increasing the head count in the long term
• New business functionality required and likely future requirements had to be quicker and cheaper to implement going forward
• Improve the stability and performance of the system
• Leverage the new functionality and capabilities of updated technologies
• Reduce key-man dependency through use of additional resources and improved documentation

Solution:
The Investment Manager partnered with Synetec in order to deliver a system that retained all the necessary features of the old legacy system while implementing enhancements that team members needed to improve productivity. Not using internal developers allowed the potential risks of systems development to be mitigated and ensured that their business as usual activities were not impacted. The agile renovated system is now far more adaptable to future requirements, which would prevent hesitation in potential process change and reduce expenses going forward.

Benefits:
Forecasts indicate that the maintenance of the system in the future should be reduced by an estimated 20%. The internal developers gained through knowledge transfer from the Synetec development team and are in a better position to incorporate best practises into other projects. System performance has improved by approximately 150% in some areas where users could search and manipulate large data sets, this has been attributed to the redesign of the underlying architecture and the improved performance of the current technology frameworks.

 “Through moving to recent Microsoft technologies we have not only improved performance of the system, but have access to new capabilities that will make delivery of future requirements far more cost effective. Mixing internal and near-sourced developers also proved extremely beneficial for business risk as well as knowledge transfer and I am sure those benefits will be reaped for a long time to come.”

 – Gregory, Technical Director


George Toursoulopoulos is a technology specialist and Director at Synetec, one of the UK’s leading providers of bespoke software solutions.