Let's Talk Software

Even if you're not looking for custom software development, we're happy to chat about agile processes, tech stacks, architecture, or help with your ideas. Enter your contact information below and a member of our team will contact you.


    Clients who trust us to deliver on their custom software needs.
    Tonal Logo
    Aquabyte Logo
    More Cashback Rewards Logo
    MasterControl Logo
    Little Passports Logo
    Mido Lotto Logo

    home

    CASE STUDY

    Mido Lotto Mobile Lottery Application

    Mido Lotto is a mobile app that enables lottery players to purchase tickets, check winning numbers and collect winnings.

    Mido Lotto Mobile Lottery Application

    Summary

    Mido Lotto is a technology company based in San Francisco, California building a “Lottery as a Service” cloud platform and seed funded by SherpaVentures and other Angel Investors. Mido Lotto has several internal software development resources, and prior to working with CodeStringers had several independent contractor developers in Eastern Europe.

    Technologies Used

    Engagement Model

    Industry

    Gaming

    “Much more than just another software development firm.”

    “The CodeStringers team easily rivals the quality of any Silicon Valley software engineering organization. Working with CodeStringers, our software quality improved, our development velocity increased, and our financial runway extended.”

    Greg Ovalle

    Chief Executive Officer

    Mido Lotto’s Product

    Mido was building a Lottery as a Service (LaaS) platform that includes mobile client and server software. The product is being brought to market as both a consumer-direct service as well as a platform that third-party service providers  –  primarily government agencies  –  use to digitize their lottery services. The product includes both iOS and Android client applications as well as cloud-based database, API and messaging services.

    Mido Lotto’s Needs

    Before CodeStringers, Mido Lotto had been developing their product for more than 18 months. They were working towards their first production release for live customers. The server functionality was 80 percent complete, and the iOS application functionality was 90 percent complete. Development of the Android and web applications had been recently initiated.

    Mido Lotto, like most technology startups, wanted to increase the pace of their product development while reducing their cost. And, like most startups, the idea of working with an outsourcing partner was appealing financially but daunting operationally. Their goal was to augment their development organization with contracted resources to act as a seamless extension of their team. Finding the right partner was paramount to establishing product-market fit, growing their user base and obtaining their series A financing. The client had specific needs in several areas of their organization.

    #1 – Port iOS Application to Android

    Mido Lotto’s iOS team had a year-long head start when the company decided to add an Android application. They initially hired several independent contractors in Eastern Europe but quickly found they didn’t work well as a team. Furthermore, those developers did not take ownership for the product such that quality suffered.

    Additionally, the app was initially architected without a persistent data storage framework. In laymen’s terms, this means that when the app is shut down, all data is deleted from the application. Each time the application is used, data must be downloaded from the server to the device again. This architecture creates latency; overuses data; decreases battery life; and prevents functioning without connectivity. Mido Lotto’s objectives were to:

    1. Develop the Android application to feature parity with iOS prior to commercial launch.
    2. Architect the application for high performance and ensure that the app design and code quality created. extensibility for future feature
    3. Increase the quality of the application to achieve a launch-ready.

    #2 – Increase Product Quality

    Mido Lotto engaged CodeStringers to take holistic responsibility for quality assurance and control, including manual testing and test automation. CodeStringers built a team, including a surrogate Quality Assurance Manager, for Mido Lotto, assigning one engineer each to the iOS, Android and Web development teams to participate as a Scrum Team Member, and one engineer to work on test automation. Mido Lotto’s objectives were to:

    1. Establish a quality assurance function within the company and integrate quality control processes and standards into their Agile development process.
    2. Evaluate the quality of the iOS application to determine the remaining number of sprints to fix defects. This was in additional to finishing remaining minimum viable features in the backlog.
    3. Automate test cases to reduce required time per development sprint for regression.

    #3 – Improve Product Planning and Agile Execution

    Mido Lotto was moving quickly and, like most startups, was under-resourced. The impact was that the product owner and scrum master roles were being performed by already-overcommitted executives. This had a number of manifestations including estimating stories based only on developer tasks (no quality tasks), absence of story definitions of done, story definitions stating “see the requirements document”, and product backlogs that included only the next sprint’s stories such that the team had no visibility into their milestone/release burndown. Mido Lotto’s objectives were:

    1. Improve scrum execution. This included release and sprint planning, story definition and estimation and integration of quality assurance into development teams.
    2. Implement a new issue and agile management tool (Jira) and operationalize a new workflow.

    What CodeStringers Delivered

    Mido Lotto initially engaged CodeStringers for three months. They originally wanted to add five development and QA resources as an extension of their internal team. However, based on CodeStringers delivery in the first two months, Mido Lotto extended the relationship for 12 months. Moreover, initially Mido Lotto engaged CodeStringers purely to augment resources for internally managed teams. Since that time, CodeStringers has assumed full responsibility for Android development and Quality Assurance. Mido Lotto is now growing their R&D organization with CodeStringers personnel as seamless extension of their staff.

    “CodeStringers raised our internal quality bar.”

    “Tangibly, CodeStringers provided Mido Lotto with a team of software development, quality assurance, requirements analysis, and project management personnel at a lower cost than internal resources. Intangibly, CodeStringers acted as a seamless extension of our company and provided deep agile development methodology expertise that improved our entire organization’s productivity and efficiency. CodeStringers raised the bar for our company holistically.”

    Darryl Weatherspoon

    Vice President of Engineering

    CodeStringers provided Mido Lotto with dedicated teams for Android development and Quality Assurance. Furthermore, we provided resource augmentation for iOS and backend development. In all, resources from CodeStringers doubled Mido’s company size and quadrupled the size of the product development organization.

    The CodeStringers team had full responsibility for Android client development and full responsibility for quality assurance. This included both automation and manual testing. Additionally, CodeStringers provided iOS developers and a requirements analyst to assist with user story definition and use case clarification. We also provided a project manager/scrum master for Android development.

    Mido Lotto Quality Assurance Improvements

    Within the first three months of the engagement, our Quality Assurance team implemented:

    1. A test case management system to replace spreadsheets.
    2. A test automation framework and automation tools that expanded the list of test cases by 350 percent. It included step-by-step instructions and expected results for all test cases.

    We had dedicated testers assigned to each development project. We also had an engineer automate test cases at a rate of seven percent of total test cases per sprint

    Mido Lotto Mobile Engineering Services

    The Android team reviewed the code base developed by the former outsourcing team that preceded CodeStringers. We soon realized that the application lacked persistent data storage and backend service synchronization. Thus, it was acting as a thin client application connecting to a server. This impeded usability and it risked mid-transaction data loss in the event of a connectivity disruption. Additionally the quality of the code beneath the presentation layer of the application was poorly designed. The team spent two sprints refactoring code and implementing a persistent data storage and sync framework. They then developed the features needed to bring the Android application to a level of parity with the iOS version.

    Upon completing a full regression test, the team identified defects that resulted from the lack of a definition of done. The iOS team then executed dedicated sprints to improve the quality of the existing feature set before developing additional stories.

    Consulting to Improve Agile Execution

    As a value-add, CodeStringers also provided consulting to help Mido Lotto improve their Scrum development process. As a result, Mido Lotto has implemented several process improvements. They now use three week sprints across all projects. Furthermore, they complete estimations based on a firm definition-of-done. They consequently are now more efficiently producing higher quality products. CodeStringers has also assisted Mido Lotto with developing a release plan for their alpha, beta and commercial releases. The new plans ensure that all teams are executing against a common and realistic set of measurable product objectives.

    Scroll to Top