From 2007 to 2010, I led UI development at National Marketing Resources for a new LOB system that would digitize their entirely paper-based work processes. LINKS is an NMR IP which functions as a lead and contact management system managing NMR’s millions of leads. LINKS also served as an interface to the company’s phone systems, allowing each of our 500 marketers to efficiently manage hundreds of leads per day.
First and foremost my role was leading user interface development and design, creating the front-end of the LINKS system from the ground-up. Our team consisted of four business analysts and three developers including a middle-tier developer, a system architect, and myself. I spent much of my time working directly with our four business analysts to determine the most effective ways of addressing the various problems we were attempting to solve and figuring out how to best manage NMR’s complex workflows. I was responsible for designing and creating our front-end system functionality and verifying and testing it with the various departments in our organization.
My process for development typically began with workflow analysis with our BAs and interviewing or observing the various departments who would be using that particular feature. I then would draft concepts on paper and whiteboards followed by reviews from my team. Before development I would create and test a high-fidelity prototype in Visio. Since the marketing teams we worked with were very left-brained and typically spent little time reviewing the system outside scheduled meetings, our mockups were always required to incorporate realistic data and look as close as possible to the final coded solution.
In February 2010, I was asked to work with our financing team to replace their current workflow. To give an idea of the process they were working with, any time there were three methods by which they could get new financing leads to manage, one of which involved faxing a file over, which was then scanned by the processing department, emailed to the financing team, and generated a notification for the team members who then had to enter the data on a paper queue for the leads they were working. Needless to say, error rates were fairly high before our team’s involvement. After drafting up designs, I traveled to our office in Utah, and spent time observing their work processes. I then drafted and reviewed our proposed design through focus group testing. The financing queue solution greatly improved the team’s satisfaction with our system and raised their lead throughput by 750%.
Scoreboard is a stylized application I was tasked with developing which runs real-time on each sales floor, displaying live sales figures for all marketers. The system is also customizable from the client, enabling each sales floor to configure displayed statistics and modules independently. Today, Scoreboard runs live in four separate sales buildings, keeping marketers within NMR and its partner companies constantly alerted to sales as they occur. Scoreboard is based on LINKS’ framework, but includes its own XAML theming and control libraries and is built within a threaded environment, keeping sales figures updated asynchronously as they are retrieved.
LINKS is a five-tiered WPF/WCF application developed in a WPF Model-View-Presenter pattern. LINKS itself makes heavy use of new WPF features including complex data binding and liberal use of LINQ. I have developed full XAML theming, a library of custom controls, and developed the vast majority of LINKS’ interface as it stands today. My role also included usability testing, developing SQL reporting, implementing and designing WCF services, a multiple environment application deployment system, and accounting for the inevitable issues and improvements that continued to arise throughout the design and development process.
Due to the nature of NMR’s fast-paced work environment, our team also had to account for live system support. In order to manage this, my team had to ensure that if a problem arose, we could code and release a solution as soon as possible. We accommodated this by developing our application in WPF, which was brand new at the time, and I created a ClickOnce deployment system that could quickly build and deploy code releases across our three programming environments.