Wisconsin Crop Improvement Association (WCIA)

Streamlining Complex Business Rules with an Online Workflow & Increased Automation

The Wisconsin Crop Improvement Association (WCIA) is responsible for seed certification throughout Wisconsin by providing third party inspection, interviewing, and seed testing services. Founded in 1901 as a not-for-profit corporation through the efforts of University of Wisconsin (UW) Madison faculty, WCIA continues to collaborate in both the public and private sectors throughout cultivar development, evaluation, and commercialization.

Technologies Used:
Laravel React

When the Wisconsin Crop Improvement Association (WCIA) approached us for help to replace the outdated and increasingly malfunctioning FoxPro for DOS™ program, Pushing7 knocked it out of the park. WCIA wanted a web-based tool that would meet a variety of goals, including:

  • Unify their workflow to do away with unnecessary data entry by staff.
  • Speed up the process of receiving data from field inspectors.
  • Automate complicated test calculations.
  • Validate data submitted by both staff and clients.
  • Calculate complex testing and certification fees.
  • Email test reports and invoices to clients.
  • Create powerful summary reports.

Challenges & Requirements:

The following challenges and requirements are highlights and represent but a small percentage of those included in this project.

  1. Challenge: Clients were submitting inspection applications either on paper, which then needed to be input by staff, or they used a system that allowed missing/erroneous data to be entered. In both cases, staff had to spend time contacting clients to get complete/correct information.
    Requirement: Ensure data input by clients are complete and correct, including comparing against previous years’ data for consistency. Allow clients to review and edit data submitted as well as track progress of WCIA’s process.
  2. Challenge: When assigning seed fields to inspectors, stacks and stacks of paper had to be sorted and organized to ensure all fields were assigned and divided evenly between inspectors.
    Requirement: Create a more streamlined process based on paperless reporting.
  3. Challenge: Inspectors filled out field inspections on three-part forms, which were often incomplete or difficult to read and not submitted to WCIA in a timely manner. This data then had to be input by staff, sometimes requiring calls to the inspector. After this, reports were physically mailed to the client.
    Requirement: Create an Android app to capture the data, validate it, and submit it directly into the system on a daily basis. Allow staff to confirm inspection data, update field inspection records automatically, and provide client access to reports via email and on the website.
  4. Challenge: Labeling seed test samples, entering data, and sending analysis reports to clients required a significant amount of manual labor.
    Requirement: After entering sample data and tests, output labels for testing. Streamline calculation of values and minimize the necessity for custom text entry on individual reports. Email reports to clients and allow access to all test data on the website.
  5. Challenge: There were significant variances in how test prices were calculated depending on the type of seed being tested, who the client was, etc.
    Requirement: Incorporate all of these variances into the system so all calculations can be done without staff involvement.
  6. Challenge: Staff spent a significant amount of time tracking the content of one lot of seed to ensure everything zeroed out over the course of three or five years.
    Requirement: Automate tracking of this data and warn staff when there are discrepancies.
  7. Challenge: It was necessary for staff to refer to records by data, such as “2104” being the ID for XYZ Seeds.
    Requirement: Make all lookups user-friendly so that staff can search for any portion of an organization, variety, species, name, etc., and the system will store the correct lookup value in the record.

Solutions

Needs Analysis

Our job is to understand the job of the client (at least as far as the data is concerned) as well as the client does—one can only program a solution when one understands the job. So, Pushing7 spent time meeting with WCIA staff and learning their program standards and processes to better understand their industry and outline their business rules. We asked the “always and never” questions: “Does it ALWAYS happen this way? Does ANYTHING else happen, EVER?”

Proposals and Estimates

We summarized all of the business rules, and then proposed a customized system that would follow those rules. This process resulted in a mid-level programming plan, which the client could use as a request for proposal (RFP) and get estimates from other developers if they wished. This approach is transparent and allows the client to get apples-to-apples quotes from multiple vendors without having to go through the needs analysis process with each developer, or assume all developers do a complete thorough job of needs analysis (hint: they don’t). WCIA hired us directly without getting estimates from other firms.

Each subsystem had time and cost estimates attached, with some extra time added for the unexpected. This allowed the client to prioritize which pieces they wanted. Other pieces could be done later as cash flow allowed, or could be left undone if the level of importance was deemed lower than originally planned.

Getting it Done

Pushing7 practices an iterative approach to creating systems: create one piece, test it, create the next, test both, etc. When enough has been created, we review the work product with the client and let them test. This gives us an opportunity to identify what may not have been captured perfectly/completely during needs analysis and refine it. It also allows us to avoid creating a system where imperfections multiply and create system-wide problems. We stay in regular communication with clients, so they have an idea of where development is and when it will be completed.

The system was built using open source libraries including Laravel, React, Babel, Leaflet, and Blueprint.

After the initial phase of the program was completed, Pushing7 continued to develop new systems, as WCIA wished to add more automation to their processes.

Branching out

The program was so well received in Wisconsin that similar agencies in Nebraska, South Dakota, and Montana clamored to use it. Learn more about that here.