Case Study for Dedicated Development Team

Tool for managing spread betting, CFD and Forex trading account

Customer

The customer is one of the leading providers of contracts for difference, FX and spread betting leading in spread betting and CFD trading. The customer transacts around 2 million trades every month for individuals in over 50 countries worldwide.

Objective

The customer looked for experienced iPhone/iPad developers to join their distributed team and assist them in further implementation of a native iOS spread betting and CFD trading application. The challenge was to take up a very vague scheme of the future application and follow the development plan providing quality services. The solution was to meet the industry requirements of speedy data processing and performance as well as strict standards ensuring security of trading deals and transactions.

Solution

Our dev team has been delivering the app for iPad and iPhone platforms providing the main app code as well as an array of new additional functionalities for trading, animation and a handy feature which allows, due to LightStream messaging, to refresh the data automatically without manual pushes. The application was also tuned to work efficiently in the environment of the latest iOS versions.

The dev team has been developing, enhancing and supporting the following functionality in the application:

  • Instant checking of the latest prices and market movements
  • Opening and closing positions
  • Comprehensive live streaming charting package allowing to analyse historical data and identify price patterns and trends, with historical and live streaming prices
  • Publishing of the latest global investment news from Reuters News
  • Setting of stop and limit orders including if done and OCO (one cancels other)
  • Creation of new or amending of existing orders
  • Viewing of pending, completed and cancelled orders
  • Monitoring of positions using a unique positions chart
  • Receiving push notifications on price changes for specific markets
  • Viewing and amending of multiple Watch Lists
  • Reviewing of trade and order history
  • Signing in via Touch ID
  • Trying out the application without signing up
  • Managing trading account

One of the most critical features in the application is its security since it deals with access to CFD trading account information and transactions. In the project SCRUM methodology is broadly used, and the whole team is geographically very distributed, based in UK, US, Eastern Europe. SCRUM master is on the client's side and he communicates directly with team members. Project progress, requirements, activities and bugs/changes tracking and management are run via the customer's internal custom system.

Results

The dedicated team of iOS & QA specialists is successfully operating in the customer's international team and is bringing value to the project with competency and innovative approach helping the product stay on top among the competitors - the solution covers significant amounts of digital trading deals: up to 26 000 from an iPhone and 5 000 from an iPad version per week (according to Google analytics currently we have about 10 000 trades from iPhone and 1500 trades from iPad daily), - and hopefully continuing winning awards like in the short past: the Money AM 'Best Mobile Trading Platform', Financial Times and Investors Chronicle Award for 'Innovation of the Year (Mobile)', the Shares Magazine 'Best Online Trading Application' Award.

Technologies and tools

iOS 8-10, CocoaPods, Fastlane, Git flow, TeamCity, TestFlight, HockeyApp, Unit tests, Xamarin UI tests, CoreGraphic, Lightstreamer, Widgets, Push Notifications, Touch ID, OCLint analysis tool

Retail industry solutions

Customer

The Scandinavian-Baltic group of companies, one of the leaders in producing retail solutions. They specialize in development of a wide spectrum of hardware including but not limited to cash registers, digital weights, bar code scanners, digital money boxes, self-checkout register complexes, vending machines, as well as development of software that combines all devices in a store into unified collaborating complex. The company is listed on the Oslo Stock Exchange.

Team & Cooperation Approach

The cooperation story started with the POS-system project where Altabel Group assisted with skilled C/C++ developers to help the customer extending the functionality upon their clients' requests as well as supporting the complex legacy system. After 6 months of working closely with the customer, Altabel Group has been entrusted to be involved into more projects, this time from another department. Within the next half a year 5 senior .NET/Javascript developers were assigned to a set of .NET projects. Today the team is successfully performing its roles being engaged in the majority of the projects and dealing with both the Baltic in-house team and architects and PMs from the Nordic offices.

Team & Model: 5 .NET specialists as a core Dedicated Development Team; Time-and-Material basis for 2 C/C++ specialists, QA automation specialist, designer.

CashGuard

Objective

To create a stores management complex that allows stores chain employees to configure and monitor the status of the automated tills cash boxes and coin receivers across multiple stores and multiple locations. The complex should track safes currency levels to help managers predict when the collection of currency will be required, how many notes can be expedited away to a bank and reduce costs attached to the encashment trips.

Performance and load requirements specified up to 10.000 stores total, ordinarily 20 machines per store that forecast to create on average 100.000 financial transactions per day. Common daily operations like replenishment or collection of notes or coins should start within 3 seconds.The web part of the complex should work in a load balanced environment.

Solution

The Complex consists of a number of services and applications, among which there are services rolled out in every store that monitor store machines and react to their status changes; the web application is accessible via internet and its back end services that enable cross-store management and data aggregation.

The web application allows multi-tier access for managers and cashiers of store as well as chain level managers or even executive managers who are able to view all company stores. All employees are using the same application to perform their duties and monitor health and performance of currency machines updated in real time, levels of safes; see reports, like store end of day cash levels. It was created using Single Page Application approach to reduce server roundtrips and uses SignalR to display real-time data changes.

As long as requirements specify quite large amounts of data to be processed daily, especially for transactions - to mitigate the risks of delays or bad responsiveness - microservice architecture was chosen for the web back end services. Each microservice is responsible for its specific operations domain and loosely coupled with others by utilizing caching of dependent data, asynchronous notifications and data pumps using message queue.

Technologies and Tools

For server side and in-store services: Microservices architecture, .Net 4.6, Sql Server 2014, Entity Framework, Rabbit MQ, In-House code generator by RAML specifications, TypeScript, NodeJS, Grunt, SignalR, OAuth, Windows Services, WebApi backed RESTful APIs, SoapUI, .Net Async Operations, SQLite, Unity IoC, Serilog, IdentityServer3

For client side: Typescript, Angular 2 single page application, Bootstrap, Inspinia responsive UI, Gulp, SignalR

Vensafe

Objective

To develop and support automated sales solutions for FMCG items (cigarettes, tickets, batteries, some medicines, etc) which are usually prone to theft.

Solution

The project is for the Norwegian technology company (from the Scandinavia-Baltic group of retail solutions leading companies) specializing in supply of automated sales solutions for FMCG items. They provide efficient store operations, reduce losses and theft and help to reduce binding up capital in a number of high value products. There's possibility of integration with POS systems. The solution features dispensers, touch screens and product cards.

The hardware and software are designed to make it as easy as possible for the consumers to do their shopping, and optimal logistics for the stores. The sales system is very safe because every transaction and event in the dispenser is logged. This applies for both sales and physical events with the dispenser such as filling of products and opening of the door, etc. Every product that is sold can be traced back to a cash register and time of sale and extradition. Back-up and reports can easily be printed out. The number of products left after every ejection is displayed in an overview on the screen.

The team was engaged in the development of the following modules: ServiceWeb which includes the development of layouts, ejector setup, restart utilities (partially), tasks to DB update, kiosks/POD overview as well as bug fixing (price update and product availability); and POD which includes the development of refill interface.

Technologies and Tools

.NET, C#, Entity Framework, Angular 2, TypeScript, WPF, MS SQL, ASP.NET, SASS, XAML

Store Manager

Objective

To develop and support the Store Manager software that automates cash handling, thus saves both time and money.

Solution

The software allows simultaneous management of several checkouts. This gives a cash manager or a store manager complete picture of the operation's cash flow situation and opportunity to actively control the cash flow according to specific needs. The software integrates seamlessly into the business and increases employee safety by avoiding unnecessary high levels of cash. Store Manager Local and Central can be used for running at one shop floor and at any number of them respectively.

The team was responsible for the development of a mobile interface which allows to see the operations that are usually performed by the stuff can be launched from the tablet/mobile phone right at the shop floor (Store Manager Local) and the web part of the product: views and controls on Angular (Store Manager Central). Also the team was responsible for Windows Service and Reporting with configuration and scheduling, saved in XML format.

Technologies and Tools

ASP.NET MVC, JQuery, Angular, Typescript

Population Alerting Systems

Customer

Norwegian technology company with international operations, an industry leader within the area of critical communication and population alerting systems. The client specializes in creating of solutions for citizen communication and public warning for people's security, convenience and welfare, being a pioneer in the development of advanced systems for critical messages and having many unique patents known in the industry for their technological and lifesaving capabilities.

Objective

To support the current project and extend the system's functionalities. The product should be able to notify people about disasters, both natural and manmade, to help to react quickly in affected areas and avoid potential threats through various communication channels, as Voice, SMS, Location based SMS, Email, Fax, Facebook, Twitter, etc.

Team & Cooperation Approach

The customer was looking for an innovative and initiative highly skilled Java Engineer with experience in Ember JS (which was quite a rare framework for Java specialists). In addition to their development center in India the customer was also searching out a reliable partner in Eastern Europe, a well-known location for strong IT specialists along with affordable prices.

The selection process was quite tough, as the client wanted to see only comprehensively advanced specialists on their project. Upon CV review by the customer candidates are supposed to pass a set of tests: mathematical and logic test, programming questions and a short test task on Java. In case a candidate qualifies well, technical interviews with the Product Owner and the Team Lead follow. For our candidature the interviews passed successfully, and the developer joined the project.

On verifying Altabel's technical competency and business flexibility, the client decided on extension of the team. A couple of other skilled Full-stack Java specialists were added to the team down the road. Later, to strengthen the customer's internal team even more, one of our engineers was reassigned from the external team to the internal team who had not had any experience of working with remote specialists before.

The cooperation between our companies has been successfully lasting for more than three years. Periodically in case of skilled resources shortage, the client requests additional hands power from Altabel Group. Team and model: DDT, 3-6 Senior full-stack JAVA developers.

Solution

The product stack includes several solutions:

  • Population Alert solution - a multi-channel, scalable platform that can be used by one or several disaster management agencies affiliated with governing bodies or by private entities (university campuses, football stadiums, shopping malls, etc) to mitigate disaster risk by timely dissemination of accurate information which helps people react quickly in affected areas and avoid potential threats;
  • Emergency Preparedness suite - a web-based software modules for managing the incident life-cycle including planning for, responding to and recovery from all hazards incident and events;
  • SMS Lifesaver App - a mobile app, that makes it possible for volunteer lifesavers located near a sudden cardiac arrest to be notified, etc.

Technologies and tools

Oracle Java SE version 8, Ember JS