In late 2018 the company I work for acquired a machine learning company focused on financial tracking. The company brought with it a custom model and API.
I was tasked with the Development Manager role for a new team to build out a web application for data scientist users to interface with the model.
The Machine Learning User Interface application has since been built and integrated with a cyber-fraud risk management financial technology application for data scientists to analyze financial patterns for fraud.

The photographs here are from a day hike to Brasstown Bald, the tallest mountain in the state of Georgia in the USA.
Our development team from across the USA was having an architectural planning session in Alpharetta, GA. To beat the doldrums of the conference room, we all loaded up in my minivan for a half day outing on Thursday afternoon.
Here is the outline we followed to built and deploy a greenfield Machine Learning User Interface application in less than two years.
The People
Hiring is the primary difference between quality software teams and lower performing teams.
You can hire good team members with competitive salaries, you don’t have to beat out every large tech company on compensation.
You can make mistakes in process, planning, and execution, and then rally to success.
You cannot assemble a bad team and find good success.

We built one software development scrum team for this project, a team comprising of three developers, two quality assurance engineers, and myself as scrum master and project manager.
Our hiring process for developers consisted of a 30 minute screening call with me, then a 2 hour technical screening call with multiple technical staff, and finally a 30 minute call with the C-suite sponsor for the project and me.
Our 2 hour screening call involved in-depth discussion of previous career work, 2-4 small code tests, and opportunities for the candidate to ask questions and discuss technical philosophy.
Our quality assurance team members transferred internally to our team.
The Planning
None of our team members had any experience with Machine Learning in a production environment, so our planning sessions were long and in depth.
Our team collaborated with our colleagues in New England for a week long in-person planning session with our Machine Learning subject matter experts and user interface design team.
Performance and the handling of large data involved with model configurations and responses were the challenging topics for planning and design. Ultimately, we designed a queue system to allow data scientists to execute and manage asynchronous calls with large amounts to the model.
Within a few weeks of our initial planning session we had wireframes, workflows, and design guidelines to work with.

Our team then followed our internal Agile Scrum process and decomposed the final application design into Epics. We further broke those Epics down into Stories, then met with the subject matter experts to groom and plan the Stories for development.
Our architectural planning session in Alpharetta, GA finished off our initial planning, and the the team set off to build the application with a unified technical vision.
The Process
Our team continued to follow our internal Agile Scrum process by executing two weeks sprints dedicated to completing as many stories as the team could commit to.
Our quality assurance team approved each story within each sprint before we could send it to our subject matter experts and design team for final approval.
The application soon took shape, and our backlog of tasks grew as our subject matter experts and design team provided iterative feedback.